跟踪从Azure通知中心向其发送推送通知的各个设备的推送通知状态

时间:2016-06-28 13:10:01

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

我正在使用标签从Azure Notification hub向iOS发送推送通知。订阅此标签的一些注册设备正在获取推送通知,而其他设备则没有。是否可以看到已收到推送通知的设备列表没有。我需要这样的调试细节。就研究工作而言,我没有找到任何这样的选择。如果可能,请告诉我。

1 个答案:

答案 0 :(得分:1)

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

现在,有一些事情你可以尝试让你的接收率更高:

  1. 确保您的通知中心设置为标准。如果您实际上正在进行生产开发,您必须记住有一些restrictions 例如,在基本版中,每个命名空间只能有500个活动设备,而且免费层没有SLA。此外,标准版提供了对“Per message Telemetry”的访问权限,我强烈建议您实施该“Service Bus Explorer”以查看您的工作方式,您可以将其与Azure门户信息中心提供的分析结合起来。

  2. 三次测试您的客户端应用代码是否正确实现了Azure通知中心。当我第一次开始使用此服务时,我最大的错误是我不断向我的Azure推送通知服务添加 deviceTokens 。您可以通过使用Windows中的 How does #include bits/stdc++.h work in C++? 来查看每个标记上的注册数量。此外,使用Service Bus Explorer,您可以确定地知道您的设备是否已使用您想要的实际标签进行注册。 注意:在移除设备时使用此工具删除通知中心非常容易,因此请确保已保存所有密钥,以便在出现错误时重新创建

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

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