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

Google Play Billing 5:多优惠场景下如何获取订阅基础套餐价格?

获取Billing 5中订阅的基础套餐价格

在Google Billing Library 5里,确实没有直接的isBasePlan()或getBasePlans()方法,但你可以通过SubscriptionOfferDetails的**getOfferType()**方法来区分基础套餐和促销优惠:

  • 当getOfferType()返回SubscriptionOfferDetails.OFFER_TYPE_BASE_PLAN时,该条目就是基础套餐对应的订阅信息;
  • 返回SubscriptionOfferDetails.OFFER_TYPE_PROMOTION时,则是促销优惠。

具体实现代码

遍历SubscriptionOfferDetails列表,筛选出基础套餐后,从其定价阶段中提取价格即可:

List<SubscriptionOfferDetails> subscriptionOfferDetailsList = productDetails.getSubscriptionOfferDetails();
if (subscriptionOfferDetailsList != null) {
    for (SubscriptionOfferDetails offerDetails : subscriptionOfferDetailsList) {
        // 筛选基础套餐
        if (SubscriptionOfferDetails.OFFER_TYPE_BASE_PLAN == offerDetails.getOfferType()) {
            // 获取基础套餐的定价阶段列表
            List<PricingPhase> pricingPhases = offerDetails.getPricingPhases().getPricingPhaseList();
            if (!pricingPhases.isEmpty()) {
                // 基础套餐通常为固定循环价格,取第一个定价阶段的格式化价格
                String basePlanPrice = pricingPhases.get(0).getFormattedPrice();
                // 这里可以将basePlanPrice用于展示
            }
        }
    }
}

补充说明

如果你的订阅配置了多个基础套餐(比如月付、年付两种不同时长的基础方案),每个基础套餐都会对应一个OFFER_TYPE_BASE_PLAN类型的SubscriptionOfferDetails,遍历后就能拿到所有基础套餐的价格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:55:27