跳到主内容
现已推出

iOS 13 的 Azure 通知中心更新

发布日期:十月 21, 2019

Apple 近期更新了其公共推送服务,这在某种程度上会影响 Azure 通知中心客户。请详细了解这些更改对 Azure 通知中心的影响。 具体来说,Apple 现要求开发人员通过 APNS API 中新的“apns-push-type”标头将通知标识为警报或后台通知

根据 Apple 的文档,“此标头的值必须准确反映出通知有效负载的内容。如果两者不匹配,或者在所需的系统上缺少标头,则 APN 可能会返回错误、延迟通知的发送或将其完全删除。” 

开发人员现必须在通过 Azure 通知中心发送通知的应用程序中设置此标头。由于技术限制,客户必须对包含此属性的请求使用基于令牌的身份验证来验证 APNS 凭据。如果你正在对 APNS 凭据使用基于证书的身份验证,则必须切换为使用基于令牌的身份验证。 

为了在此过渡期间为你提供帮助,当 Azure 通知中心检测到未设置 apns-push-type 的通知时,该服务将从通知请求中推断出推送类型并自动设置该值。请注意,必须将 Azure 通知中心配置为使用基于令牌的身份验证来设置所需的标头。有关详细信息,请参阅 Token-based (HTTP/2) Authentication for APNS(APNS 的基于令牌的 (HTTP/2) 身份验证)。 

还有一项小的更改,但也是需要更改发送通知的后端应用程序,它要求对于后台通知而言,必须将 apns-priority 标头设置为 5。许多应用程序都将 apns-priority 标头设置为 10(表示立即发送),或者不设置它而使用默认值(同样是 10)。 不允许后台通知作出此行为,因此必须为每个请求设置该值;如果缺少该值,Apple 将不发送后台通知。 

多年以来,iOS 开发人员一直在使用发送到推送令牌委托的 deviceToken 数据的说明属性来提取后端应用程序用于向设备发送通知的推送令牌。使用 Xcode 11 时,该说明属性更改为其他格式。开发人员用于此任务的现有代码现已损坏。我们已更新 Azure 通知中心 SDK 以适应此更改,请将应用程序使用的 SDK 更新为 Azure 通知中心 iOS SDK 的 2.0.4 版或更高版本。 

  • 通知中心
  • Features

相关产品