9

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

调查它有几种方法:

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

您同意仅向位于允许您的产品、产品中的应用内商品或与之相关的内容的国家/地区的用户分发促销代码。

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

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

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

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

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

4

3 回答 3

2
  • 在某处的数据库中创建一个表,或者使用带有字段 [代码(字符串),已赎回(布尔值)] 的类似 Firebase 的东西

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

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

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

或者

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

于 2017-05-31T18:18:51.127 回答
1

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

UUID

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

于 2017-05-31T08:43:59.900 回答
0

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

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

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

于 2017-06-05T16:00:28.593 回答