-
Creator 版本: 3.8.6
-
目标平台:
-
重现方式:打包 google play 调起去给评分
游戏想要这样一个功能一个引诱用户goole5星评分弹窗。需要在过了一定的关卡后再弹出来
类似这种界面,
1、打开的时候引诱用户点击5星
2、点击提交按钮,判断是否点击5星,是>弹google内置评分界面(这个需要找下接口文档),否>直接关掉评分界面,过滤评分行为。
没找到里面有实现这样的方法,只能自己写在android包里面,感觉好割裂的 ,没有的话,麻烦引擎组能不能后面版本完善一下
private void requestReview() {
ReviewManager manager = ReviewManagerFactory.create(this);
Task request = manager.requestReviewFlow();
request.addOnCompleteListener(task -> {
if (task.isSuccessful()) {
// 启动评分弹窗
manager.launchReviewFlow(this, task.getResult());
}
});
}
没事了,写好了。
package com.cocos.game;
import android.app.Activity;
import android.widget.Toast;
import com.cocos.lib.GlobalObject;
import com.google.android.play.core.review.*;
import com.google.android.gms.tasks.Task;
public class ReviewHelper {
/**
* 调起评分系统
*/
public static void requestReview() {
Activity activity = GlobalObject.getActivity();
if (activity == null || activity.isFinishing()) return;
ReviewManager manager = ReviewManagerFactory.create(activity);
manager.requestReviewFlow().addOnCompleteListener(task -> {
if (task.isSuccessful()) {
launchReview(manager, task.getResult());
} else {
handleError(((ReviewException) task.getException()).getErrorCode());
}
});
}
private static void launchReview(ReviewManager manager, ReviewInfo reviewInfo) {
Activity activity = GlobalObject.getActivity();
if (activity == null || activity.isFinishing()) return;
manager.launchReviewFlow(activity, reviewInfo)
.addOnFailureListener(e -> {
if (e instanceof ReviewException) {
handleError(((ReviewException) e).getErrorCode());
}
});
}
private static void handleError(int errorCode) {
// 记录错误日志或进行降级处理
Toast.makeText(GlobalObject.getActivity(), "launchReviewError:"+errorCode, Toast.LENGTH_SHORT).show();
}
}

