错误一:Error checking for billing v3 support(response:3:Billing Unavailable)
错误原因:Google Play账号问题,注册账号是选择的国家区域有关,与账号 是否绑定信用卡无关
注意事项:
- 测试时,需要访问测试链接,加入测试计划
- 提示:无法购买您要买的商品, 检测Google 账号是否有加入测试组
- 使用静态响应模拟测试,将请求购买商品id 改成预留商品id即可返回相应的支付结果状态码, 方便模拟测试
- 购买非订阅商品后,需要消耗掉才能二次购买
- 购买时若提示:
/** Requested product is not available for purchase */
int ITEM_UNAVAILABLE = 4;
检测是否是正式签名版本apk
问题一:添加到测试组的Gmail 账户,购买时未显示“这是测试订单,我们不会向您收取任何费用” 提示,而是正常支付流程,会产生收费
原因:还需要额外设置沙盒测试
沙盒测试:测试期间,经过授权的用户帐户可通过 Google Play 购买您的应用内商品,不过这些用户帐户不用实际支付费用。
设置沙盒测试账户:在 Developer Console 中,转到 Settings > Account details,然后在 License Testing 部分将相应地址添加到 Gmail accounts with testing access 字段并保存。
划重点:
沙盒测试账号只是额外增加了许可测试(license test)的设置,只有这样支付时候不需要真正付款。
集成方案,均是 google 官方方案
- 通过 implementation 'com.android.billingclient:billing:1.1' 集成
- 通过创建 IInAppBillingService.aidl,网上的博客大都是此种方案,个人任何还是方案1比较简单,可以省去很多代码,当然可以看看这种方式了解下是如何执行的
帮助:
- 当设备安装有GooglePlay时,无法调起 支付订单详情页面时,检测 GooglePlay 是否允许后台运行,当禁止🚫后台运行时,是无法调起支付弹框的