このガイドでは、Unity を使用してアプリにアプリ内レビューを統合する方法について説明します。Kotlin または Java を使用している場合とネイティブ コードを使用している場合は、個別の統合ガイドを参照してください。
Unity SDK の概要
Play In-app Review API は、Play Core SDK ファミリーの一部です。Unity 向けの API には ReviewManager
クラスが用意されており、RequestReviewFlow
メソッドと LaunchReviewFlow
メソッドを使用してフローをリクエストおよび起動できます。リクエストの実行後、アプリは ReviewErrorCode
を使用してリクエストのステータスを確認できます。
開発環境をセットアップする
開発環境を設定するには、Play Core Library ガイドの Unity のセクションに記載されている設定手順を実施します。
ReviewManager を作成する
アプリと API 間の通信を処理する ReviewManager
のインスタンスを作成します。
// Create instance of ReviewManager
private ReviewManager _reviewManager;
// ...
_reviewManager = new ReviewManager();
ReviewInfo オブジェクトをリクエストする
アプリ内レビューをリクエストするタイミングのガイダンスに従って、アプリのユーザーフロー内でユーザーにレビューを求める適切なポイント(たとえば、ゲームの特定のレベルの終了時に表示される概要画面をユーザーが閉じた後)を決定します。アプリがいずれかのポイントに近づいたら、ReviewManager
インスタンスを使用して非同期オペレーションを作成します。次の例をご覧ください。
var requestFlowOperation = _reviewManager.RequestReviewFlow();
yield return requestFlowOperation;
if (requestFlowOperation.Error != ReviewErrorCode.NoError)
{
// Log error. For example, using requestFlowOperation.Error.ToString().
yield break;
}
_playReviewInfo = requestFlowOperation.GetResult();
呼び出しが成功すると、API は PlayReviewInfo
オブジェクトを返します。このオブジェクトは、アプリがアプリ内レビューフローを開始するために必要です。この例では、非同期オペレーションを実行するためにコルーチン内で呼び出しが行われます(これによってメインスレッドがブロックされることはありません)。この呼び出しは非同期で行われるため、最大で数秒かかります。したがって、ユーザーフロー内でアプリ内レビューを表示するポイントにアプリが到達する前に、この呼び出しを行う必要があります。
アプリ内レビューフローを開始する
アプリは、PlayReviewInfo
インスタンスを受け取ったら、アプリ内レビューフローを開始できます。PlayReviewInfo
オブジェクトは一定期間のみ有効であるため、アプリはフローの開始を長時間待つべきではありません。
var launchFlowOperation = _reviewManager.LaunchReviewFlow(_playReviewInfo);
yield return launchFlowOperation;
_playReviewInfo = null; // Reset the object
if (launchFlowOperation.Error != ReviewErrorCode.NoError)
{
// Log error. For example, using requestFlowOperation.Error.ToString().
yield break;
}
// The flow has finished. The API does not indicate whether the user
// reviewed or not, or even whether the review dialog was shown. Thus, no
// matter the result, we continue our app flow.
次のステップ
統合が正しく機能していることを検証するため、アプリのアプリ内レビューフローをテストします。