アプリ内レビューを統合する(Unreal Engine)

このガイドでは、Unreal Engine を使用してアプリにアプリ内レビューを統合する方法について説明します。Kotlin または Javaネイティブ コードUnity を使用している場合の統合ガイドは、個別に用意されています。

Unreal Engine SDK の概要

Play In-App Reviews API は、Play Core SDK ファミリーの一部です。Unreal Engine 向けの API には UInAppReviewsManager クラスが用意されており、RequestReviewFlow メソッドと LaunchReviewFlow メソッドを使用してフローをリクエストおよび起動できます。リクエストの実行後、アプリは EInAppReviewErrorCode を使用してリクエストのステータスを確認できます。

サポートされている Unreal Engine のバージョン

このプラグインは、Unreal Engine 5.0 以降のすべてのバージョンをサポートしています。

開発環境をセットアップする

設定

  1. GitHub リポジトリから Play Unreal Engine Plugin をダウンロードします。

  2. Unreal Engine プロジェクトの Plugins フォルダ内に GooglePlay フォルダをコピーします。

  3. Unreal Engine プロジェクトを開き、[編集 → プラグイン] をクリックします。

  4. [Google Play] を検索し、[有効] チェックボックスをオンにします。

  5. ゲーム プロジェクトを再起動してビルドをトリガーします。

  6. プロジェクトの Build.cs ファイルを開き、PlayInAppReviews モジュールを PublicDependencyModuleNames に追加します。

    using UnrealBuildTool;
    
    public class MyGame : ModuleRules
    {
      public MyGame(ReadOnlyTargetRules Target) : base(Target)
      {
        // ...
    
        PublicDependencyModuleNames.Add("PlayInAppReviews");
    
        // ...
      }
    }
    

アプリ内レビューのフローをリクエストする

アプリ内レビューをリクエストするタイミングのガイダンスに従って、アプリのユーザーフロー内でユーザーにレビューを求める適切なポイント(たとえば、ゲームの特定のレベルの終了時に表示される概要画面をユーザーが閉じた後)を決定します。アプリがいずれかのポイントに近づいたら、UInAppReviewsManager を使用してオペレーションを作成します。次の例をご覧ください。

MyClass.h

void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
  // ...
}

MyClass.cpp

void MyClass::RequestReviewFlow()
{
  // Create a delegate to bind the callback function.
  FReviewOperationCompletedDelegate Delegate;

  // Bind the completion handler (OnReviewOperationCompleted) to the delegate.
  Delegate.BindDynamic(this, &MyClass::OnReviewOperationCompleted);

  // Initiate the review flow, passing the delegate to handle the result.
  GetGameInstance()
    ->GetSubsystem<UInAppReviewsManager>()
    ->RequestReviewFlow(Delegate);
}
  1. このメソッドは、レビュー オペレーションの完了を処理する FRreviewOperationCompletedDelegate を作成します。

  2. デリゲートは OnReviewOperationCompleted メソッドにバインドされ、オペレーションの完了後に呼び出されます。

  3. BindDynamic 関数は、デリゲートがコールバックに正しくリンクされていることを確認します。

  4. RequestReviewFlow(Delegate) メソッドは、審査プロセスを開始し、結果を処理するデリゲートを渡します。

  5. レビュー オペレーションは非同期で実行されるため、完了するまでアプリ内の他のタスクを続行できます。

  6. オペレーションが完了すると、OnReviewOperationCompleted コールバックが結果(成功または失敗など)を処理します。

アプリ内レビューフローを開始する

RequestReviewFlow オペレーションが完了したら、アプリ内レビューフローを開始できます。これは、完了イベントを処理するようにデリゲートをバインドすることで行います。これにより、アプリが審査リクエストの結果(成功または失敗)に確実に反応します。

MyClass.h

void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
  // ...
}

MyClass.cpp

void MyClass::LaunchReviewFlow()
{
  // Create a delegate to bind the callback function.
  FReviewOperationCompletedDelegate Delegate;

  // Bind the completion handler (OnReviewOperationCompleted) to the delegate.
  Delegate.BindDynamic(this, &MyClass::OnReviewOperationCompleted);

  // Launch the review flow, passing the delegate to handle the result.
  GetGameInstance()
    ->GetSubsystem<UInAppReviewsManager>()
    ->LaunchReviewFlow(Delegate);
}

次のステップ

アプリのアプリ内レビューフローをテストして、統合が正しく機能していることを検証します。