如何为使用AWS SNS创建的远程推送通知设置APNS通知标识符?

Foe*_*ord 7 amazon-web-services apple-push-notifications amazon-sns ios

我在后端使用AWS SNS SDK向我的应用程序发送远程通知,我需要能够设置通知标识符,以便默认情况下某些通知替换以前提供的副本,如iOS开发人员文档中所述:

如果在计划新通知时使用相同的标识符,系统将使用该标识符删除先前安排的通知,并将其替换为新标识符.

这对于本地通知很容易,因为它们是在应用程序中安排的,您可以在安排通知时设置通知标识符.

但是,通过远程通知,我似乎找不到使用SNS SDK设置通知标识符的任何方法(在用.NET编写的Lambda中).

根据API参考,SNS返回带有消息ID的响应(可能是通知标识符),但我看不到自己设置标识符的任何方法.

有谁知道怎么做?或者SNS根本不允许这样做?

小智 0

看来AWS SNS 根本不允许完全自定义通知标识符,也不允许自定义发送到 APNS 的 HTTP 标头

使远程推送通知在到达时自行替换的唯一可行解决方案似乎是使用通知服务扩展在新通知到达时检查已发送的通知,并用新版本替换以前的任何副本。

它看起来工作一致,并且您可以选择设置自定义负载属性或thread-id通知 JSON 中的属性,以便在发送每个通知之前在设备上检查它。