この記事でのバージョン
Unity 2021.3.11f1
はじめに
今回はUnityで作ったAndroidアプリ内で、レビュー依頼を表示する方法の紹介です!
ちなみにiOS用の記事も以前に書いていたりします。
Unity製のAndroidアプリ内で、レビュー依頼を表示する方法
まず以下のページからunitypackageをダウンロードしてきます。
ダウンロードしたunitypackageをプロジェクトにドラック&ドロップして、
全てにチェックを入れてimportすれば準備完了。
あとは以下のようなプログラムを
using Google.Play.Review;
//レビュー依頼を表示 private IEnumerator ShowReviewCoroutine(){ var reviewManager = new ReviewManager(); var requestFlowOperation = reviewManager.RequestReviewFlow(); yield return requestFlowOperation; if (requestFlowOperation.Error != ReviewErrorCode.NoError){// エラーの場合はここで止まる Debug.LogError($"レビュー依頼エラー {requestFlowOperation.Error}"); yield break; } var playReviewInfo = requestFlowOperation.GetResult(); var launchFlowOperation = reviewManager.LaunchReviewFlow(playReviewInfo); yield return launchFlowOperation; if (launchFlowOperation.Error != ReviewErrorCode.NoError){// エラーの場合はここで止まる Debug.LogError($"レビュー依頼エラー {requestFlowOperation.Error}"); yield break; } }
MonobehaviourのクラスからStartCoroutineを使って実行すればレビュー依頼が表示されます。
(※Unity上ではなくAndroid実機で実行する必要があります。)
StartCoroutine(ShowReviewCoroutine());
なお上記のコードはAndroid用なので、
iOSと両対応する場合はUNITY_ANDROID等を使って処理を分ける必要があります。
#if UNITY_IOS //iOS用 using UnityEngine.iOS; #elif UNITY_ANDROID //Android用 using Google.Play.Review; #endif
#if UNITY_IOS //iOS用 Device.RequestStoreReview(); #elif UNITY_ANDROID //Android用 StartCoroutine(ShowReviewCoroutine()); #endif
ちなみにAndroidには「割り当て上限」という物があり、
何度もレビュー依頼を表示していると表示されなくなってしまいます。
なのでテスト時は割り当て上限が適用されない内部テストトラックや内部アプリ共有をオススメします。
アプリが内部テストトラックからダウンロードされた場合、割り当て上限は適用されません。
参考