Android 应用内购买免费试用订阅 - 如何避免滥用?

标签 android in-app-purchase subscription

我四处寻找关于如何最好地解决这个问题的指导...... 我已阅读 Google Play 应用内订阅 ( http://developer.android.com/google/play/billing/billing_subscriptions.html ) 和关于实现订阅 ( http://developer.android.com/google/play/billing/billing_integrate.html#Subs ) 的部分,但我仍然没有找到一种方法避免滥用。

我在这里也看到了相关问题 - Google Inapp purchasing and trial period .但是,使用 SharedPreferences 相对容易被滥用。

我有一个应用需要订阅才能获得全部功能。我设置了按月订阅的应用内购买产品,比如 ID = "myapp.subscription.monthly",费用为 0.99 美元/月。 我想让人们有机会体验全部功能,所以我给“myapp.subscription.monthly”提供了 30 天的试用期。

当用户首次安装该应用时,系统会提示他们购买每月订阅,向他们收取 0.00 美元,并告知从现在起 30 天后,他们的卡将开始收取每月 0.99 美元的费用。

当我的应用程序调用“getPurchases()”时,将返回他们已订阅的事实。

如果他们在免费试用期间取消,或者说在计费几个月后,根据“实现”部分,调用“getPurchases()”不会返回任何结果:

The call returns a Bundle with all the active subscriptions owned by the user. Once a subscription expires without renewal, it will no longer appear in the returned Bundle.

由于用户没有有效的订阅,我的应用会提示他们购买订阅以获得全部功能。同样,他们将获得 30 天的免费试用期。

我想过要有第二个订阅产品,比如“myapp.subscription.monthly.no.free.trial”,我会把它作为可供购买的商品。但是,如果没有办法询问 Google Play 用户是否曾经之前购买过订阅,我的应用就不知道应该提供“无免费试用”产品。

那么,如何避免有人只是一遍又一遍地订阅和取消以继续获得 30 天的免费试用期呢?有没有办法向 Google Play 询问完整的购买历史记录?

最佳答案

根据文档(https://support.google.com/googleplay/answer/2476088?hl=en,试用订阅),它说:

You can't sign up for multiple trials.

我猜 Google 会自动处理这个问题

关于Android 应用内购买免费试用订阅 - 如何避免滥用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25612177/

相关文章:

java - 使用 time4j 获取该月的天数

Android Studio - 条件总是正确的?

java - 添加 NavigationItemSelectedListener 后菜单项不会变为 Activity 状态

iphone - 升级后应用内购买产品 ID 无效

iOS 收据数据在其他设备中返回 nil

reporting-services - SSRS 2017 订阅将无法开放

android - 在 Android 中使用 Sprite 表动画

ios - Swift In App 订阅 如何查看活跃状态?

android - 如何在 Play 控制台中设置订阅默认价格?

stripe-payments - 使用带动态计划的 strip 订阅成员(member)