首页 文章

发布/订阅FCM主题

提问于
浏览
1

我之前从未使用过FCM(或GCM),但我正在研究编写一个涉及向多个设备发布消息的应用程序,而“主题”似乎是一种很好的方法 .

从我到目前为止阅读的文档来看,我的应用服务器会将消息发布到命名主题,因此可能不需要知道收件人设备的注册令牌?

我相信在订阅主题时必须指定注册令牌,所以我猜一个收件人设备必须仍然可以在订阅之前请求令牌 . 令牌过期时会发生什么 - 应用程序是否必须使用新令牌再次订阅该主题?

1 回答

  • 1

    所以可能不需要知道收件人设备的注册令牌?

    不,它没有 . 但我强烈建议您保存注册令牌,以便将来使用Diagnostics tool跟踪它们 .

    令牌过期时会发生什么 - 应用程序是否必须使用新令牌再次订阅该主题?

    在Android中,您只需要打电话

    FirebaseMessaging.getInstance().subscribeToTopic(<topic_name_here>);
    

    订阅设备到主题 . 关于我如何理解这种方法的方式解释了here,其中FirebaseMessaging类调用FirebaseInstanceId的实例并且(可能)订阅当前活动的注册令牌 .

    根据@DiegoGiorgini's answer here,如果令牌被刷新,则维护主题订阅 .

    AFAIK(还没有遇到过),相应的注册令牌应该重新订阅 . 具体取决于您实现订阅的位置 .

    我建议在应用程序本身启动时使用它 . 如果您的App Server上有一个主题列表(应该有多个),那么可能会更好,如果需要,可以使用InstanceID API进行重新订阅 .

相关问题