このガイドでは、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
を使用してオペレーションを作成します。次の例をご覧ください。
void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
// ...
}
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
オペレーションが完了したら、アプリ内レビューフローを開始できます。これは、完了イベントを処理するようにデリゲートをバインドすることで行います。これにより、アプリが審査リクエストの結果(成功または失敗)に確実に反応します。
void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
// ...
}
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);
}
次のステップ
アプリのアプリ内レビューフローをテストして、統合が正しく機能していることを検証します。