如何将Google应用内评价的评论功能设置为可选?
应用内评价评论必填调整为可选的解决方案
你使用的Google Play官方应用内评价API的表单规则由Google Play服务控制,应用侧无法直接修改评论是否为必填项。
官方API的限制
- 你调用的ReviewManager系列接口仅支持触发评价流程、处理流程回调,没有提供任何修改评价界面逻辑、字段必填规则的开放能力。评论是否为必填是Google Play根据区域、用户账户属性等动态设定的,第三方应用无法干预。

你当前的实现代码(注释已翻译)
fun inAppReview() { val reviewManager = ReviewManagerFactory.create(mContext) val requestReviewFlow = reviewManager.requestReviewFlow() requestReviewFlow.addOnCompleteListener { request -> if (request.isSuccessful) { // 已获取ReviewInfo对象 val reviewInfo = request.result val flow = reviewManager.launchReviewFlow(mContext as Activity, reviewInfo) flow.addOnCompleteListener { // 评价流程结束,该API不会返回用户是否提交了评价、甚至评价弹窗是否成功展示的结果,因此无论结果如何都继续应用原有流程即可 } } else { Log.d("Error: ", request.exception.toString()) // 流程出错,无论结果如何继续应用原有流程即可 } } }
原有依赖配置
implementation 'com.google.android.play:core:1.8.0' implementation 'com.google.android.play:core-ktx:1.8.1'
替代实现方案
如果必须要实现评论可选的需求,可以采用自定义评价前置弹窗的方案:
- 首先在应用内自行实现评价弹窗,仅要求用户选择星级,评论输入框设为可选
- 当用户给出4-5星的高分时,再调用官方应用内评价API,或者引导用户跳转至Google Play应用详情页提交评价
- 当用户给出3星及以下的低分时,跳转至应用内部的问题反馈页面,引导用户反馈问题,避免低星评价
注意事项
- 现有版本的play core依赖已经比较老旧,可以升级为官方拆分后的单独评价依赖
implementation "com.google.android.play:review:2.0.1",修复了部分已知的弹窗展示异常问题,核心调用逻辑不变 - 不要尝试通过hook、反射等方式修改官方评价弹窗的交互逻辑,会违反Google Play开发者政策,存在应用被下架的风险
内容的提问来源于stack exchange,提问作者Guren
相关产品推荐
相关产品推荐

