本指南說明如何使用 Unreal Engine 將應用程式內評論整合至應用程式。如果您使用的是 Kotlin 或 Java、原生程式碼或 Unity,請參閱不同的整合指南。
Unreal Engine SDK 總覽
Play 應用程式內評論 API 屬於 Play Core SDK 系列的一部分。Unreal Engine 的 API 提供 UInAppReviewsManager
類別,可使用 RequestReviewFlow
和 LaunchReviewFlow
方法要求及啟動流程。提出要求後,應用程式就能使用 EInAppReviewErrorCode
查看要求的狀態。
支援的 Unreal Engine 版本
外掛程式支援 Unreal Engine 5.0 和後續所有版本。
設定開發環境
設定
從 GitHub 存放區下載 Play Unreal Engine 外掛程式。
複製 Unreal Engine 專案中
Plugins
資料夾內的GooglePlay
資料夾。開啟 Unreal Engine 專案,然後依序點選「Edit」→「Plugins」。
搜尋「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);
}
後續步驟
測試應用程式的應用程式內審查流程,確認整合是否正常運作。