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

Android Billing 5.x:如何从Purchase对象获取订阅优惠ID?

如何从Billing Library 5.x的Purchase对象中获取订阅优惠ID?
  • 通过Purchase的getSubscriptionOfferDetails()方法提取
    Billing Library 5.x里的Purchase对象自带getSubscriptionOfferDetails()方法,调用后会返回一个List<SubscriptionOfferDetails>集合,其中的元素对应用户实际购买的优惠选项。你可以从SubscriptionOfferDetails实例里通过getOfferId()拿到你定义的优惠ID(比如"sum.monthly"或"sub.yearly"),也可以用getOfferToken()获取优惠令牌,用于后续订阅管理操作。

  • 代码示例

    // 假设已获取到目标Purchase对象purchase
    val offerDetails = purchase.subscriptionOfferDetails
    if (!offerDetails.isNullOrEmpty()) {
        val selectedOffer = offerDetails.first()
        val targetOfferId = selectedOffer.offerId // 这里得到用户购买的优惠ID
        val offerToken = selectedOffer.offerToken // 可选:获取优惠令牌
    }
    
  • 注意点

    • 如果用户购买的是无优惠的基础订阅,这个集合会是空的,处理时要做好判空避免异常。
    • 确认你的Billing Library版本确实是5.x及以上,这个API是5.x版本新增的,低版本不支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 08:05:21