我正在考虑在我的应用程序中使用一种方式为有价值的用户提供免费的解锁代码,这意味着他们不必购买该应用程序就可以完全访问它。
研究它有几种方法:
- Google Play促销代码:最初这听起来不错,但它们的术语有些限制,例如:
您同意仅将促销代码分发给 您的产品,产品内应用商品的国家或 允许与之相关的内容。
如果我想奖励一个我不将应用程序出售给的国家的用户?
-
我可以为用户的电子邮件生成一个解锁代码...但是这增加了隐私问题
-
我可以让用户从应用程序中告诉我一些代码,然后为该代码生成一个Unlock代码...我在想也许是Android_id。不确定哪些安全性问题可能会带来Android_id的读取,例如广告商ID所具有的。另一种方法可能是在应用程序上生成唯一代码并使用它。
-
使用诸如Firebase数据库之类的内容,然后在那里存储一堆代码,并检查应用程序中输入的代码是否可用。
我正在等待您对如何实施Android的想法。
-
在DB中创建一个表格,或使用诸如Firebase的字段[Code(string(,兑换(boolean(]
-
当您想将促销代码提供给用户时,生成唯一的促销代码并将其插入表(代码,false(。
-
让用户在应用程序中输入代码,向您的API/Firebase提出请求,以兑换该代码,该代码在交易中翻转兑换为true并返回真实。收到True后,请在应用程序中保存一些内容以记住它已被解锁。
不要忘记为您的API固定SSL证书,以确保他们不能伪造API调用。
或
如果您感到懒惰&不关心安全性,只生成大量代码,在应用程序中进行硬码,保留副本,然后将其分发给人们。
我会选择第3号,但是有了较小的差异,因为您的计划是奖励您不出售应用程序的国家/地区的用户。我将拥有一个奖励页面,该页面生成randomUUID()
,该页面通过使用标头参数直接向我的服务器启动帖子API与用户和我的云/服务器绑定,以合法地识别我的应用程序和合法的用户/帐户。
uuid
这样,我可以在设备上生成UUID并与服务器上的奖励同步。
我能想到的是为服务器端的特定用户制作独特的ID(MD5 Hash(,因此有一个标志,以便是否可以应用促销代码。
如果(flag(从false更改为true,SMS或通过电子邮件发送他可以使用某些代码的用户(发送,由ID上的某些算法生成,以及具有有效性的凭据(,以在免费中解锁付费内容。
oo-> 否则,如果要促进或分发类似这样的促销代码,请创建一个带有所有类型的表格,那么如果任何用户输入该促销代码,只需将其从促销代码表中删除,并将该代码分配给相应的用户,如果尚未使用促销代码。