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

如何判断Google Play Billing订阅购买是初始还是续订?

Android订阅初始购买与续订判断及服务器API配置指南

一、如何区分订阅的初始购买与续订

官方规则:所有初始订阅购买都需要确认,订阅续订无需确认。

客户端queryPurchasesAsync返回的Purchase对象确实没有直接标识是否为初始购买的字段,你需要自行在客户端或后端追踪这一状态:

  • 客户端本地追踪方案:
    1. 当首次处理一笔新的订阅购买(调用acknowledgePurchase之前),将该订阅的purchaseToken与用户ID关联,存储到本地(比如SharedPreferences、Room数据库)。
    2. 后续通过queryPurchasesAsync获取订阅记录时,检查本地存储:若该purchaseToken已存在,则判定为续订;若不存在,则判定为初始购买,完成确认逻辑后再存入本地。
  • 注意点:如果用户取消订阅后再次订阅,这属于新的初始购买,此时purchaseToken会更新,所以本地存储要以最新的purchaseToken为准。

若后续能启用服务器端API,还可通过purchases.subscriptions.get接口返回的SubscriptionPurchase对象判断:

  • 初始购买的orderId为独立格式,续订的orderId会在初始orderId后追加.X后缀(例如初始为GPA.1234-5678-9012-34567,续订为GPA.1234-5678-9012-34567.1)。

二、Google Play Developer API权限配置步骤

按以下步骤完成服务账号与权限配置:

  1. 进入Google Play控制台,打开你的应用详情页。
  2. 左侧菜单栏选择「API访问」。
  3. 点击「创建服务账号」,页面会跳转至Google Cloud控制台。
  4. 在Cloud控制台的服务账号页面,点击「创建服务账号」,填写名称、ID后完成创建。
  5. 回到Play控制台的「API访问」页面,找到刚创建的服务账号,点击「授予访问权限」。
  6. 在权限弹窗中,根据需求选择权限:仅查看订阅数据选「查看应用权限」,需管理订阅则选「管理应用权限」,确认后保存。
  7. 回到Cloud控制台的服务账号详情页,切换到「密钥」标签,点击「添加密钥」→「创建新密钥」,选择JSON格式下载并妥善保存密钥文件。
  8. 在Cloud控制台的API库中,搜索「Google Play Developer API」,点击「启用」。
  9. 后端代码中使用下载的JSON密钥文件完成身份认证,即可调用API接口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 21:12:52