android - Firebase Instance Id 和 Token 的范围

标签 android firebase firebase-cloud-messaging

我阅读了很多关于Firebase Instance Idregistration token 的文章 here , herehere .

我对 Instance IdToken 之间的范围和关系有些困惑。我想验证我的理解是正确的还是错误的。

  1. Instance Id 是为每个 App 生成的。不是每个已安装的设备。例如,如果您有 Mail 应用程序和 Notes 应用程序,您将在 firebase 上有两个实例 ID。
  2. Token 是为每个安装的设备生成的。例如,如果您有 10 个用户安装您的应用,您将拥有 10 个注册 token 。
  3. 一个 Instance Id 将有多个注册 token 。
  4. 通常,我们只需在我们的应用服务器上保留注册 token (不是实例 ID)即可发送推送通知

最佳答案

  1. 部分正确。 InstanceID 属于应用程序实例。在您的示例中,如果您有 Mail 应用程序和 Notes 应用程序,每个应用程序都有自己的实例 id,但两者不相同,因此不能将它们组合在一起。

    将应用实例视为应用安装。如果您在设备上安装了该应用程序,则它具有应用程序实例。如果您卸载它,它也会被删除,如果您重新安装它,它就是一个新的应用程序实例

  2. 正确。但是也有可能为同一设备拥有多个 token ,但这仅适用于拥有 multiple senders。 .

  3. 可能。参见#2。

  4. 是的。注册 token 是作为推送通知目标所需的值。

关于android - Firebase Instance Id 和 Token 的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45139505/

相关文章:

android - 无法接收 firebase 云消息,react--native-firebase

javascript - 在 Firebase 中获取特定行

android - 在 Android Oreo 及更高版本上根据 FCM 通知唤醒我的应用

ios - Firebase iOS 推送通知在首次应用启动时未收到

android - 从相机拍照而不预览

java - Android Afreechart - 更改点形状、线条粗细和颜色

android - RoboSpice 和 Jsoup

java - BitmapFactory.decodeStream(stream, null, options) 时重用InputStream

ios - 如何在使用 swift 杀死应用程序时存储 ios 推送通知

java - 无法将对象从 Firebase 数据转换为 POJO