我正在尝试在我的iOS应用中订阅某个主题,但不断收到错误:
<FIRMessaging/WARNING> Cannot parse topic name /topics/pets/cnlLksAxmdYPkDjEftDwZjFwvDw2_coffee. Will not subscribe.
我试图订阅的代码是:
FIRMessaging.messaging().subscribe(toTopic: "/topics/pets/\(name)")
其中name
是您在错误中看到的主题的最后一部分。
有人知道我做错了什么吗?我已经确认Firebase消息正在接收通知和所有内容。
答案 0 :(得分:14)
/
字符不是主题名称的允许字符。
允许的字符是:
-
,_
,.
,~
,%
我可以通过在主题名称为pets/123asd
的 Android 中进行测试以及显示的日志来确认这些是唯一允许的字符:
Invalid topic name: Pets/123asd does not match the allowed format [a-zA-Z0-9-_.~%]{1,900}
对于iOS,前缀/topics/
是必需的并且仍然有效。无效字符仅适用于您在前缀后包含的主题名称。