当前位置: 首页 > news >正文

Android 中集成 Google 应用内评分

添加依赖

在项目的 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 会强制执行限时配额,规定系统向用户显示评价对话框的频率,因此不要频繁调用相关方法。


http://www.mrgr.cn/news/96696.html

相关文章:

  • 洛谷题单2-P1424 小鱼的航程(改进版)-python-流程图重构
  • thinkcmf搭建
  • 游戏引擎学习第198天
  • 大模型高质量rag构建:A Cheat Sheet and Some Recipes For Building Advanced RAG
  • 配置防火墙和SELinux(1)
  • 【Yolov8部署】 VS2019 + opencv + onnxruntime 环境下部署目标检测模型
  • mysql 八股
  • C语言常用的字符串函数
  • 06-02-自考数据结构(20331)- 查找技术-动态查找知识点
  • 蓝桥杯 刷题对应的题解
  • Java基础 3.31
  • 【Feign】⭐️使用 openFeign 时传递 MultipartFile 类型的参数参考
  • SpringBoot详细教程(持续更新中...)
  • HCIP(RSTP+MSTP)
  • 记忆学习用内容
  • Sentinel[超详细讲解]-4
  • Axure疑难杂症:完美解决文本框读取、赋值、计数(玩转文本框)
  • 安卓一些接口使用
  • python文件的基本操作和文件读写
  • 实现在Unity3D中仿真汽车,而且还能使用ros2控制