是否有像IOS供应商ID这样的应用程序的唯一ID?

时间:2017-12-20 11:56:06

标签: android

重新安装应用程序时,每个Android应用程序是否都有唯一的ID?有些人对Android应用程序说Application Id = Package Name但我需要一个唯一的标识符来跟踪应用程序。

编辑:我需要的不是包名称,因为尽管包名称对于应用程序是唯一的,但它并不是设备/用户所独有的。例如,我的应用程序的包名称为com.example.myapp,它与拥有该应用程序的每个设备相同。然而,当我重新安装应用程序时,它不会改变。

3 个答案:

答案 0 :(得分:1)

我对其中一个应用程序有类似的要求。我所做的是,只要应用程序在安装后第一次运行,它就连接到我的服务器并请求一个新的唯一ID。它与身份验证过程类似,但它会在首次启动应用时自动运行。

此外,还有一件事你可能会觉得有用。有 Linux用户ID 这样的东西,它对每个应用程序安装都是唯一的。

  

在安装时,Android会为每个程序包提供不同的Linux用户ID。   在整个包裹的生命周期中,身份保持不变   在那台设​​备上。在不同的设备上,同一个包可能有一个   不同的UID;重要的是每个包都有一个独特的UID   给定的设备。

答案 1 :(得分:1)

如果您希望在重新安装应用时更改,最好在您的应用中创建UUID并将其保存在SharedPreferences中。然后,每次需要此标识符时,您需要检查SharedPreferences。如果存在,请使用它,如果不重新生成并保存。 这种方法的唯一缺点是,如果用户在应用上执行clear data,则此ID将丢失。如果在这种情况下不丢失它很重要,您可以将其保存在文件中,以便只删除应用程序时删除。

除此之外,你可以使用androidId,即使重新安装应用程序也大致保持不变,这是一种更好的方法来独特地跟踪每个安装,尽管它有一些细节需要注意specially on android oreo

答案 2 :(得分:1)

这取决于此识别的目的是什么。为了保护隐私,您不应该无法通过您的应用程序识别某些用户。

您可以关注本文here

根据您对该ID的范围,可重置性,唯一性和完整性的要求,您可以选择最适合您的那个。

相关问题