You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Billing 4.0.0调用querySkuDetailsAsync无返回结果问题求助

问题根因及解决方案

1. 代码显性错误(直接导致无响应)

你的代码存在参数传递错误:你初始化了skuList并将目标SKU添加到该列表中,但构造SkuDetailsParams时调用setSkusList()传入的是未定义变量sku_Details,并非你实际构造好的skuList。该错误会导致结算库拿到无效SKU列表,直接不触发回调,就是你当前遇到的无响应问题。
修正方案:
将

.setSkusList(sku_Details)

修改为

.setSkusList(skuList)

2. 其他排查点

  • 检查BillingClient初始化配置:4.0版本结算库要求初始化时必须调用enablePendingPurchases(),即使你没有使用待处理购买能力,缺少该配置也可能导致回调异常。
  • 检查测试设备的Google Play商店版本:必须不低于20.0.0才能兼容4.0版本结算库,低版本会出现无回调问题。
  • 检查测试账号权限:测试账号必须在Google Play Console的许可测试名单内,测试用APK的版本号、签名必须和后台提交的测试包完全一致。
  • 避免高频调用:短时间内多次重复调用querySkuDetailsAsync会被Google Play限流机制拦截,无任何返回。
  • 检查BILLING权限:确认应用正常持有com.android.vending.BILLING权限,4.0版本结算库会自动合并该权限,如构建配置有主动移除权限的逻辑需要删掉。

3. 快速验证方案

你可以用硬编码的测试参数快速验证回调是否正常:

List<String> testSkuList = Collections.singletonList("MySKU_Character_001");
SkuDetailsParams params = SkuDetailsParams.newBuilder()
        .setSkusList(testSkuList)
        .setType(BillingClient.SkuType.SUBS)
        .build();

替换原有参数构造逻辑即可快速定位问题。

内容的提问来源于stack exchange,提问作者Maasaivatar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 12:24:05