Android Billing测试购买ID是否已被弃用?
关于
android.test.purchased测试ID失效的问题解答 android.test.purchased这类旧测试ID已经被Google弃用,官方没有单独发布弃用声明,但已从官方计费文档中移除相关内容,且新版Billing Library(Billing Library 5及以上版本)不再支持这些旧测试ID——这就是你遇到测试失败、购买对话框无购买按钮的原因,并非计费库Bug。
针对你的需求,推荐以下替代方案:
使用官方新测试SKU:Google目前提供了有效的测试SKU,例如:
- 一次性购买测试:
android.test.canceled(模拟购买后取消)、android.test.refunded(模拟购买后退款)、android.test.item_unavailable(模拟商品不可用) - 订阅测试:
android.test.subscription.canceled、android.test.subscription.in_grace_period等
这些SKU仍可在测试中使用,且能触发对应的购买状态回调。
- 一次性购买测试:
Play Console测试账号+真实产品ID:这是更可靠的长期方案:
- 在Play Console的「测试」板块下设置内部测试/封闭测试版本,添加指定测试账号;
- 测试账号登录设备后,购买应用内真实产品ID时,不会产生真实扣费,也不会发送交易邮件;
- 可在测试代码中加入账号校验逻辑,若当前登录账号不在测试名单内,自动跳过购买测试或提示切换,避免误操作扣费。
使用Fake Billing Client进行仪器化测试:如果是纯本地仪器化测试,可引入
com.android.billingclient:billing-testing库,使用FakeBillingClient完全模拟Play计费流程,无需连接真实Play商店,测试更稳定且无扣费风险。
你提供的对话框截图显示无购买按钮,正是因为旧测试ID被判定为无效SKU,Play商店无法处理该购买请求导致的。
内容的提问来源于stack exchange,提问作者Aorlinn
相关产品推荐
相关产品推荐

