应用内评价

前言

  • 目前Android应用的用户评价方式一直是让人困扰。
  • 一般来说,app用户基数庞大,但app评价数量却难以有一个好的转化。
  • app评价量少,容易造成app的质量与评价方向不对等的情况。

一般App评价功能的实现

  1. 自定义一个界面美观的弹框。
  2. 询问用户评价意愿。
  3. 同意则跳转到谷歌商店中,该应用所在的下载位置。
  4. 用户是否评价就随缘了。

<< 关键代码

public void jumpToGoogle(){
		final String GOOGLE_PLAY = "com.android.vending";//这里对应的是谷歌商店,跳转别的商店改成对应的即可
		try {
			Uri uri = Uri.parse("market://details?id=" + "jp.co.rakuten.toto.okupita4rai");
			Intent intent = new Intent(Intent.ACTION_VIEW, uri);
			intent.setPackage(GOOGLE_PLAY);
			intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
			startActivity(intent);
		} catch (Exception e) {
			Toast.makeText(this, "跳转失败了", Toast.LENGTH_SHORT).show();	//跳转失败的处理
		}
	}

应用内评价

官方链接:Google Play 应用内评价API

Google Play 应用内评价是在2020年10月份推出的,其目的就是为了解决上述存在的“用户评价量过低”的问题,让用户更加方便参与到应用评价环节。

简化流程

用户可以直接在应用内选择星级评分,以及评价,而不需要退出应用,或者是跳转到Google Play商店。UI效果如下:

在这里插入图片描述

具体使用方法

  1. 导入依赖库

dependencies {
implementation(“com.google.android.play:core:1.10.2”)
// For Kotlin users also import the Kotlin extensions library for Play Core:(Kotlin可选,支持Kotlin协程)
implementation(“com.google.android.play:core-ktx:1.8.1”)
}

  1. 创建 ReviewManager

使用 ReviewManagerFactory工厂方法 创建Manager实例。

ReviewManager manager = ReviewManagerFactory.create(context)

  1. 请求 ReviewInfo对象

通过Manager实例创建请求任务,并添加任务执行的监听回调。

ReviewManager manager = ReviewManagerFactory.create(context);

Task request = manager.requestReviewFlow();

request.addOnCompleteListener(task -> {
    if (task.isSuccessful()) {
        
        ReviewInfo reviewInfo = task.getResult();
    } else {
        
        @ReviewErrorCode int reviewErrorCode = ((TaskException) task.getException()).getErrorCode();
    }
});
  1. 通过ReviewInfo对象,启动应用内评价流,同时可添加流结束后的操作。即用户评价结束后的逻辑操作。比如一些游戏中进入下一关。
Task<Void> flow = manager.launchReviewFlow(activity, reviewInfo);
flow.addOnCompleteListener(task -> {
    //流程已完成。API不会回调告诉开发者用户是否选择了评价,以及评价结果,甚至在一些没有弹出评价框的情况中,也会进入到这里。因此,无论结果如何,我们都会继续我们的应用程序流。
});

个人推荐的最佳实现做法

  • 在需要弹出的Activity或者Fragment的 OnCreate方法中,创建Manager对象,以及添加ReviewInfo的请求结果监听。
    请添加图片描述
    oncreate方法中:
    在这里插入图片描述
  • 在onresume方法中:
    在这里插入图片描述

测试应用内评价
测试环境下是无法提交评价的。

  1. 应用尚未发布:
  • 应用尚未发布需要使用【内部测试轨道进行测试】(需要开发者账号)
    在这里插入图片描述
  • 进入到Google Play Console平台,创建并发布内部测试版本(bundle包,targetVersion30以上)。
    在这里插入图片描述
  • 在应用内部测试中,复制测试链接。
    在这里插入图片描述
  • 使用测试账号登录Google浏览器,打开链接,加入测试计划。测试账号必须是内部测试添加的测试范围内的账号。
  • 选择安装的机型,测试机型必须安装Google Play, 并且登录的账号为内部测试账号
  • 用户账号目前未对该应用进行评价(已经评价了,可以删除评价)
  • 部分机型需要开启Google Play开发者模式
  • 选择后,对应的机型即可自动安装测试包。
  1. 应用已经发布上线
  • 选择应用内部分享,可以选择仅添加的测试人员账号发送邮件的方式,也可以选择任何人均可下载。
  • 上传bundle包后,会生成唯一性的链接,访问链接进行下载安装测试。

在这里插入图片描述




到这里,应用内部评价的功能实装基本就结束了,接下来就是关于这个API的一些坑。

折磨人的配额问题

  • Google 官方认为,应用内评价是一个容易造成用户困扰的功能,如果开发人员开发的应用频繁地弹出评价框,那么对于用户是一种骚扰行为。所以应用内评价API严格限制了 评价框的弹出。
  • 即便代码中,请求了 manager.requestReviewFlow 评价流,未必会有评价框的UI展示。【这个对于测试来说,就是比较大的问题,测试人员很难捕捉到这个应用评价框弹出的效果。】
    在这里插入图片描述
  • 官方称,使用内部测试的方法将不会出现配额限制的问题。【事实上并没有如官方所说,绝大部分情况是这个评价框都不会弹出,即便是在内部测试轨道】

在这里插入图片描述

  • 官方称,开发人员根据应用实际情况,在最合理的时机调用API。【但是官方没说,这个合理时机指的是什么时候,或者怎样条件下这个弹框才会弹出】
  • 关于这个API最多的评论就是“无法如预期显示,API不能正常工作”Stackoverflow社区讨论

开发时注意点

  • 一般开发需求为 规定用户使用应用超过一定时间时,调用应用内评价API,如果用户评价成功了,那么就不再弹出,如果用户取消了评价,那么再在用户使用超过一定时间后进行请求。
    由于此API本身不会回调用户评价的结果(用户是否提交了评价,评价的星级以及内容),并且只要用户提交了评价,那么API的再次请求就会无效。
  • 开发时,一般可以采用每隔一段时间比如2个月 请求一次API的方案。
  • 对于希望记录用户提交评价的时间、评价的好坏等要求,应当在项目决定采用此API时,及时告知PM或者客户。

总结

  1. Google Play 应用内评价实现简单,学习成本低,容易实装,且为官方推荐的评价方式。
  2. Google Play 应用内评价测试流程繁琐,测试条件较为复杂,同时测试效果不佳。
  3. 如果项目对于应用评价没有精准的时间规定,同时又希望增加应用的评价量,提升用户在应用评分时的体验,那么我还是非常推荐这个官方的API的。
  4. 如果项目规定了必须在使用app超过100天时让用户评价,那么还是采用传统的方法吧。
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值