Unity에서 구글 플레이 스토어의 별점과 리뷰 요청 기능 구현하기

Unity에서 구글 플레이 스토어의 별점과 리뷰 요청 기능을 구현하기 위해 Google Play In-App Review API를 사용합니다. 게임 내 에서 자연스럽게 요청 팝업을 노출시킬 수 있습니다. 아래에 기능구현 방법에 대해 설명하겠습니다.


Unity 구글 플레이 스토어의 별점과 리뷰 요청 기능 구현 방법

1. 패키지 추가

Google Play In-App Review API를 사용하려면 Google Play Core Library가 필요합니다. Unity에서 Google Play Core Library는 Google.Play.Review 패키지로 제공됩니다. 아래 구글API주소에서 com.google.play.review 패키지를 다운받아 설치 합니다.

https://developers.google.com/unity/packages?hl=ko#google_play

Play 인앱 리뷰기능



2. 코드 작성

구글 인앱 리뷰 요청 기능을 구현하는 코드는 간단하게 작성할 수 있습니다. 예를 들어, 게임을 일정 횟수 이상 플레이하거나 특정 조건을 만족했을 때 별점 요청을 나타낼 수 있습니다.

아래는 별점 요청을 트리거하는 스크립트 예제입니다.


using UnityEngine; using Google.Play.Review; using System.Collections; public class RatingRequestManager : MonoBehaviour { private ReviewManager _reviewManager; private PlayReviewInfo _playReviewInfo; private void Start() { _reviewManager = new ReviewManager(); } public void RequestReview() { StartCoroutine(RequestReviewFlow()); } private IEnumerator RequestReviewFlow() { var requestFlowOperation = _reviewManager.RequestReviewFlow(); yield return requestFlowOperation; if (requestFlowOperation.Error != ReviewErrorCode.NoError) { Debug.LogError("In-App Review failed: " + requestFlowOperation.Error.ToString()); yield break; } _playReviewInfo = requestFlowOperation.GetResult(); var launchFlowOperation = _reviewManager.LaunchReviewFlow(_playReviewInfo); yield return launchFlowOperation; if (launchFlowOperation.Error != ReviewErrorCode.NoError) { Debug.LogError("Launching Review failed: " + launchFlowOperation.Error.ToString()); } else { Debug.Log("In-App Review launched successfully."); } } }


3. 별점 요청 조건 설정

게임 내에서 별점 요청을 언제 표시할지 조건을 정해야 합니다. 예를 들어, 특정 레벨을 클리어하거나 일정 시간 이상 게임을 플레이했을 때 RequestReview() 메서드를 호출하여 별점 요청을 표시할 수 있습니다.



4. 주의사항

  • 이 API는 일정 조건을 충족할 때 한 번만 호출하는 것이 좋습니다. 너무 자주 호출할 경우 사용자가 부정적인 경험을 느낄 수 있습니다.
  • 별점 요청은 Google Play에서 자체적으로 제어되며, 요청이 표시되지 않을 수도 있습니다. Google은 사용자의 경험을 고려하여 최적의 타이밍에 요청을 표시합니다.





빌드할 때 주의점

Google In-App Review API를 사용하여 별점 요청 기능을 추가한 Unity 프로젝트를 빌드할 때 몇 가지 주의할 사항이 있습니다. 아래는 안정적인 빌드를 위해 참고할 수 있는 주의사항입니다.

1. Google Play Core 라이브러리 호환성

  • 최신 버전 사용: Google Play Core Library를 최신 버전으로 유지하세요. 업데이트된 라이브러리는 종종 오류 수정과 Android 버전 간 호환성 개선을 포함합니다.
  • 다른 구글 SDK와의 충돌: Google Play Core Library를 사용하는 다른 SDK가 프로젝트에 포함되어 있다면 버전 충돌이 발생할 수 있습니다. Google Play Services Resolver를 사용하여 라이브러리 종속성을 자동으로 관리하거나, Gradle 설정에서 force=true를 통해 특정 버전을 강제로 사용하도록 설정할 수 있습니다.

2. minSdkVersiontargetSdkVersion 확인

  • Google Play In-App Review API는 최소 Android SDK 버전을 API 21 (Android 5.0 Lollipop) 이상으로 설정해야 합니다. minSdkVersion이 21 미만이면 오류가 발생할 수 있습니다.
  • targetSdkVersion을 최신 버전(Android 13 이상)으로 설정하여 Play 스토어 정책을 충족하도록 해야 합니다. Google Play는 최신 Android 버전 호환성을 권장하며, targetSdkVersion이 낮으면 앱 검토에서 문제가 될 수 있습니다.

3. Gradle 설정 최적화

  • gradle.properties 파일에서 android.useAndroidX=trueandroid.enableJetifier=true를 설정하여 AndroidX 지원을 활성화하세요. 최신 SDK는 AndroidX 라이브러리에 의존하는 경우가 많아 이를 활성화하지 않으면 빌드 에러가 발생할 수 있습니다.
  • Proguard 설정: Proguard나 R8를 사용하는 경우 proguard-rules.pro 파일에 Google Play Core Library 관련 설정을 추가하여 코드 최적화 과정에서 필요한 클래스가 제거되지 않도록 해야 합니다. 예시로는 아래와 같은 설정을 추가할 수 있습니다.
proguard

-keep class com.google.android.play.core.** { *; } -keepclassmembers class * { @com.google.android.play.core.tasks.OnCompleteListener <fields>; }

4. Play Review API 초기화 확인

  • API를 초기화하는 코드가 메인 스레드에서 비동기로 실행되도록 해야 합니다. 너무 이른 시점에 호출하면 API가 완전히 초기화되지 않아 예외가 발생할 수 있습니다. RequestReview() 메서드를 적절한 시점에 호출하도록 하세요.

5. 릴리스 빌드 모드에서 테스트

  • Google Play의 별점 요청은 테스트 모드에서 제대로 작동하지 않을 수 있으므로, 실제 사용자 환경을 시뮬레이션하려면 Internal Testing 트랙이나 Closed Testing 트랙을 사용해 Play Console에서 테스트하는 것이 좋습니다.
  • 디버그 빌드에서는 동작하지 않음: Google Play In-App Review는 디버그 빌드에서는 제한될 수 있습니다. 반드시 릴리스 모드 빌드에서 테스트하여 정상 작동을 확인하세요.

6. 프로덕션 배포 전 테스트

  • In-App Review API는 Google Play 스토어에서만 작동하기 때문에, 실제 앱 스토어에 배포되지 않으면 동작하지 않습니다. 출시 전 베타 테스트로 기능을 점검해 보는 것이 중요합니다.

7. 기타 네트워크 연결 확인

  • In-App Review는 네트워크 연결이 필요한 기능이므로, 네트워크 상태가 불안정할 경우 오류가 발생할 수 있습니다. 이런 경우에는 별점 요청이 실패하더라도 오류 메시지를 사용자에게 노출하지 않도록 조치하는 것이 좋습니다.

댓글 쓰기

0 댓글