集成应用内评价 (Unity)

本指南介绍了如何使用 Unity 在应用中集成应用内评价。如果您使用的是 Kotlin 或 Java原生代码,请参阅单独的集成指南。

Unity SDK 概览

Play In-App Review API 是 Play Core 的一部分 SDK 系列。适用于 Unity 的 API 提供了 ReviewManager 类,以使用 RequestReviewFlowLaunchReviewFlow 方法请求和启动流程。发出请求后,应用可以使用 ReviewErrorCode 检查请求的状态。

设置您的开发环境

适用于 Unity

创建 ReviewManager

创建负责处理应用与 API 之间通信的 ReviewManager 实例。

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

后续措施

测试应用的应用内评价流程,以验证您的集成是否正常运行。