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

loadOwnedPurchasesFromGoogle()无法加载商品及购买历史问题求助

关于缓存读取权限的问题

当系统提示当前应用版本无法访问billing服务时,确实无法读取对应缓存,原因如下:

  • BillingProcessor.loadOwnedPurchasesFromGoogle() 方法的执行逻辑需要先和Google Play Billing服务完成合法性校验,校验不通过时不会触发本地缓存读取流程
  • 你此前已经清空了SharedPreferences存储的本地购买缓存,在没有成功和Billing服务建立连接的前提下,无法从服务端拉取新的购买数据写入本地,因此缓存长期为空

无需部署即可测试的方案

1. 用Google Play静态测试商品调试

无需将应用版本上传到Play Console发布,直接使用谷歌官方预留的静态测试商品ID替换你的业务商品ID即可完成流程测试,常用测试ID包括:

  • 普通消耗品:android.test.purchased
  • 订阅商品:android.test.subscription
  • 购买失败场景:android.test.canceled
    仅需保证测试设备登录的谷歌账号已加入Play Console的内部测试名单、应用签名和Play Console绑定的测试签名一致即可,无需部署新版本。

2. 本地Mock BillingProcessor返回结果

开发阶段可以直接写模拟逻辑替换真实的BillingProcessor调用,根据测试需要预设商品列表、购买记录、支付结果返回值,完全不需要依赖Google Play服务和线上部署,适合调试前端业务逻辑。

3. 快速恢复原有服务访问能力

你清空SharedPreferences后功能失效,大概率是本地存储的Billing服务关联校验信息被清除,可按以下步骤修复,不需要重新部署版本:

  • 清理测试设备上的Google Play客户端缓存,重启设备后重新登录已加入测试名单的谷歌账号
  • 确保当前本地编译的安装包签名、版本号和你上传到Play Console内部测试轨道的安装包完全一致,直接本地安装即可正常访问Billing服务
  • 核对代码中R.string.play_console_license对应的许可密钥,确认和Play Console中获取的公钥完全匹配

结果展示图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 06:24:05