Matrix XMPP 在使用 FCM 发送到特定设备时收到“未授权”标签

Posted

技术标签:

【中文标题】Matrix XMPP 在使用 FCM 发送到特定设备时收到“未授权”标签【英文标题】:Matrix XMPP received "Not Authorized" tag when sending to specific device using FCM 【发布时间】:2017-09-26 02:57:02 【问题描述】:

我目前正在测试 XMPP 库以尝试通过 Firebase 云消息传递 (FCM) 发送到单个设备。我按照link 中的教程进行操作,它成功通过了身份验证,但是由于我在所有日志的末尾都得到了这个标签,所以消息发送失败:

<not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-streams" />

是什么导致了这个问题,我该如何解决?

更新:

我注意到这只会在我尝试将其发送到单个设备时发生。在其他极少数情况下,它会成功发送消息。这种随机行为的原因是什么?

【问题讨论】:

【参考方案1】:

我发现上面的标签表明我试图在身份验证完成之前发送消息。

来自 link,在 4.7.3 定义条件

-- 实体在 流已通过身份验证,或者未经授权 执行与流协商相关的操作;接收实体 在发送流错误之前不得处理有问题的节。

我希望这篇文章能帮助任何尝试 XMPP 协议的人。该链接提供了很多有关它的信息。

【讨论】:

以上是关于Matrix XMPP 在使用 FCM 发送到特定设备时收到“未授权”标签的主要内容,如果未能解决你的问题,请参考以下文章

将 FCM 发送到您的 android 应用的特定版本

如何在 iphone 中使用 Xmpp 将消息发送到特定的电子邮件 ID

如何使用FCM向特定用户发送通知?

如何获取 FCM 即时交货状态

FCM通知交付报告

使用firebase云功能在特定时间发送FCM通知[重复]