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

本文探讨了在使用Flutter的inapp_purchase库进行支付时遇到的Google服务连接不稳定问题,提供了一种通过检查isInitPlatformState字段判断手机是否获取到Google服务的方法,并分享了解决方案,包括清除Google Play缓存、更换账号及重启手机。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值