【问题标题】:Track push notification status of individual devices to which push notification is send from Azure Notification Hub跟踪从 Azure 通知中心向其发送推送通知的各个设备的推送通知状态
【发布时间】:2016-06-28 13:10:00
【问题描述】:

我正在使用标签从 Azure 通知中心向 iOS 发送推送通知。订阅此标签的一些注册设备正在收到推送通知,而另一些则没有。是否可以查看已收到推送通知的设备列表哪个没有。我需要这样的细节来调试。据我所做的研究,我还没有找到任何这样的选项。如果可能的话,请告诉我。

【问题讨论】:

    标签: push-notification apple-push-notifications azure-notificationhub


    【解决方案1】:

    所以这很棘手,没有办法知道您的通知是否被自己正确接收(即使您没有使用 Azure)。您必须记住,通知实际上只是有一个“尽力而为”的政策。该政策由 Apple、Google 和 WNS 提供;不是真正的 Azure。

    现在,您可以尝试以下几件事来提高您的接收百分比:

    1. 确保您的通知中心设置为标准。如果您实际上是在进行生产开发,您必须记住有一些 restrictions 例如,在基本情况下,每个命名空间只能有 500 个活动设备,并且免费层没有 SLA。此外,标准还为您提供对“Per message Telemetry”的访问权限,我强烈建议您实施它以了解您的工作情况,您可以将其与 Azure 门户仪表板提供的分析相结合。

    2. 三重测试您的客户端应用程序代码是否正确实现了 Azure 通知中心。当我第一次开始使用这项服务时,我最大的错误是我不断地将 deviceTokens 添加到我的 Azure 推送通知服务中。您绝对可以通过在 Windows 中使用Service Bus Explorer 来查看您在每个标签上获得的注册数量。此外,使用服务总线资源管理器,您绝对可以知道您的设备是否正在使用您想要的实际标签进行注册。 注意:在删除设备时使用此工具删除通知中心非常容易,因此请确保您已保存所有密钥,以便在出现错误时重新创建它们

    3. 制作您自己的遥测服务。假设您实际上是在移动设备中接收信息。您可以做的是一个简单的 sqlite 表或手机中的任何类型的持久存储,您可以在其中拥有一个包含有关通知的所有信息的队列。根据手机的操作系统,您可以检测某些触发器,例如,您可以保存收到通知时的时间戳(带有 UIApplicationStateBackground 的 DidReceiveRemoteNotifications)和打开时间。然后可以将此队列发送到 SQL Azure,您可以使用 PowerBi 显示时间和图形。您只需要记住,如果您的手机甚至不在标签列表中,您甚至都不会收到通知。

    无论如何,这仍然是一种尽力而为的方案,如果您取得任何突破,请告诉我们。

    【讨论】:

    • Bruno 提到的每消息遥测对您的方案非常有用。我们目前没有监控设备收到/应用用户打开的通知,但我们希望在不久的将来提供此类功能。
    • @MimiXu ,track azure 推送通知有更新吗? azure 是否提供任何新功能,借助它我们可以跟踪移动设备推送通知?
    猜你喜欢
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    • 2017-01-08
    • 2021-11-14
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 2022-01-12
    相关资源
    最近更新 更多