【发布时间】:2018-01-22 10:50:11
【问题描述】:
我正在尝试了解 FCM 的主题名称是否有任何限制。设法找到有关主题数量的信息(没有限制),但没有像主题名称的长度或允许的字符这样的信息。
【问题讨论】:
标签: firebase firebase-cloud-messaging firebase-notifications
我正在尝试了解 FCM 的主题名称是否有任何限制。设法找到有关主题数量的信息(没有限制),但没有像主题名称的长度或允许的字符这样的信息。
【问题讨论】:
标签: firebase firebase-cloud-messaging firebase-notifications
是的,不是所有字符都可以使用,主题名称中不允许单词之间有空格。
来自文档:
向 Firebase 云消息传递主题发送消息与向单个设备或用户组发送消息非常相似。应用服务器将消息正文中的主题键设置为
yourTopic之类的值。开发者可以选择任何匹配正则表达式的主题名称:“[a-zA-Z0-9-_.~%]+”
更多信息请查看:https://firebase.google.com/docs/cloud-messaging/android/topic-messaging(构建请求部分)
【讨论】:
com.google.firebase.messaging.FirebaseMessaging 类:Pattern.compile("[a-zA-Z0-9-_.~%]{1,900}")
"/topics/"为前缀,但此前缀不会作为正则表达式"[a-zA-Z0-9-_.~%]{1,900}"的一部分进行检查
主题消息支持每个主题的无限订阅。但是,FCM 在以下领域实施限制: 一个应用实例可以订阅不超过 2000 个主题。 如果您使用批量导入订阅应用实例,则每个请求限制为 1000 个应用实例。 新订阅的频率受每个项目的速率限制。如果您在短时间内发送太多订阅请求,FCM 服务器将响应 429 RESOURCE_EXHAUSTED(“超出配额”)响应。使用指数退避重试。
【讨论】: