我开始使用 topic 'a'
,效果很好 .
一两天后,我尝试发送另一条消息,并注意到不再收到主题 a
消息 .
我已经在主题 a
订阅的正下方添加了一个订阅调用 b
,并且收到了主题 b
消息,没有任何问题 .
FirebaseMessaging.getInstance().subscribeToTopic("a");
FirebaseMessaging.getInstance().subscribeToTopic("b");
我've also made sure there is no '取消订阅'随时随地打电话 .
我已尝试根据HTTP API使用Firebase控制台和发布请求发送消息,这些消息都适用于主题 b
,但不适用于主题 a
.
我该怎么调试呢? (消息没有到达设备..)
1 回答
您可以使用此CURL命令查看设备的服务器上存在哪些订阅:
其中:
<yourServerKey>
可从FireMap Console项目设置中获取,用于Cloud Messaging,<deviceToken>
是FirebaseInstanceId.getInstance().getToken()
(documentation here)返回的152-char标记 .每次你的应用初始化时你都在调用
subscribeToTopic()
吗?如果设备令牌发生变化,我非常有信心订阅不再有效 . 在您的测试期间,在您订阅主题'a'后,是否有任何原因导致device ID或令牌发生变化?