[Azure通知中心上的iOS13 apns-push-type标头

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Azure通知中心上的iOS13 apns-push-type标头相关的知识,希望对你有一定的参考价值。

[从ios 13和watchOS 6开始,Apple要求存在用于推送通知的标题apns-push-type(此标题的值为警报或背景)。

根据Apple文档:

此标头的值必须准确反映通知的有效内容。如果存在不匹配,或者在所需的系统上缺少标头,则APN可能会延迟通知的发送或将其完全丢弃。

    HEADERS
      - END_STREAM
      + END_HEADERS
      :method = POST
      :scheme = https
      :path = /3/device/xxxxxx
      host = api.sandbox.push.apple.com
      authorization = bearer xxx
      apns-id = xxx-xxx-xxx
      apns-push-type = alert
      apns-expiration = 0
      apns-priority = 10
      apns-topic = com.example.MyApp
    DATA
      + END_STREAM
      { "aps" : { "alert" : "Hello" } }

see Apple doc

不幸的是,使用天蓝色的通知中心,我只能定义aps内容,而不能定义标题。

{ "aps": { "alert":"Alert message!", "content-available": 1 }, "CustomData": "$(CustomData)" }

[Azure通知中心如何处理?如何指定通知的类型?

答案

经过一些实验和一点点调查,这是当前的Azure服务器行为...

服务器检查通知的内容以推断正确的值。

如果“内容可用”:存在1而缺少“警报”,则将"apns-push-type" = "background"添加到标题。

请参阅此discussion thread了解更多信息

如果存在有效的“警报”,则将"apns-push-type" = "alert"添加到标题。

因此,请确保具有有效的APNS JSON正文,并正确填充内容可用/警报属性。

以上是关于[Azure通知中心上的iOS13 apns-push-type标头的主要内容,如果未能解决你的问题,请参考以下文章

通过 Azure 通知中心跟踪 PNS 传递

天蓝色通知中心上的 iOS13 apns-push-type 标头

Azure 通知中心 - 从移动应用注册并通过应用后端发送通知

Android 上的 Azure 通知中心。如何发送给特定用户?

Azure 通知中心不适用于 ios

如何在 iOS 的 Azure 移动应用通知中心注册目标推送通知