用于为 android 应用生成促销代码的 ID

What id to use to generate promo codes for android app

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

调查它有几种方法:

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

You agree to distribute Promotional Codes only to users located in countries where your Products, in-app item in your Products, or content related thereto, are permitted.

如果我想奖励我的应用未销售到的国家/地区的用户怎么办?

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

  2. 我可以让用户告诉我应用程序中的一些代码,然后针对该代码生成一个解锁代码……我在想也许 ANDROID_ID。不确定哪些安全问题可能导致 ANDROID_ID 的读取,例如广告商 ID。另一种方法是在应用安装时生成唯一代码并使用它。

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

我正在等待您关于如何为 android 实施此功能的想法。

我会选择第 3 个,但变化很小,因为您的计划是奖励来自您不销售应用程序的国家/地区的用户。我将有一个奖励页面生成 randomUUID() 并通过直接向我的服务器发送 post API 与用户和我的 cloud/server 相关联应用程序和合法 user/account.

UUID

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

  • 在某处的数据库中创建一个 table,或者使用类似 Firebase 的字段 [code (String), redeemed (boolean)]

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

  • 让用户在应用程序中输入代码,向您的 api/Firebase 发出请求以兑换该代码,这在交易中将 redeemed 翻转为 true 和 returns true。收到 true 后,在应用中保存一些内容以记住它已解锁。

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

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

我能想到的是在您的服务器端为特定用户制作一个唯一 ID(MD5 哈希),从而有一个标志来判断是否可以应用促销代码。

如果它(标记)从 false 变为 true,则向用户发送短信或电子邮件,告知他可以利用一些代码(随附的,由一些算法生成的 ID 和凭据也具有有效性)来解锁付费内容免费。

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