3.8.6 google play没有调起评分的功能?

  • 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();
}

}
企业微信截图_17509933945401