如何查明用户是否有资格使用 Billing Library 免费试用(换句话说,他之前没有使用过免费试用)?

Kse*_*nia 13 android subscription google-play play-billing-library

如何确定用户是否有资格免费试用计费库?换句话说,如何知道用户之前没有使用过免费试用呢?我没有找到任何 API 可以帮助确定这一点。并且此信息与应用程序帐户无关,而是与用户的 Google Play 帐户相关。用户可以在应用程序中创建一个新帐户,但如果他已经参加了免费试用,即他之前使用当前的 Google 帐户(在 Google Play 中)购买了免费试用订阅,他将在弹出窗口中看到一条消息来自 Google“您已经参加了免费试用”。用户还可以随时更改其在 Google Play 中的 Google 帐户。因此,将用户已购买订阅的信息存储在服务器上是没有帮助的。我需要在应用程序用户界面上显示这些信息。

Tar*_*vyi 7

当您查询订阅数据时,您将收到一个ProductDetails. 它将是基本计划和优惠的组合。如果用户有资格获得免费试用优惠 - 将出现相应的项目,如果没有(例如,如果之前已使用过) - 将不会出现免费试用。

为了区分不同的基本计划及其优惠,我个人使用标签。您可以将它们添加到控制台中,然后按该标签过滤列表ProductDetails

例如

const val MONTHLY_BASE_PLAN = "monthly-base-plan"
const val MONTHLY_FREE_TRIAL_OFFER = "monthly-ft-offer"
const val YEARLY_BASE_PLAN = "yearly-base-plan"
const val YEARLY_FREE_TRIAL_OFFER = "yearly-ft-offer"
Run Code Online (Sandbox Code Playgroud)

  • 是的。刚刚又检查了一遍。对于新用户,提供免费试用,对于已经尝试过免费试用的用户,仅提供基本计划。 (2认同)