このガイドでは、Unity を使用してアプリにアプリ内レビューを統合する方法について説明します。Kotlin または Java を使用している場合とネイティブ コードを使用している場合は、個別の統合ガイドを参照してください。
Unity SDK の概要
Play In-App Review API は Play Core の一部である
SDK ファミリーです。Unity 向けの API には ReviewManager
クラスが用意されており、RequestReviewFlow
メソッドと LaunchReviewFlow
メソッドを使用してフローをリクエストおよび起動できます。リクエストの実行後、アプリは ReviewErrorCode
を使用してリクエストのステータスを確認できます。
開発環境をセットアップする
Play In-App Review Unity Plugin の最新リリースを 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.
次のステップ
アプリのアプリ内レビューフローをテストして、統合が正しく機能していることを検証します。