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

升级Google Play Billing至5.1.0,求SkuDetails.getOriginalJson()官方替代方法

Google Play Billing 5.1.0 替代 SkuDetails.getOriginalJson() 的官方方案

在Google Play Billing 5.x版本中,官方确实移除了SkuDetails.getOriginalJson()方法——这是因为新版本重构了商品信息的模型设计,官方推荐直接通过ProductDetails的公开API获取字段,而非依赖原始JSON数据,原始JSON属于内部实现细节,Google不保证其结构的稳定性,未来版本可能随时变更。

最优官方解决方案

直接使用ProductDetails提供的公开getter方法提取所需字段,自行构建需要发送给后端的JSON或数据结构,示例常用字段获取:

  • 商品ID:productDetails.getProductId()
  • 商品类型(一次性购买/订阅):productDetails.getProductType()
  • 商品标题:productDetails.getTitle()
  • 商品描述:productDetails.getDescription()
  • 价格信息:
    • 一次性商品:productDetails.getOneTimePurchaseOfferDetails()(可获取价格、货币代码等)
    • 订阅商品:productDetails.getSubscriptionOfferDetails()(包含不同订阅档位的价格、周期等信息)

不推荐的方案及风险

  • 访问内部JSONObject成员:该成员被标记为@hide,属于非公开API,直接反射访问会触发编译警告,且Google随时可能修改内部实现导致代码崩溃。
  • 从toString()解析内容:toString()的输出格式没有官方规范,版本更新后内容结构可能发生变化,依赖该方式会带来兼容性隐患。

内容的提问来源于stack exchange,提问作者Doron Yakovlev Golani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:25:19