flutter,应用内评分inappreview
flutter,应⽤内评分inappreview
如题,⽤flutter开发应⽤内评分功能,搞了很久,最后解决了,记录下具体的步骤。
其实我想说的是,只要是google的东西都不好对接(例如google的内购,对接就是折磨⼈,关键你对接完了失败和成功根本就不知道为什么成功了),或者说看起来步骤很简单,但是涉及到东西真的是繁琐,特别是对于我们⼴⼤的中国开发⼩伙伴,真的不太友好。来吧,说说应⽤内评分这个功能。
1、我⽤的flutter插件是这个,
in_app_review: ^1.0.4,其实这个插件的版本已经更新到了2.0.2,但是我⾃⼰flutter 版本还是1.22.6的,所以我选⽤2.0以下的版本。
2、这个插件貌似在ios上,对接之后直接可以弹出内部评分框的,⼀两次就成功,但是android上⾯问题就来了,没那么简单,就像它⽂档中说的,测试起来各种不⾏ Testing requestReview() on Android isn't as simple as running your app via the emulator or a physical device. See  for more info.
3、怎么解决呢?
4、集成,代码:笔记本屏幕抖动
import 'package:in_app_review/in_app_review.dart';
苹果的苹组词final InAppReview inAppReview = InAppReview.instance;
if (await inAppReview.isAvailable()) {
}
5、代码集成之后,还要按照⽂档的要求,上传app到google play Console的测试轨道(Internal testing track)中去,同时启⽤这个版本,加上test uers,测试⽤户列表;
Testers栏中要添加⼀些测试⼈员的google 账号,
注意,在添加测试账号时,⽂本框输完邮箱之后,要Enter键,才能确认。。。
看看要求,
1. ⼿机必须⽀持google服务,这是废话,同时将⾃⼰的账号(在Tseters列表中也要有这个账号),登录或者切换到google play中作为
主账号选中;
2. 如果app还没发布,直接传⼀个包到测试轨道中(你如果已经上线了,我觉得这⾥也传⼀个上去,在测试轨道,反正也不会怎么
地),启⽤(active状态),别怕,在测试轨道中的app不会影响线上的东西,可以瞎搞没问题,各种确认;
3. 另外评价过的要在google play中删除掉,再评价,这个⼀般也是废话,我既然要对接这个功能,肯定是没有评价过的,可以不⽤理
它;
4. 什么⽤完配额,这个也是废话,⾃⼰注意就⾏了,我刚开始对接,基本没有这个问题,直接忽略;
5. google play如果切换了账号之后,注意在⼿机程序中,需要将google play的缓存清除,这个问题很常见,如果你切换了账号不清空
缓存,那么有可能你⽀付啊啥的其他功能就会受到影响(这⼀点不是绝对的,我相信应该是跟具体开发⼈员所在公司的环境有关,我这边的环境就是要利⽤vpn去⽀撑google play的服务,所以每次如果vpn失效或者vpn没有打开,但是之前⼜打开过,如果你的google play账号登录/切换了但是没有清除缓存,那么问题就来了--直接没有什么效果,直接⼀直都是国内的环境或者没开启vpn但是⼜可以访问google play⾥⾯的东西,其实这都是假象,都是缓存导致的 。。。必须要记住清除google play缓存这⼀步。清除了之后,账号,点击游戏-付费,随便选中⼀款付费游戏,如果能够弹出google ⽀付⾯板则表⽰google play服务是正常的。。。
哎,google服务被墙了之后,我们⼴⼤开发者们真的好难。);
7、那么我上⾯的东西都按照⽂档配置好了,都ok了,但是你打开app,去调⽤应⽤内评价时,根本就不⾏,不出现弹框。。。你懵逼了,我也懵逼了。
8、按道理说,这种⽅式其实可以调⽤成功的,可以显⽰弹框的,⽇志打印⼀切正常(如下),但是就是不显⽰弹框,⽽且有的同学就是底部栏有个弹框的闪烁。。。
I/InAppReviewPlugin(24245): isAvailable: called
王林事件I/InAppReviewPlugin(24245): isAvailable: playStoreInstalled: true
I/InAppReviewPlugin(24245): isAvailable:lollipopOrLater: true
I/InAppReviewPlugin(24245): isAvailable: The Play Store is available and Android 5 or later is being used
I/InAppReviewPlugin(24245): cacheReviewInfo: called
I/PlayCore(24245): UID: [10515] PID: [24245] ReviewService : requestInAppReview (com.hellotalk.aigrammar) I/InAppReviewPlugin(24245): cacheReviewInfo: Requesting review flow
I/InAppReviewPlugin(24245): onComplete: Successfully requested review flow
I/flutter (24245): _showAppReView = true
I/InAppReviewPlugin(24245): requestReview: called
I/InAppReviewPlugin(24245): launchReviewFlow: called
9、好吧我反复尝试了100遍,⽆事于补,⼀直都是失败的;
其实到这⾥还差⼀步,这⾥后⾯会给出解释。就是差⼀步复制url链接,⽤⼿机去访问这个链接就会去下载这个包,测试就ok了。但是第⼀次完全没整明⽩还有这个操作。。。
10、还好有另外⼀种⽅式,我试试另外的⽅式:内部分享的⽅式(Internal app sharing)
钟伟强 中国好声音这⾥需要接受条款,选中List name,同时Email lists栏⾥⾯要可以选中测试的⽤户;
两张照片怎样合成一张照片勾选了条款之后,变成这样,
上传包,再确认,你会发现这个问题就没有了:
11、点击上图中的右侧的复制按钮,你会得到⼀个下载app的地址,(怎么让其他的⼿机下载这个地址的app呢,其实你可以⽤⽹上的在线⽣成⼆维码⽹站),
利⽤这个固定地址⽣成⼆维码,再让其他⼈扫码下载即可;
注意,这⾥问题⼜来了,你再扫码下载你刚才的地址时,⼿机端浏览器会提⽰“请在google play设置中开启内部应⽤分享”。。。⼜⼀脸懵逼,轻伤害赔偿标准
来吧,这⾥怎么开启内部分享?看下图,
好深的机关,操作完毕之后,看这个,
只有开启了这个开关,才能下载分享链接,直接下载即可。
12、下载下来体验,点击内部评价功能,弹窗是可以正常显⽰的:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。