このガイドでは、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 以降のすべてのバージョンをサポートしています。
開発環境をセットアップする
- GitHub リポジトリから Play Unreal Engine Plugin をダウンロードします。 
- Unreal Engine プロジェクトの - Pluginsフォルダ内に- GooglePlayフォルダをコピーします。
- Unreal Engine プロジェクトを開き、[編集 → プラグイン] をクリックします。 
- [Google Play] を検索し、[有効] チェックボックスをオンにします。 
- ゲーム プロジェクトを再起動してビルドをトリガーします。 
- プロジェクトの - 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);
}
- このメソッドは、レビュー オペレーションの完了を処理する - FRreviewOperationCompletedDelegateを作成します。
- デリゲートは - OnReviewOperationCompletedメソッドにバインドされ、オペレーションの完了後に呼び出されます。
- BindDynamic関数は、デリゲートがコールバックに正しくリンクされていることを確認します。
- RequestReviewFlow(Delegate)メソッドは、審査プロセスを開始し、結果を処理するデリゲートを渡します。
- レビュー オペレーションは非同期で実行されるため、完了するまでアプリ内の他のタスクを続行できます。 
- オペレーションが完了すると、 - 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);
}
次のステップ
アプリのアプリ内レビューフローをテストして、統合が正しく機能していることを検証します。
