如何唯一地识别已安装您的应用程序的用户,以便:
- 如果他们删除并重新安装您的应用程序,您将知道是他们;
- 如果他们在第二个设备上同时安装您的应用程序,您将知道是他们?
以 Netflix 应用程序为例,它会自动链接到您的桌面帐户,无需任何用户交互。我猜测他们使用 accountManager.getAccounts()
或类似的方法,因为他们还需要 GET_ACCOUNTS
权限。但是当然,该权限标记为 保护级别:危险
。是否有任何 less invasive 或潜在令人担忧的技术来实现这一点?
回答这个问题的关键是既简单(对于用户),又尽可能少干扰用户。Android 提供了很多识别用户的方法,其中很多方法涉及突破用户的隐私,如果那是唯一的方法,我就会像现在一样(可选的电子邮件注册)。我只是想让我的应用程序知道,一个用户是否已经在我的系统中注册,不需要进行采访(用户名/密码、电子邮件地址、第三方 OAuth 等)。
我主要的原因是:
- 我不希望收到用户在重新安装后留下来的托管内容的支持请求;以及
- 我不想托管大量的孤立内容。
GET_ACCOUNTS
被标记为“危险”级别的原因之一。如果您根据帐户跟踪谁安装了应用程序,那么您可能会收集个人信息。而且,尽管使用相同的链接帐户,但同时使用的设备基本上没有任何连接,我想不出任何方法。 - chris-polluxcom.mycompany.app1
和com.mycompany.app2
就可以看到相同的值或类似的东西。但我可以理解为什么目前这样做行不通。 - Andrew