flutter_inapp_purchase是较为常用的flutter支付库。
但是涉及到google服务,这个就有很多问题可以说了。一般公司环境在连接google服务时很不稳定,很容易导致支持google服务的手机(例如三星、google等手机)不一定能拿到google服务,一般错误现象就是使用这个库初始化时,会报异常。代码如下
try { // prepare var result = await FlutterInappPurchase.instance.initConnection; PaySettings.instance.isInitPlatformState = true; print("initPlatformStateinitPlatformState = " + result); } on Exception { PaySettings.instance.isInitPlatformState = false; print('请检查您的Google或apple store账号是否登陆!'); }
如上,我们利用初始化时的异常来表征手机是否能拿到google服务,用字段isInitPlatformState=true/false来表示。有了这个字段的值就知道后续的支付是否ok,这个是前提。
今天要说的问题是,支持google服务的手机,经常玩着玩着就没有google服务了,这个时候该怎么办呢?
步骤
1.打开google play,清除缓存,真的,google play或者说google本身在这一块是有些问题的,(因为国内的环境)这个大家心知肚明。
怎么清?找到google play,长按会弹出选项,进入应用信息,或者直接到设置里面去找应用信息,如图
2.一般清除缓存之后再重启google play就ok了。但是有时还需要更换google play中的登录账号(google 账号),有时还需要重启手机。