0

Azure 通知中心具有允许以多对多关系订阅各种主题的功能。(许多设备到许多声明的主题字符串)

假设我采取以下步骤:

  1. 我向 iOS 设备发送通知“测试 1”。
  2. 设备离线。
  3. 我发送“测试2”
  4. 我发送“测试3”。
  5. 设备重新联机。
  6. APNS 仅发送“测试 3”。测试 2 被丢弃

更不用说 APNS 只会通知最近的事件“测试 3”,如果我超过每天 30 个最大值,它还可以在 iOS 11 中删除额外的警报。

我喜欢 Azure Hub 服务的一件事是,我可以在外部存储中管理订阅“状态”。然而,现在看来我必须自己跟踪订阅,重建 Azure HUB 架构的一部分……归档订阅、主题等,以便设备可以查询服务器以查找所有丢失的事件。

问题

  • 如何协调 Azure Hub 和主题订阅的功能与丢弃的 APNS 推送问题?
4

1 回答 1

1

您是正确的,ANH(或您作为开发人员)对丢弃的通知无能为力,因为这就是 ANPS 的设计方式。这意味着您的问题的解决方案实际上取决于您正在构建的应用程序类型、您所针对的架构和用户场景。

我想到的几个想法可能对你有用,也可能对你不起作用,具体取决于你想要做什么:

  • 不时向主题发送静默推送,这将触发应用程序查询服务器是否遗漏了某些内容
  • 如果应用程序的性质是人们经常打开它,那么您可以在他们打开应用程序时进行背景调查

当然,在这两种情况下,您都必须在您的终端上构建一些额外的基础设施,以跟踪哪个设备收到或错过了某些通知。使用Pet Message Telemetry (PMT)可能会帮助您不必重建已经存在的 NH 部分的一件事。我没有尝试过丢弃通知,但希望有一种方法可以使用 PMT 来区分丢弃的消息和传递的消息(看起来DroppedPnsErrorDetailsUri字段的值与您需要的类似)。拥有它可能会帮助您简化并减少您需要保留的数据量,以便能够判断是否有人错过了通知。

于 2017-09-01T18:43:09.637 回答