flutter,In-app billing API version 3 is not supported on this device. & flutter_inapp_purchase

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 账号),有时还需要重启手机。

你可能感兴趣的:(flutter,In-app billing API version 3 is not supported on this device. & flutter_inapp_purchase)