跳到主要内容

1.0.1

注意

该门户网站正在开发中。文档的完整版本请看这里.

RuStore In-app Review SDK 允许用户在不离开应用的情况下在 RuStore 中对您的应用进行评分和评论。

用户可以在应用的整个使用过程中的任何时候启动评分和评论的用户场景。用户可以按照从 1 到 5 的等级对您的应用进行评分,并留下评论。评论是可选的。

实现示例

了解示例应用程序,以了解如何正确集成评分和评论 SDK。

用户场景示例

SDK 正确运作的条件

为了评分和评论应用程序 SDK 的正常运作,需要满足以下条件:

  1. Android操作系统版本需为6.0或更高。
  2. 用户的设备上安装了RuStore应用程序。
  3. 用户的设备上的 RuStoreApp 版本是最新的。
  4. 用户在RuStore应用程序中已授权。
  5. 应用程序必须在 RuStore 上发布。

何时请求评分和评论

遵循以下建议来决定何时向用户请求应用程序的评分和评论:

  • 在用户充分使用您的应用程序之后启动该过程。
  • 不要过于频繁地启动该过程 - 这会降低用户对您应用程序的体验并限制评分 SDK 的使用。
  • 不要使用行动号召,例如"评价应用程序"的按钮 - 用户可能已经达到了启动流程的限制。
  • 您的应用程序在启动或进行流程期间不应询问用户任何问题,包括关于他们的意见(例如,"您喜欢这个应用程序吗?")或预测性问题(例如,"您会给这个应用程序评5星吗?")。

设计建议

遵循以下建议来决定如何集成流程:

  • 保持流程原样显示,不对当前设计进行任何干预或更改,包括大小、不透明度、形状和其他属性。
  • 不要在流程的顶部或边缘添加任何内容。
  • 流程应在所有层上方打开。启动流程后不要关闭它。流程将在用户明确操作后自行结束。

在项目中集成

连接存储库:

repositories {    \`\`maven {        \`\`url = uri( \"https://artifactory-external.vkpartner.ru/artifactory/maven\" )    \`\`}}

集成依赖项

在您的配置文件中添加以下代码以连接依赖项:

dependencies {    \`\`implementation( \"ru.rustore.sdk:review:1.0.1\" )}

创建 RuStoreReviewManager

要处理评分,需要使用 RuStoreReviewManagerFactory 创建 RuStoreReviewManager:

val manager = RuStoreReviewManagerFactory.create(context)

获取对象ReviewInfo

提前调用 requestReviewFlow(),在调用 launchReviewFlow(reviewInfo) 之前准备显示屏幕所需的信息。

ReviewInfo有其生命周期 - 大约五分钟。

manager.requestReviewFlow().addOnCompleteListener(object : OnCompleteListener\<ReviewInfo\> {    \`\`override fun onFailure(throwable: Throwable) {        \`\`// Handle error    \`\`}    \`\`override fun onSuccess(result: ReviewInfo) {        \`\`// Save reviewInfo    \`\`}})

果收到 onSuccess 响应,则需要在本地保存 ReviewInfo,以便后续调用 launchReviewFlow(reviewInfo)。

如果收到 onFailure 响应,建议不要自行向用户显示错误,因为用户没有启动这个过程。

可能的错误

启动应用程序评价

要请求用户对应用程序进行评价和评论,请调用 launchReviewFlow(reviewInfo) 方法,使用之前获得的 ReviewInfo

manager.launchReviewFlow(reviewInfo).addOnCompleteListener(object: OnCompleteListener\<Unit\> {    \`\`override fun onFailure(throwable: Throwable) {        \`\`// Review flow has finished, continue your app flow.    \`\`}    \`\`override fun onSuccess(result: Unit) {        \`\`// Review flow has finished, continue your app flow.    \`\`}})

待用户完成表单的通知,在 onSuccessonFailure 中,以继续应用程序的操作。

完成评分表单后,无论结果如何(onSuccess 或 onFailure),我们不建议显示与评分和评论相关的任何额外表单。

频繁调用 launchReviewFlow 不会导致用户界面显示评分表单,RuStore 会对允许显示的频率进行调控。

可能的错误

onFailure 中您可能接收的可能错误:

  • RuStoreNotInstalledException() - 用户设备上未安装 RuStore。
  • RuStoreOutdatedException() - 用户设备上安装的 RuStore 不支持启动评分和评论过程。
  • UserUnauthorizedException() - 用户未在 RuStore 中授权。
  • RuStoreRequestLimitReached() - 自上次显示过程以来时间太短。
  • RuStoreReviewExists() - 该用户已对您的应用程序进行了评价。
  • RuStoreInvalidReviewInfo() - ReviewInfo 出现问题。
  • RuStoreException(message: String) - RuStore的基本错误,其他错误均继承自此。