最小的方式来唯一识别Android用户

And*_*rew 23 android identity android-permissions

如何唯一标识已安装应用程序的用户,以便:

  1. 如果他们删除并重新安装您的应用,您将知道他们是谁;
  2. 如果他们将应用程序安装在他们打算同时使用的第二台设备上,您会知道是他们吗?

举个例子,我看到Netflix应用会在没有任何用户互动的情况下自动链接到您的桌面帐户.我猜他们使用accountManager.getAccounts()或类似的方法,因为他们也需要GET_ACCOUNTS许可.但当然,该许可被标记为Protection level: dangerous.是否有任何技术可以做到这种侵入性较小或可能令人担忧的技术?


回答这个问题的关键是既简单(对用户而言)和微创.Android提供了大量识别用户的方法,其中许多方法涉及刺破用户的隐私,如果这是唯一的方法,我会做我现在做的事情(可选的电子邮件注册).我只想让我的应用程序知道用户是否已经在我的系统中在整个安装过程中注册,而无需访问用户(用户名/密码,电子邮件地址,第三方OAuth等).

我的主要原因是:

  1. 我不希望重新安装后孤立其内容的用户提出支持请求; 和
  2. 我不想托管很多孤立的内容.

Abd*_*sae 10

查看Firebase身份验证.它非常无缝,不需要太多努力就可以合并.此外,它对最终用户来说并不感到干扰或麻烦.

这是Google 的视频教程.

编辑: 如果您的用户确定有带有电话号码的移动设备,您可以使用AccountKit.这也是他们所谓的OTA(一次性身份验证).AccountKit仅使用用户电话号码来验证和验证用户.

编辑: Firebase身份验证现在具有"电话验证"功能,类似于上面提到的AccountKit.两者都是很好的服务.但是,Firebase手机验证可让您从头开始创建自己的UI(这意味着比AccountKit更好的控制).此外,如果您不想创建UI,则可以始终使用FirebaseUI

  • 我将接受这个答案,因为我觉得它最接近我的目标,尽管下面有一些非常有趣的想法.@ assem-mahrous建议的跨设备通知系统最有趣(尽管我不确定它在安装过程中是持久的/确定性的).Firebase允许"匿名登录",因此用户可以立即进入应用程序,浏览,构建自己的内容,然后当他们感到投入并信任它时,他们可以将自己的身份升级到他们的Google帐户(或FB或电子邮件/密码).他们可以强制执行单一帐户. (2认同)
  • @Andrew当您向用户发送推送时,您可以获得一组用户如何通过静默推送卸载您的应用并在您的应用中处理它,用户不会收到通知,您只需获得成功和失败的响应 (2认同)