【问题标题】:How to save data based on device id如何根据设备ID保存数据
【发布时间】:2019-07-14 03:57:29
【问题描述】:

我有一个班级活动,我希望用户能够存储他们最喜欢的活动并从他们的设备访问这些活动。 这样做的问题是我不想登录 - 基本上我想根据正在使用的设备保存数据。我可以使用设备令牌来执行此操作,还是不可靠? 有谁知道其他方法可以做到这一点?

【问题讨论】:

  • 设备mac地址呢!
  • 我怎样才能得到这个?
  • 我认为获取 MAC 地址已成为多余 - 该链接上的答案似乎就是这种情况
  • 你们知道MAC地址是什么吗?无论如何,不​​要用它来唯一标识一个人。

标签: java android firebase


【解决方案1】:

基本上我想根据正在使用的设备保存数据。

这不是一个好的选择,因为用户可以随时更换设备。

我可以使用设备令牌来执行此操作,还是不可靠?

在 Firebase 中,有两种不同的标记:

  • 一种 FCM 令牌/实例 ID 令牌,用于标识特定用户设备上特定应用程序的安装。它不会以任何方式识别特定用户。

  • Auth ID 令牌标识特定应用程序的特定用户。它不会以任何方式识别特定设备。

这两个令牌完全不同,用于不同的目的。有关如何retrieve ID tokens on clients,请参阅Android 官方文档。

很遗憾,这两个令牌都不能用于上述说明之外的其他目的。

有没有人知道其他方法可以做到这一点?

是的,你绝对应该使用Firebase Anonymous Authentication

您可以使用 Firebase 身份验证来创建和使用临时匿名帐户来通过 Firebase 进行身份验证。这些临时匿名帐户可用于允许尚未注册您的应用的用户使用受安全规则保护的数据。

【讨论】:

  • 感谢您的回答。在我看来,Firebase 匿名身份验证是避免创建帐户的临时解决方案 - 这是正确的吗?
  • 不,不是。如果您不想创建实际帐户,您仍然可以使用 Firebase 匿名身份验证。它doesn't expire 没有缺点。我建议你继续这样做。
  • 干杯亚历克斯,还没有实现它,但听起来像是要走的路。如果我被卡住了,我一定会在此发布。
【解决方案2】:

回答:我可以使用设备令牌来执行此操作吗?

设备令牌的问题是,如果我卸载应用程序并重新安装它会改变。这似乎不是一个好方法,因为我没有更换手机,我刚刚完成了重新安装,但我仍然丢失了数据。我认为这似乎不是您想要的功能。

【讨论】:

  • 好的,感谢您的意见。您能建议另一种方法吗?
【解决方案3】:

您可以通过获取设备 IMEI 号码来完成您的工作,因为每个设备的 IMEI 号码都是唯一的。

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
 String imei= telephonyManager.getDeviceId()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-03
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多