Firebase上游消息对每个消息都有新的令牌

时间:2018-10-17 19:26:31

标签: android firebase firebase-cloud-messaging

我正在开发一个使用Firebase上游消息与我的后端进行通信的Android应用,到目前为止,它的运行非常顺利。在最后一周左右的时间里,消息每次都有一个新的,随机生成的FCM令牌。这意味着我无法确定哪个客户端正在发送消息。

更具体的示例如下:

我的FirebaseMessagingService会按预期生成令牌。我将此令牌发送到我的服务器,并且可以使用它向应用程序发送消息。所有这些工作。假设令牌看起来像这样:

c8oBbHn122s:BPA91bHfNmRFTTdtZZXMEc0UmM_BWbI(...)

在全新安装中,上游消息均使用此令牌标识,并且一切正常。然后,在将来的某个(看似)任意时间,“发件人”字段中的上游消息令牌几乎对每条消息都是随机的,就像这样:

c8oBbHn122s:BPA91bHfNmRFTTdtZZXMEc0UmM_BWbI(...)
c8oBbHn122s:BPA91bGy08B8ksSMVok_Q2aM1D7x_PbI(...)
c8oBbHn122s:BPA91bGnnKD5agypa9slui_NElLrP7ZX(...)

等。冒号之前的部分以及后面的前6个字符保持不变,并与Android提供的令牌匹配。其余都是随机的。

  • 在这种情况下,不会在onNewToken中生成新的令牌。
  • 从FirebaseInstanceId.getInstance()。getInstanceId()返回的令牌与首次发布并存储在我的数据库中的令牌匹配。
  • 原始令牌仍然可以向应用发送消息。
  • 如果我调用FirebaseInstanceId.getInstance()。deleteInstanceId()并生成一个新令牌,它将暂时重新开始工作,但不是永久开始。

有人有什么想法吗?问题让我感到难过。

0 个答案:

没有答案