【问题标题】:How to avoid giving free trial of the Application's In-App Subscription to users who already have consumed it?如何避免将应用内订阅免费提供给已经消费过的用户?
【发布时间】:2019-11-04 11:22:11
【问题描述】:

我面临的问题是,用户可以通过在其设备上创建并使用新的 Apple 或 Google ID 登录来获得免费试用权益,而不受我的应用内购买的任何限制。

我可以维护已使用免费试用版的用户列表,因为该应用需要登录,并且我可以将该购买映射到该帐户,但 Apple 和 Google 不会将该用户识别为现有用户该购买将再次提供免费试用优惠,无需任何费用。

我想出的一种解决方案是在各自的商店中保留两个产品 ID,例如:

  1. my_in_app_subscription_with_trial:它将为任何新用户提供免费试用的好处。
  2. my_in_app_subscription_without_trial:会在用户购买的那一刻开始订阅。我可以为那些已经免费试用的用户使用它。

在向各个商店申请订阅时,有没有什么方法可以有条件地让用户免费试用应用内订阅?

除了上述之外还有什么建议吗?

我看了这个问题Android in-app purchase of a subscription with a free trial - how to avoid abuse?

但上述情况由谷歌和苹果负责。

【问题讨论】:

  • 在 iOS 上,您可以使用 DeviceCheck 框架记录指示特定设备已使用免费试用的位。
  • 嘿@Paulw11 感谢您的回复,我可以从用户用于登录我的应用程序的帐户了解试用。我在问如何限制用户再次获得试用期,这正在由 Apple 和 Google 处理。
  • 这真的很难做到。您需要一个完整的服务器端来检查和处理所有内容。
  • 我得到了应用程序的服务器端,请告诉我如何控制 Apple 和 Google 订阅不让特定用户访问试用期?
  • 如果用户必须登录您的帐户系统才能购买订阅,那么您可以检查他们之前是否进行过试用,然后提供适当的应用内购买。如果他们不先登录,那么你就不能。您可以使用 DeviceCheck 查看此设备之前是否进行过免费试用,并再次提供适当的应用内购买。你可能想多了。不断创建新的 Apple ID 是一项繁重的工作。此外,iOS 仅允许在设备上进行如此多的 App Store 帐户更改,然后才会锁定更改 30 天。

标签: android ios in-app in-app-subscription


【解决方案1】:

在 Google Play 上,您可以调用 Play Billing Library 中的 queryPurchaseHistory API。如果您查看过您的订阅项目之前的历史记录,那么您就知道该用户已经使用了他的免费试用版。

通过 Google 登录使用不同的 Google ID 登录将无济于事。实际上,应用内购买与下载您的应用的帐户相关联。用户确实必须从设备上完全注销所有者帐户并使用新帐户登录才能进行这种滥用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-26
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2020-05-30
    • 2016-06-06
    • 2021-07-25
    • 2018-06-09
    相关资源
    最近更新 更多