Android - 计费 5.0.0 - 数据结构解释?

Ano*_*ous 7 android in-app-billing in-app-subscription play-billing-library

我对 Android 计费库的新版本(5)感到困惑。我的应用程序中有一些订阅,每个订阅都有每月一次的周期和 2 周的免费试用期。现在我想向用户显示我的订阅的定价详细信息。

当我获得每个订阅的产品详细信息时,它总是相同的。我在列表中得到 2 个项目,subscriptionOfferDetails其中第一个项目有两个PricingPhase项目,一个为 0 价格(免费试用),另一个为有效订阅价格。然后第二个SubscriptionOfferDetails项目有一个PricingPhase具有有效订阅价格的项目。

那么这是怎么回事呢?为什么 Google 以这种奇怪的结构返回我的订阅详细信息?为什么我收到 2SubscriptionOfferDetails件而不是 1 件?

我应该使用哪个项目来显示正确的订阅价格?另外,当用户想要购买时,我应该使用哪一个来启动付款流程?优惠代币不同。

注意:我对某些国家/地区有不同的价格。这会在这里发挥作用吗?

只是为了澄清

奇怪的是,全价选项在两种不同的SubscriptionOfferDetails商品中出现了两次。图片中第三个突出显示的项目是没有意义的,因为该选项已经存在于前一个SubscriptionOfferDetails项目中,但具有不同的offerToken.

在此输入图像描述

mis*_*ean 0

当您尝试检索 时subscriptionOfferDetails,它会根据资格标准返回用户有资格获得的所有优惠。

如果某个优惠有两个定价阶段项目,则意味着它具有免费试用或介绍优惠定价,然后是免费试用或介绍优惠期结束后的常规基本计划定价。

如果用户有资格获得多个优惠,您可以使用tagsBilling Library v5 中的新功能来检索用户可以购买的所选优惠,并使用offerToken构建启动购买流程所需的 billingFlowParams ( https://developer.android .com/google/play/billing/migrate-gpblv5#launching-offer)。