整合應用程式內審查 (Unity)

本導覽說明如何在應用程式中使用 Unity 整合應用程式內審查。如果您使用的是 Kotlin 或 Java原生程式碼,分別有不同的整合導覽可供查閱。

Unity SDK 總覽

Play 應用程式內審查 API 屬於 Play Core SDK 系列的一部分。適用於 Unity 的 API 提供 ReviewManager 類別,可利用 RequestReviewFlowLaunchReviewFlow 方法要求及啟動流程。提出要求後,應用程式就能使用 ReviewErrorCode 查看要求的狀態。

設定開發環境

適用於 Unity 的 Google 套件下載最新版 Play 應用程式內評論 Unity 外掛程式。

建立 ReviewManager

建立 ReviewManager 執行個體以處理應用程式和 API 之間的通訊。

// 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.

後續步驟

測試應用程式內評論流程,以確認這項整合機制能正常運作。