(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!

    

Unity製のAndroidアプリ内で、レビュー依頼を表示する方法【Unity】【Android】


このエントリーをはてなブックマークに追加


この記事でのバージョン
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には「割り当て上限」という物があり、

何度もレビュー依頼を表示していると表示されなくなってしまいます。

なのでテスト時は割り当て上限が適用されない内部テストトラックや内部アプリ共有をオススメします。

アプリが内部テストトラックからダウンロードされた場合、割り当て上限は適用されません。



参考