[英]Firebase Cloud Messaging - iOS - notregistered or cannot subscribe to topic
[英]Firebase Cloud Messaging Cannot parse topic name
我正在嘗試訂閱我的 iOS 應用程序中的主題,但不斷收到錯誤消息:
<FIRMessaging/WARNING> Cannot parse topic name /topics/pets/cnlLksAxmdYPkDjEftDwZjFwvDw2_coffee. Will not subscribe.
我要訂閱的代碼是這樣的:
FIRMessaging.messaging().subscribe(toTopic: "/topics/pets/\(name)")
其中name
是您在錯誤中看到的主題的最后一部分。
有人知道我做錯了什么嗎? 我已經確認 Firebase 消息正在正確接收通知和所有通知。
/
字符不是主題名稱的允許字符。
允許的字符是:
-
, _
, .
, ~
, %
我可以通過在Android中測試主題名稱為pets/123asd
以及顯示的日志來確認這些是唯一允許的字符:
Invalid topic name: Pets/123asd does not match the allowed format [a-zA-Z0-9-_.~%]{1,900}
對於iOS,前綴/topics/
是必需的並且仍然有效。 無效字符僅適用於前綴后包含的主題名稱 。
如果要為包含不允許字符的主題選擇字符串,則需要將該字符串設為原始字符串。
Ex=> String str=r'something@gmail.com'
這里的字符串“str”包含一個對 FCM 主題無效的“@”字符,但通過將其設為原始字符串,可以成功解析它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.