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

Google Play Billing:如何判断用户已订阅(二次启动/换设备场景)

订阅状态查询解决方案

二次启动应用时无需购买流程判断订阅

直接通过Google Billing Library提供的查询接口获取订阅数据,步骤如下:

  • 初始化BillingClient并连接成功后,调用queryPurchasesAsync方法,传入BillingClient.SkuType.SUBS作为查询类型。
  • 在回调中遍历返回的Purchase列表:
    • 过滤出isAcknowledged()为true的记录(确保是已确认的有效订阅)。
    • 检查getPurchaseState()是否为Purchase.PurchaseState.PURCHASED,同时对比getExpirationTime()与当前时间,确认订阅处于有效期内。
    • 将验证通过的订阅状态持久化到本地(比如SharedPreferences),下次启动可优先读取本地缓存,再定期触发远程查询同步,减少接口调用频率。

更换设备后判断订阅状态

由于没有后端服务,完全依赖Google Play账户的同步机制:

  • 用户在新设备上登录购买订阅时使用的同一Google Play账户后,调用上述相同的queryPurchasesAsync接口,Google Play会返回该账户下所有关联的有效订阅记录。
  • 若用户切换了Google账户,则无法获取原账户的订阅数据,此时需引导用户登录购买时的原始账户以验证订阅状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 00:25:54