用于为Android应用程序生成促销代码的id

时间:2017-05-01 20:25:15

标签: android reward-system

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

调查它有几种方法:

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

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

    如果我想奖励我不会销售我的应用的国家/地区的用户,该怎么办?

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

    2. 我可以让用户告诉我应用程序中的一些代码,然后为该代码生成解锁代码......我想的可能是ANDROID_ID。不确定哪些安全问题可能会带来ANDROID_ID的读取,例如广告客户ID。另一种方法是在应用安装上生成唯一代码并使用它。

    3. 使用类似Firebase数据库的内容,然后在那里存储一堆代码,并检查服务器中输入的代码是否可用。

    4. 我正在等待你对如何为Android实现这一点的想法。

3 个答案:

答案 0 :(得分:2)

  • 在db中的某个地方创建一个表,或者使用类似Firebase的字段[code(String),redeemed(boolean)]

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

  • 让用户在应用中输入代码,向您的api / Firebase发出请求,以兑换该代码,该代码以事务方式翻转已兑换为true并返回true。收到true后,在应用中保存一些东西,以便记住它已被解锁。

不要忘记为你的api固定SSL证书,以确保他们不会伪造api电话。

如果你感到懒惰&不关心安全性,只需生成大量代码,在应用程序中对其进行硬编码,保留副本,然后将其交给人们使用。

答案 1 :(得分:1)

我会选择3号,但变化较小,因为您的计划是奖励您不销售应用的国家/地区的用户。我会有一个生成randomUUID()的奖励页面,它通过使用标头参数直接向我的服务器发送一个后置API来识别合法的我的应用程序和合法用户/帐户,从而绑定到用户和我的云/服务器。

UUID

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

答案 2 :(得分:0)

我能想到的是为服务器端的特定用户创建一个唯一的ID(MD5哈希),因此如果可以应用促销代码则有一个标志。

如果它(标志)从false变为true,则向用户发送短信或电子邮件,告知他可以使用某些代码(由ID和凭证上的某些算法生成,并且也有效),以免费解锁PAID内容

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