繁体   English   中英

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

[英]Android in-app purchase of a subscription with a free trial - how to avoid abuse?

我已经搜索了高低,以获得有关如何最好地解决此问题的指导......我已阅读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购买和试用期 但是,使用SharedPreferences会受到相对容易的滥用。

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

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

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

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

该调用返回一个Bundle,其中包含用户拥有的所有活动订阅。 一旦订阅到期而没有续订,它将不再出现在返回的Bundle中。

由于用户没有有效订阅,我的应用程序将提示他们购买订阅以获得完整功能。 再次,他们将获得30天免费试用。

我已经考虑过第二个订阅产品,比如说“myapp.subscription.monthly.no.free.trial”,我会把它作为可购买的商品。 但是,如果用户以前没有购买过订阅,那么无法询问Google Play,我的应用无法知道应该提供“免费试用”产品。

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

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

您无法注册多个试用版。

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

Google Play商店会自动处理此问题

如果您的用户取消免费试用然后尝试购买,他/她将显示0.99美元而不是再次免费试用。 但是,如果用户在取消免费试用后支付0.99美元,则实际结算只会在取消免费试用期结束后开始。

如果有任何方法可以知道产品是否在客户端进行免费试用,那将会很有帮助。 希望尽快将其纳入应用内结算API。

我也在使用应用程序结算,但谷歌总是为每个用户提供一个免费试用版。 如果您再次订阅相同的sku,那么Google将不会向该用户提供试用期。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM