0

我想使用主题将通知消息从azure通知集线器推送到FCM。将通知推送到FCM主题

示例:我想从通知中心向FCM发送消息。但是这条消息将被引导至主题。当使用例如邮递员,我只是发送此JSON:

{ 
    "to" : "/topics/scalability", 
    "notification":{"body":"topics message sent"} 
} 

https://fcm.googleapis.com/fcm/send(同时ofcourse提供FCM键)。

通过这样做,我可以接受在Chrome应用我到位(应用程序是一样的,你可以找到通知here

现在我的问题是,当我把这个同样的消息在通知中心(Azure)上,我没有收到它在我的网络应用程序。我的理解是通知中心不会以简单的格式推送消息(json),但为什么会这样?

由于我成功推送消息到FCM,是不是FCM应该解释的部分? "to" : "/topics/scalability 部分?

回答

0

Azure通知中心支持使用单个设备注册标签。当通过通知集线器发送推送通知时,您可以使用标签表达式来定位特定的设备集,或更具体地说是注册。对于定位,您应该使用标记表达式来代替FCM'到'属性。有关路由/表达式的更多详细信息,请参阅以下文章。

https://docs.microsoft.com/en-us/azure/notification-hubs/notification-hubs-tags-segment-push-message

+0

谢谢。我知道这些标签。但是,我的目的是为订阅给定主题的所有FCM令牌发送消息。这说,我找到了一个解决方法。我使用简单版本的通知中心方法发送通知://将消息发送到FCM NotificationOutcome outCome =等待this.hubClient.SendGcmNativeNotificationAsync(有效内容)。然后我收到来自我的Chrome应用程序的所有消息。 –

0

我知道这是一个老问题,但我也被这个开始我的第一个基于主题通知中心的应用程序时感到困惑,所以希望这节省了某人,某一段时间。我认为,在azure NH文档的某个地方应该明确说明的是,将PNS与Firebase一起使用的集线器将覆盖任何PNS特定主题功能。我的理解是,如果您决定采用Hub路线,那么您将消除Firebase主题等,并专门使用Hub标签。

如果您仔细考虑它,它确实具有很大的意义,因为它意味着Hub正在处理Topic过滤,而不是发出所有消息并使PNS系统完成各自的工作。因此,总之,如果你去了NH航线,你不能使用PNS主题,我发现它们并不能很好地结合在一起。

+0

这不提供问题的答案。一旦你有足够的[声誉](https://stackoverflow.com/help/whats-reputation),你将可以[对任何帖子发表评论](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提问者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [来自评论](/ review/low-quality-posts/18842132) – GGO