【问题标题】:push notification azure to FCM topics将通知 azure 推送到 FCM 主题
【发布时间】:2018-03-22 00:17:54
【问题描述】:

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

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

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

https://fcm.googleapis.com/fcm/send(当然要提供 FCM 密钥)。

通过这样做,我可以在我放置的 chrome 应用程序上收到通知(该应用程序与您可以找到的 here 相同)

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

既然我成功地将消息推送到 FCM,FCM 不应该解释 "to" : "/topics/scalability 部分 ?

【问题讨论】:

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


    【解决方案1】:

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

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

    然后我会收到来自我的 chrome 应用程序的所有消息

    【讨论】:

      【解决方案2】:

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

      如果您仔细想想,这实际上很有意义,因为这意味着 Hub 正在处理主题过滤,而不是触发所有消息并让 PNS 系统执行各自的操作。

      总之,如果你走NH路线,你不能使用PNS主题,我发现两者并没有很好地配合。

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

        • 谢谢。我知道标签。但是,我的目的是为订阅给定主题的所有 FCM 令牌发送消息。这就是说,我找到了一种解决方法。我使用通知中心方法的简单版本发送通知: // 将消息发送到 FCM NotificationOutcome outCome = await this.hubClient.SendGcmNativeNotificationAsync(payload)。然后我会收到来自我的 chrome 应用程序的所有消息。
        猜你喜欢
        • 2019-07-19
        • 2017-01-17
        • 2021-01-12
        • 1970-01-01
        • 2017-11-08
        • 1970-01-01
        • 1970-01-01
        • 2017-12-09
        • 1970-01-01
        相关资源
        最近更新 更多