在应用内拉起 google 评价弹窗,用户提交 Play 商店的评分和评价,无需退出应用或游戏。应用内评价在应用的整个过程中随时触发。用户可以使用 1 到 5 星系统对您的应用进行评分,还可以选择添加评论。评价提交后将发送到 Play 商店并最终显示。
设备要求:
需要安装了 Google Play 商店的设备且设备系统在Android 5.0(API 级别 21)或更高版本的 Android 设备。
注意:请不要过度提示用户进行评价,为了提供优质用户体验,Google Play 会强制执行一个限时配额,用于规定系统向用户显示评价对话框的频率。由于存在此配额,在短时间内(例如,不到一个月内)多次调用 launchReviewFlow
方法时可能不会始终显示对话框。
dependencies {
// java
implementation 'com.google.android.play:review:2.0.1'
// kotlin
implementation 'com.google.android.play:review-ktx:2.0.1'
...
}
ReviewManager manager = ReviewManagerFactory.create(mContext);
//使用 FakeReviewManager 进行测试
// ReviewManager manager = new FakeReviewManager(mContext);
Task request = manager.requestReviewFlow();
request.addOnCompleteListener(task -> {
if (task.isSuccessful()) {
ReviewInfo reviewInfo = task.getResult();
Log.e(LOG_TAG,"inAppReviews Connection success"+reviewInfo);
//启动应用内评价
Task flow = manager.launchReviewFlow((Activity)mContext, reviewInfo);
flow.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.e(LOG_TAG,"启动应用内评价弹窗失败 "+e.toString());
}
});
flow.addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess(Object o) {
Log.e(LOG_TAG,"启动应用内评价弹窗成功 ");
}
});
flow.addOnCanceledListener(new OnCanceledListener() {
@Override
public void onCanceled() {
Log.e(LOG_TAG,"启动应用内评价弹窗取消 ");
}
});
} else {
@ReviewErrorCode
int reviewErrorCode = ((ReviewException) task.getException()).getErrorCode();
}
});
注意:应用内评价要求您在 Play 商店中发布应用
有两种方式:① 内部测试轨道 ② 内部应用分享功能测试集成
一、使用内部测试轨道进行测试,
注意 :如果应用是从内部测试轨道下载,则不会强制执行配额限制。
将您的应用上传到内部测试轨道并将其安装到设备上,该设备必须具有一个有权访问内部测试轨道的用户账号。使用内部测试轨道时,必须满足以下条件:
在设备上的账号至少从内部测试轨道下载该应用一次并且该账号列于测试人员列表中之后,您可以将该应用的新版本部署到设备本地(例如,使用 Android Studio 进行部署)。
二、使用内部应用分享功能进行测试(我使用的这个中方式)
注意:使用通过内部应用分享功能安装的应用时,无法提交评价。为了强调此区别,界面中的相应按钮处于停用状态。
https://play.google.com/console/u/0/internal-app-sharing/?hl=zh-cn 在这个连接中上传要分享给测试人员的 App Bundle 或 APK。每次上传后系统会生成一条新的下载链接以供分享。测试人员从下载链接中安装app,可以每次拉起应用评价弹框。