添加依赖
在项目的 build.gradle
文件中添加以下依赖:
dependencies {
// Java 依赖
implementation 'com.google.android.play:review:2.0.1'
// Kotlin 依赖
implementation 'com.google.android.play:review-ktx:2.0.1'
}
创建 ReviewManager
使用 ReviewManagerFactory
创建 ReviewManager
实例,代码如下:
kotlin
val manager = ReviewManagerFactory.create(context)
java
ReviewManager manager = ReviewManagerFactory.create(context);
请求 ReviewInfo
对象
在确定适合提示用户进行评价的阶段,使用 ReviewManager
实例创建请求任务。如果请求成功,将返回启动应用内评价流程所需的 ReviewInfo
对象。示例代码如下:
kotlin
val request = manager.requestReviewFlow()
request.addOnCompleteListener { task ->
if (task.isSuccessful()) {
// 获取到 ReviewInfo 对象
val reviewInfo = task.result
} else {
// 处理请求失败的情况,记录或处理错误
@ReviewErrorCode val reviewErrorCode = (task.getException() as ReviewException).errorCode
}
}
java
Task<ReviewInfo> request = manager.requestReviewFlow();
request.addOnCompleteListener(task -> {
if (task.isSuccessful()) {
ReviewInfo reviewInfo = task.getResult();
} else {
@ReviewErrorCode int reviewErrorCode = ((ReviewException) task.getException()).getErrorCode();
}
});
启动应用内评价流程
使用获取到的 ReviewInfo
实例启动应用内评价流程,示例代码如下:
kotlin
val flow = manager.launchReviewFlow(activity, reviewInfo)
flow.addOnFailureListener { e ->
// 评价流程启动失败
Log.e(LOG_TAG, "启动应用内评价弹窗失败 " + e.toString())
}
flow.addOnSuccessListener {
// 评价流程启动成功
Log.e(LOG_TAG, "启动应用内评价弹窗成功 ")
}
flow.addOnCanceledListener {
// 评价流程被取消
Log.e(LOG_TAG, "启动应用内评价弹窗取消 ")
}
java
Task<Void> flow = manager.launchReviewFlow(activity, reviewInfo);
flow.addOnFailureListener(e -> {
Log.e(LOG_TAG, "启动应用内评价弹窗失败 " + e.toString());
});
flow.addOnSuccessListener(o -> {
Log.e(LOG_TAG, "启动应用内评价弹窗成功 ");
});
flow.addOnCanceledListener(() -> {
Log.e(LOG_TAG, "启动应用内评价弹窗取消 ");
});
需注意,应用内评价只适用于搭载 Android 5.0(API 级别 21)或更高版本且安装了 Google Play 商店的 Android 设备,并且应用必须使用 1.8.0 或更高版本的 Play Core 库。同时,为提供优质用户体验,Google Play 会强制执行限时配额,规定系统向用户显示评价对话框的频率,因此不要频繁调用相关方法。