【问题标题】:Best way to link a FCM token to a device?将 FCM 令牌链接到设备的最佳方式?
【发布时间】:2017-08-26 16:12:51
【问题描述】:

我正在制作一个服务器,它根据发生的情况(温度和/或湿度变化、门打开等)使用 FCM 向客户端发送消息。

但如果令牌可以更改,我如何跟踪设备以将消息发送到正确的设备(不使用登录系统)?

我正在考虑将令牌链接到数据库中的 sim iccid,这是否正确?

【问题讨论】:

  • 也许您可以创建一个随机的唯一 ID 以与设备链接并使用令牌发送而无需用户实际登录?
  • 但如果重新安装应用程序也会改变
  • 我认为最好为每个用户使用唯一的主题,例如 topic_useremail 并将消息发送到主题。无论更换设备。
  • 当令牌发生变化时,设备必须告诉您新令牌 - 这就是您了解它的方式。

标签: android firebase firebase-cloud-messaging


【解决方案1】:

使用设备的广告 ID。除非用户手动更改它,否则它不会更改。请查看线程How to get Advertising ID in android

【讨论】:

    【解决方案2】:

    2017 年 5 月 18 日更新:

    从 Android O 开始,ANDROID_ID 现在将是 different per app per user in the device


    原答案:

    如果您正在寻找可以使用的持久(可能是永久的)ID,我想您可以使用ANDROID_ID

    字符串 ANDROID_ID

    用户首次设置设备时随机生成的 64 位数字(作为十六进制字符串),在用户设备的整个生命周期内应保持不变。如果在设备上执行恢复出厂设置,该值可能会发生变化。

    注意:当设备具有multiple users(在某些运行 Android 4.2 或更高版本的设备上可用)时,每个用户都显示为完全独立的设备,因此 ANDROID_ID 值对每个用户都是唯一的。

    常量值:“android_id”

    但是,根据您的用例,您仍应考虑一些因素。我建议阅读Best Practices for Unique Identifiers 文档。

    FCM 方面,它通常与用户相关联,因此通常与用户详细信息配对。

    【讨论】:

      猜你喜欢
      • 2020-05-01
      • 2017-10-23
      • 1970-01-01
      • 2020-06-15
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      相关资源
      最近更新 更多