flutter中,google支付没有商品信息、无法调起google订阅面板

如题,直接先说解决方案:

flutter支付插件我用的是 flutter_inapp_purchase: ^2.1.2 (其实^2.1.0版本也是可以的)

把flutter的sdk版本降到1.14.6,啥都别说!这个版本是可以调起google订阅面板的,再往上的v1.12.13+hotfix.8这个版本是怎么也调不起google订阅面板,其他的版本我没有逐个去尝试,只知道这两个版本肯定是一个ok另一个不行。

说句心里话,flutter真的是各种坑,目前还在以几天一更的速度频繁更新。所以flutter sdk不要轻易升级。因为我们在同时开发4个app,之前我开发的2个app支付功能使用的好好的(用的是1.14.6)代码也是同一套,后来手残升级了升到了最新的v1.12.13+hotfix.8,死活都掉不起来订阅面板。查了几天的文档和资料,对了几天的代码。。。这个时候我只能。。。了。

另外,说点关于google支付的总结:

关于支付的详细步骤就不说了,我后面项目做完了会总结下,目前项目太多(4个,后面据说还有很多个。。。),直接说碰到的问题:

1.flutter的支付插件用的flutter_inapp_purchase,这个在运行的时候是会报异常的,但是不影响具体的支付使用,可以自己处理下,也可以不管它;

2.google play的账号首先你要登录,登录之后进入面板 游戏--付费,一般付费里面有东西则表示你已经有了google服务(当然前提是你用的是非国内手机,国内手机一般都不支持google 服务,坑,例如,三星,google等,都是自带google服务的,另外如果你没有外网环境,必须要有vpn的支持,这个vpn就不说了,大家都知道。),注意,如果付费菜单中啥也不显示,那就尴尬了,你app想支付的话,连商品信息都拿不到,注意,商品信息都拿不到。所以前提是你必须要在google play中登录google账号(还要注意登录google play之后要退出google play杀进程再进入google play,要不然他不生效啊。我这个是在开发过程中频繁切换账号吐血总结出来的。要杀进程,退出,再进,看相关的信息显示的是不是你这个账号的东西。其实这里想说的是google play自己都有bug,也有可能是google play的账号有设备绑定机制,不让你同时一个账号在多台设备上生效。。。切几个账号多切几次没反应),保证环境ok(vpn加持),保证账号ok(加入你开发的app的测试账号之列,随便一个google账号是不能拿到商品信息的,规矩真的多。。。),如果上面确保ok,再进入app,进入购买,拿到商品信息列表,选择具体的项目支付,是可以看到底部有google订阅面板的。。。(这里再多说一点,如果多语言的话,可以直接用它返回的localized.price字段,这个字段跟面板中的价格字段的货币符号一样,google自己已经帮你转换好了,不用我们自己额外添加货币符号了,这个很赞!good)。之后就可以愉快的支付了。

发布了9 篇原创文章 · 获赞 0 · 访问量 542

猜你喜欢

转载自blog.csdn.net/wangyajuncsd/article/details/104438997