应用程序如何检测用户和/或设备之前从未安装过该应用程序

时间:2015-02-09 10:42:29

标签: android security

方案

用户只能在应用中获得第一次免费积分。之后我们想做防欺诈。我们需要检查用户和/或设备之前是否未安装过该应用程序。

我们可以接受出厂重置或有根设备的风险

我已经尝试了

  • 收听Intent.ACTION_PACKAGE_FIRST_LAUNCH。阅读后我了解此活动仅发送到Play商店,无法在任何其他应用中使用。
  • 检查字段" firstInstallTime"的应用程序包信息,当用户删除应用程序并进行安装时,将重置此信息。
  • Android备份服务,但用户可以停止备份和重置数据,因此这没有用。
  • App licensing看起来像是一个承诺解决方案,用于检测用户是否已安装该应用。但是,由于存在限制,将对以下内容进行描述:"您可以为免费应用实施许可控制,但前提是您正在使用该服务提供APK扩展文件。"我们是否需要制作一个小的APK扩展文件,只是为了验证许可证?"
  • 制作mac地址,imei,android id和其他一些东西的指纹。但这会让谷歌的扫描违反吗?我不会将它用于广告,但我担心他们认为我们违反了谷歌播放政策。

你怎么能帮助我

您能否帮助我选择一个好的方向来解决这个问题,并提供一些更好的方法来进行此验证。

2 个答案:

答案 0 :(得分:3)

出厂重置,二手手机和拥有多台设备的用户将是您的主要问题。 唯一标识用户的唯一方法是通过登录/密码或OpenId帐户进行身份验证。

答案 1 :(得分:-1)

如果您在服务器上管理用户信息而不是您可以执行的操作,请使用设备的IMEI号码并将其发送到您的服务器。它将记录用户的信息。现在,如果他/她再次卸载并安装应用程序,您的应用程序将再次在服务器上发送IMEI号码,您现在可以检查IMEI是否已经存在,如果存在则用户已经安装了您的应用程序,您可以通过登录管理同样的事情ID,但可以由用户伪造。更多的东西不会违反任何事情。用户可以在安装权限时看到您的应用将获取系统信息。