【问题标题】:Send Push Notification to Specific Device or User via NotificationHub通过 NotificationHub 向特定设备或用户发送推送通知
【发布时间】:2020-11-02 18:41:23
【问题描述】:

我已经为Apple Push Notification (APNS) 实现了notificationhub 服务,我可以成功地向设备发送推送通知。

我想知道registrationId 存储在Azure 中的哪个位置,以及如何向特定设备或用户发送推送通知。

在给定的以下通知中心教程中,它正在使用标签,但我不确定我是否为每个用户或设备使用标签是正确的方法?

let tags = ["12345"]

https://docs.microsoft.com/en-us/azure/notification-hubs/ios-sdk-swift-rest

【问题讨论】:

    标签: swift azure azure-notificationhub


    【解决方案1】:

    标签可用于创建目标受众以接收通知。例如,标签的一个常见用途是根据国家/地区定位设备。那么你可以有一个像这样的标签:

    let tags = ["United States"]
    

    let tags = ["Poland"]
    

    这需要通过设备上的代码检测国家/地区,然后调用 SDK 来存储该标签。

    不过,标签只是不透明的字符串。所以你可以以任何你想要的方式使用它们。例如,您还可以使用它们来针对多个设备上的单个用户。

    let tags = ["myuser@foo.bar"]
    

    使用最适合您定位目标受众的标签。但是标签有限制,每个设备注册只能有 60 个。

    您可以使用发送 API 并提供标签表达式发送到特定标签(或称为 tag expression 的标签组合)。这里有一个记录的例子:https://docs.microsoft.com/en-us/azure/notification-hubs/notification-hubs-tags-segment-push-message

    以及它的实际 API 文档:https://docs.microsoft.com/en-us/rest/api/notificationhubs/send-apns-native-notification

    您将通过应用程序的某些服务器端组件触发对该 API 的调用,而且很可能不是来自设备本身。

    【讨论】:

    • 非常感谢您提供大量资源。以这种方式使用标签是完全有意义的。我想知道 notificationhub 如何仅向特定设备或用户发送推送通知。例如,我只想向您发送推送通知。
    • 每个用户一个标签是有意义的。每个设备都不需要标记,因为您已经可以使用 direct-senddirect-batch-send 来定位特定设备。
    • @MarStr,我无法找到 deviceId 和令牌在 Azure 中的存储位置。你有什么想法吗?
    猜你喜欢
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-19
    相关资源
    最近更新 更多