【问题标题】:Android in-app purchasing: free credit vs. free trialAndroid 应用内购买:免费信用与免费试用
【发布时间】:2014-10-01 12:33:41
【问题描述】:

Android 的应用内计费支持subscriptions with a free trial period

...用户 [可以] 在购买之前试用您的订阅内容。试用期在您设置的时间段内运行,然后自动转换为完整订阅...

这很有吸引力,但这样的模型是

  • 容易被滥用(例如,免费杂志试用将允许用户下载所有内容)

此外,

  • 强制用户承诺(即,用户承诺订阅,尽管可以努力取消)。

以杂志为例,我宁愿

  1. 允许用户免费下载10篇文章,然后
  2. 为用户提供订阅机会。

直观地说,(1) 可以通过给用户 10 项信用并为每次下载消耗一个信用项来建模。一旦免费信用用尽,(2) 可以通过向用户提供订阅来获取。我可以看到昂贵且不安全的解决方案:

  • 昂贵的(服务器)解决方案synx(下)是对的:我可以设置自己的服务器,但这很昂贵。

  • 不安全的(程序化)解决方案。该应用在提供订阅前允许下载 10 次(参见https://stackoverflow.com/a/18674158/3664487),但可以通过清除应用数据或重新安装应用来避免订阅。

我看不到使用计费 API 的可行解决方案。计费 API 可以支持吗?

【问题讨论】:

    标签: android in-app-billing android-billing


    【解决方案1】:

    在您的远程服务器上保留使用情况的检查和计数器,一旦达到限制,在订阅付款之前不允许该用户下载任何内容。我看不到那里的问题,您只需要自己实现即可。

    【讨论】:

    • 另一种选择是将计数器存储在设备上独立于应用程序的文件中。清除数据或重新安装应用程序后,该文件不会被删除,但用户可以找到并编辑此文件或将其删除。无论如何,如果您将计数器存储在本地,无论如何它都可以被利用。如果没有服务器,这一切都取决于您想让用户利用它的难度。
    • 我知道服务器是必需的,但它可以是谷歌服务器,而不是我自己的服务器吗?更准确地说,我可以使用计费 API 吗?
    • 作为参考,“[to] 将计数器存储在设备上独立于应用程序的文件中”,您可能应该使用“可以与其他应用程序共享的[文件]”(参见 @987654321 @),因为这些文件在清除数据或重新安装应用后不会被删除。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多