有没有办法检查应用程序是否已重新安装?

时间:2019-03-15 09:35:19

标签: android unity3d installation google-play

我有一个问题,我的用户中有5%多次注册到服务器。 这只能在全新安装的情况下发生,因为我在开始时执行了简单的注册:(伪代码):

{{1}}

然后,我将他的设备UUID存储在服务器上。

如您所见,用户不能在同一设备上注册两次。他唯一的方法是重新安装应用程序,因为将擦除SharedPrefs。

但是...

有些人正在注册两次,3次甚至更多。通过按数据库中的deviceID进行过滤,我可以看到这一点,并且我有多个具有相同deviceID的用户记录。

要解决这个问题,我需要确定它不是某种机器人(例如Google Play的发布前报告设备)。

问题

有没有办法获取某种唯一安装标识符,该标识符仅与相同的Google Play安装事件相同?

您可能会说,我可以使用SharedPrefs本身进行检查,存储某种形式的布尔值“ firstInstall”,然后使用新安装将其擦除。 但是我不能,因为我有一个假设,即在这些设备上启动应用程序后,SharedPrefs会被抹掉。

这主要发生在某些LG的三星J5,“ vivo vivo”,华为。

1 个答案:

答案 0 :(得分:0)

您关于SharedPrefs仅在卸载时被清除的假设是错误的。对于任何应用程序,用户可以随时执行“清除应用程序数据”。并且有许多(不是很好)的手机清洁工具可以为用户提供这一功能。

official android guidelines for unique identifiers are here

建议取决于标识符的用途。听起来您可能正在使用它进行用户配置文件分析,或者使用广告ID也很合适。