将通知azure推送到FCM主题

时间:2017-10-10 14:28:55

标签: json azure firebase-cloud-messaging google-chrome-app azure-notificationhub

我想使用主题将通知消息从azure通知中心推送到FCM。

示例:我想从通知中心向FCM发送消息。但是这条消息将针对主题。例如,当使用邮递员时,我只需要发送这个json:

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

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

通过这样做,我可以收到关于我投放的Chrome应用的通知(该应用与您可以找到的相同here

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

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

3 个答案:

答案 0 :(得分:2)

我找到了解决方法。我使用通知中心方法的简单版本发送通知:

// Send the message to FCM NotificationOutcome outCome = await this.hubClient.SendGcmNativeNotificationAsync(payload). 

然后我从chrome应用程序接收所有消息

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我知道这是一个古老的问题,但在开始我的第一个基于主题的通知中心应用程序时,我也对此感到困惑,所以希望这可以在某个时间保存某人。在我看来,应该在azure NH文档中明确说明的是,使用带有PNS的集线器(如Firebase)将覆盖任何PNS特定的主题功能。我的理解是,如果您决定使用Hub路线,则会放弃Firebase主题等,并专门使用Hub标签。

如果您考虑一下,它实际上很有意义,因为这意味着Hub正在处理主题过滤,而不是触发所有消息并使PNS系统完成各自的事情。

所以简而言之,如果你去NH路线,你不能使用PNS主题,我发现两个人不能很好地一起玩。