本指南介绍如何使用 Unity 在您的应用中集成应用内评价。如果您使用的是 Kotlin 或 Java 或 原生代码,则有单独的集成指南。
Unity SDK 概述
Play 应用内评价 API 是 Play Core SDK 系列的一部分。适用于 Unity 的 API 提供了一个 ReviewManager
类,可以使用 RequestReviewFlow
和 LaunchReviewFlow
方法请求并启动流程。发出请求后,您的应用可以使用 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.
后续步骤
测试应用的应用内评价流程 以验证您的集成是否正常工作。