大家好,我是小GO!接着前两篇来写,第一篇是如何成功注册稳定的Google Play开发者账号,第二篇是如何高效的将APP上架到Google Play。详细参考:
本篇是Google Play上架指南的第三模块,我将分享Google Play上架过程中踩过的不常见的“坑”,让大家少走弯路。
本篇概览
- 关于服务端请求不到Google支付数据
- 关于调用Google支付前获取不到商品列表
- 关于第三方登录接入
- ### 关于Google签名密钥
- 关于Google Play个人开发者账号政策调整
========================
一、关于服务端请求不到Google支付数据的“坑”
出现问题:在准备好Google开发者账号,创建项目,授权,获取密钥,创建商品、配置好服务账号以及相应的权限后,使用 Google SDK去请求数据时,发现报错:401权限不足,大概报错信息如下:
{
解决办法:把创建的服务账号加到有权访问此服务账号的主账号中,将他们添加为所有者,以尝试解决我们的401“权限不足”问题。

二、关于调用Google支付前获取商品列表的“坑”
出现问题:获取不到商品列表,大概报错信息如下:
[ERROR: flutter / runtime / dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(getProducts, E_SERVICE_ERROR, Billing is unavailable.This may be a problem with your device, or the Play Store may be down., null)
问题原因:同一个Google Play账号下,多个项目存在相同的产品ID,有缓存。
解决办法:用前一个包在真机上走了一遍Google支付流程(Google支付框能弹出,但会报错,支付不会成功),然后用新包在走一遍Google支付就不再报错了。至此我的新包能支付了,前一个包的价格我也没删除。还可以尝试多切几个节点试试,优先尽量选择靠近老美的地区。
三、关于第三方登录接入的 “坑”
**很多上Google Play的产品大多数都会用到几个国外的第三方登录,比如 Facebook、Google、Twitter等,如果单一去找插件或者去写插件非常花费精力和时间,接入过程多多少少会遇到一些 “奇奇怪怪” 的问题,毕竟流程不熟悉,比如Facebook的第三方的登录,填写资料的过程就比较繁琐且麻烦,还要申请权限。
出现问题:接入Facebook 第三方登录时遇到的问题,高级权限 “public_profile” 如果不申请跳转到Facebook登录界面会报错,错误信息如下:**
Feature Unavailable: facebook login is currently unavailable for this app since we are updating additional details for this app. Please Try again
解决办法:以下红框内的高级权限申请后该错误就不再有了。**
**
**
*四、关于Google签名密钥的“坑”*
如果你们的应用打算上架多个Android平台,选择签名密钥时,千万不要选择让Google生成应用签名密钥!!!使用Google生成的签名密钥,导致第三方登录无法正常使用。
遇到问题:签名信息不一致,导致第三方登录无法登录。
解决办法:要选择使用其他密钥,把本地的签名文件传上去。这一步走错,如果已经上架了并且已经有用户下载了,就只能重新创建新的项目换包名。
*五、关于个人账号上架需要20台不同设备测试完后才能上架的“坑”*
封闭式测试:如果你的个人开发者账号使用的是2023年11月13日之后创建的个人账号,必须对应用运行封闭式测试,且至少有20名测试人员在过去至少 14天内选择持续参与测试。

解决办法:测试期间不能中断,Google不会计入参与测试后不足14 天便选择退出的测试人员。即使他们选择重新参与测试且总天数达到14天,这14天也必须是连续的,才会算作符合20名测试人员选择持续参与测试14天这一标准。

评论
一起交流这篇文章。