【问题标题】:What id to use to generate promo codes for android app使用什么 id 为 Android 应用生成促销代码
【发布时间】:2017-05-01 20:25:15
【问题描述】:

我正在考虑在我的应用中为有价值的用户提供免费解锁代码,这意味着他们无需购买应用即可完全访问它。

查看它有几种方法:

  1. Google Play 促销代码:最初这听起来不错,但它们的条款有点限制,例如:

您同意仅将促销代码分发给位于 您的产品、产品中的应用内商品或 与之相关的内容,是允许的。

如果我想奖励来自我的应用程序不销售到的国家/地区的用户怎么办?

  1. 我可以为用户的电子邮件生成解锁码...但这会引起一些隐私问题

  2. 我可以让用户告诉我一些来自应用程序的代码,然后为该代码生成一个解锁代码...我在想可能是 ANDROID_ID。不确定哪些安全问题可能会导致读取 ANDROID_ID,例如 Advertiser id。另一种方法是在应用安装和使用时生成唯一代码。

  3. 使用 Firebase 数据库之类的东西,然后在其中存储一堆代码并检查在应用程序中输入的代码是否在服务器中可用。

我正在等待您对如何为 android 实现此功能的想法。

【问题讨论】:

  • 我不确定,但也许许可证中的条件是关于您的产品可能是非法的国家/地区。例如,在一个国家/地区的某个年龄合法的内容可能在另一个国家/地区的该年龄不合法。
  • 您可以考虑使用 Firebase 云功能。当用户值得免费访问代码时,您可以调用该云代码并生成一个新代码来显示它们。我会将该代码存储到firebase中。当它实际使用时,您可以在 Firebase 中旁边有另一个布尔列,并更新它已被使用。因此,如果其他人试图将其传递给朋友,他们将无法做到。
  • 好吧,我不知道,我一周前写了支持但没有答案,所以我不能假设允许的内容是什么。我的应用不适用于所有 Google Play 国家/地区。
  • 为什么不在后端生成所有的促销代码然后发送到客户端呢?更安全方便

标签: android reward-system


【解决方案1】:
  • 在某处的数据库中创建一个表,或使用 Firebase 之类的字段 [code (String), rededed (boolean)]

  • 当您想向用户提供促销代码时,生成唯一的促销代码并将其插入到表格中(代码,false)。

  • 让用户在应用程序中输入代码,向您的 api/Firebase 发出请求以兑换该代码,该代码在事务上将已兑换为 true 并返回 true。收到 true 后,在应用中保存一些内容以记住它已被解锁。

不要忘记为您的 api 固定 SSL 证书,以确保它们不会伪造 api 调用。

如果您感到懒惰并且不关心安全性,只需生成大量代码,在应用程序中对其进行硬编码,保留一份副本,然后分发给他人。

【讨论】:

    【解决方案2】:

    我会选择第 3 位,但会有细微的变化,因为您的计划是奖励来自您不销售应用的国家/地区的用户。我将有一个生成randomUUID() 的奖励页面,该页面通过直接向我的服务器发送一个带有标头参数的发布 API 以合法地识别我的应用程序和合法用户/帐户,从而与用户和我的云/服务器相关联。

    UUID

    这样我可以在设备上生成 UUID 并与服务器上的奖励同步。

    【讨论】:

      【解决方案3】:

      我能想到的是在您的服务器端为特定用户创建一个唯一 id(MD5 哈希),从而为是否可以应用促销代码设置一个标志。

      如果它(标志)从假变为真,向用户发送短信或发送电子邮件,告知他可以利用一些代码(一起发送,由 ID 和具有有效性的凭证的某种算法生成)免费解锁付费内容.

      OO-> 否则,如果您想推广或分发这些促销代码,请创建一个包含您想要分发的所有类型的表格,然后如果任何用户输入该促销代码,只需将其从促销代码表中删除并将该代码分配给相应的用户,如果尚未使用促销代码。

      【讨论】:

        猜你喜欢
        • 2018-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多