Android - 如何从多个设备检测同一用户?
Posted
技术标签:
【中文标题】Android - 如何从多个设备检测同一用户?【英文标题】:Android - How to detect same user from multiple devices? 【发布时间】:2016-11-30 12:02:35 【问题描述】:我正在开发一个将用户创建的数据发送到服务器的应用程序。
当他在不同设备上使用该应用时,是否可以识别同一用户我的应用不必请求访问他的 Google 帐户、需要额外权限或要求他创建自定义登录凭据? (这很重要,因为我的应用需要为“匿名”用户工作。)
我的应用使用推送通知,对于任何给定的用户,我了解 FireBase 生成的令牌 ID 可能对于他的应用的每个设备安装都是相同的。因此,我正在考虑使用这些令牌 ID 来跨多个设备识别同一用户。但是,我不确定这种方法有多可靠 - 或者是否有更好的方法?
注意 - 我找到了 Best Practices for Unique Identifiers(特别是 Handling Multiple Installations 部分),但它没有帮助。
【问题讨论】:
Firebase 云消息传递实例 ID 令牌的作用与它的名字所暗示的完全一样:它标识应用程序的实例,因此在特定设备/配置文件上安装特定应用程序。它不以任何方式识别用户。如果要识别用户,则必须以某种方式对其进行身份验证,例如使用 Firebase 身份验证或使用他们在 android 中现有的活动配置文件。 【参考方案1】:我们可以使用同一个帐户管理多个安装,
-
使用 Firebase 生成设备令牌
在本地和服务器上存储令牌
在初始屏幕上始终检查存储在本地的令牌和存储在服务器上的令牌
如果显示差异,请用户仅保持一台设备处于活动状态以接收通知,
如果用户选择当前设备将该令牌存储到服务器。
【讨论】:
以上是关于Android - 如何从多个设备检测同一用户?的主要内容,如果未能解决你的问题,请参考以下文章
如何在flutter中从其他android型号中检测华为设备型号?