我有一个问题,我的用户中有5%多次注册到服务器。 这只能在全新安装的情况下发生,因为我在开始时执行了简单的注册:(伪代码):
{{1}}
然后,我将他的设备UUID存储在服务器上。
如您所见,用户不能在同一设备上注册两次。他唯一的方法是重新安装应用程序,因为将擦除SharedPrefs。
有些人正在注册两次,3次甚至更多。通过按数据库中的deviceID进行过滤,我可以看到这一点,并且我有多个具有相同deviceID的用户记录。
要解决这个问题,我需要确定它不是某种机器人(例如Google Play的发布前报告设备)。
有没有办法获取某种唯一安装标识符,该标识符仅与相同的Google Play安装事件相同?
您可能会说,我可以使用SharedPrefs本身进行检查,存储某种形式的布尔值“ firstInstall”,然后使用新安装将其擦除。 但是我不能,因为我有一个假设,即在这些设备上启动应用程序后,SharedPrefs会被抹掉。
这主要发生在某些LG的三星J5,“ vivo vivo”,华为。
答案 0 :(得分:0)
您关于SharedPrefs仅在卸载时被清除的假设是错误的。对于任何应用程序,用户可以随时执行“清除应用程序数据”。并且有许多(不是很好)的手机清洁工具可以为用户提供这一功能。
official android guidelines for unique identifiers are here。
建议取决于标识符的用途。听起来您可能正在使用它进行用户配置文件分析,或者使用广告ID也很合适。