Play Billing Library 3实现Android内购未收到购买确认回调问题咨询
Android Java端Google Play内购onQueryPurchasesFinished无触发问题解决方案
- 优先确认你当前集成的Google Play Billing Library版本,从3.0版本开始,
onQueryPurchasesFinished回调已被官方废弃,对应查询购买记录的方法已经替换为queryPurchasesAsync(),配套回调为QueryPurchasesResponseListener,你需要将旧版IAP的回调逻辑替换为对应版本的监听实现。 - 检查
queryPurchasesAsync调用时传入的商品类型参数是否准确,一次性消费品需传BillingClient.SkuType.INAPP,订阅类商品需传BillingClient.SkuType.SUBS,参数类型不匹配会导致查询无返回、不触发回调。 - 确认你是在BillingClient初始化完成后再调用查询接口,必须等待
onBillingSetupFinished方法返回响应码BillingResponseCode.OK后,再执行购买查询、拉取商品列表等操作,未完成初始化的调用不会触发任何回调。 - 核对测试环境配置:测试设备的Google Play商店需更新到最新正式版,当前登录的谷歌账号已加入应用的内购测试分组,你要测试的内购商品已在Play后台完成发布、状态为活跃。
- 若仅需要确认购买流程是否完成,除了本地查询购买记录,可额外通过服务端调用Google Play Developer API校验客户端返回的购买票据,规避本地接口异常导致的状态判断失误。
内容的提问来源于stack exchange,提问作者Eyvind Almqvist
相关产品推荐
相关产品推荐

