Firebase云消息传递无法解析主题名称

时间:2017-03-28 00:51:50

标签: ios firebase firebase-cloud-messaging

我正在尝试在我的iOS应用中订阅某个主题,但不断收到错误:

<FIRMessaging/WARNING> Cannot parse topic name /topics/pets/cnlLksAxmdYPkDjEftDwZjFwvDw2_coffee. Will not subscribe.

我试图订阅的代码是:

FIRMessaging.messaging().subscribe(toTopic: "/topics/pets/\(name)")

其中name是您在错误中看到的主题的最后一部分。

有人知道我做错了什么吗?我已经确认Firebase消息正在接收通知和所有内容。

1 个答案:

答案 0 :(得分:14)

/字符不是主题名称的允许字符。

允许的字符是:

  • A-Z
  • A-Z
  • 0-9
  • -_.~%

我可以通过在主题名称为pets/123asd Android 中进行测试以及显示的日志来确认这些是唯一允许的字符:

Invalid topic name: Pets/123asd does not match the allowed format [a-zA-Z0-9-_.~%]{1,900}

对于iOS,前缀/topics/是必需的并且仍然有效。无效字符仅适用于您在前缀后包含的主题名称