如何在沙箱模式下测试InAppPurchase订阅自动续费(Billing Library 4)
Google Play沙箱月度订阅自动续费失效排查方案
- 订阅基础配置校验
确认Play控制台内的月度订阅产品处于已激活状态,无地域、购买资格限制,测试用APK的包名、签名与后台绑定的应用完全一致,你使用的测试Google账号已被添加到Play控制台许可测试人员列表中。 - 客户端Billing逻辑校验
你当前使用的com.android.billingclient:billing:4.0.0版本要求初始化时必须调用enablePendingPurchases()方法,缺少该配置会导致续订后的购买事件无法正常被客户端接收;购买完成后必须主动调用acknowledgePurchase()确认订阅,未确认的订阅会被自动退款,沙箱环境下会提前触发失效。
日常订阅状态查询需要主动调用queryPurchasesAsync(BillingClient.SkuType.SUBS)拉取最新状态,不要完全依赖首次购买返回的收据信息。 - 服务端验证逻辑校验
首先确认你读取的自动续费字段名是autoRenewing而非autoRenew,拼写错误会直接导致取值为空;其次确认你调用订阅验证接口的服务账号已被授予财务查看权限,权限不足会导致部分订阅字段返回空值。
首次购买完成后不要立刻验证字段值,沙箱环境的订阅状态更新存在1-2分钟延迟,可在购买完成3分钟后、到期前1分钟重新拉取最新状态确认自动续费标记。 - 沙箱环境适配校验
测试设备的系统语言、地区切换为美国,使用美国节点网络复测,测试过程中保持Google Play服务在后台正常运行,不要退出、切换测试账号。部分地区的沙箱环境存在已知的续订异常问题,更换测试环境后可排除该类影响。
内容的提问来源于stack exchange,提问作者Ravi Bhandari
相关产品推荐
相关产品推荐

