通过通知中心使用 APNS VOIP(不受官方支持)
可以通过 Azure 通知中心使用 APNS VOIP 通知;但是,此方案不受官方支持。
注意事项
如果仍然选择通过通知中心发送 APNS VOIP 通知,请注意以下限制:
发送 VOIP 通知需要将
apns-topic
标头设置为应用程序捆绑 ID +.voip
后缀。 例如,对于捆绑 ID 为com.microsoft.nhubsample
的示例应用,apns-topic
标头应设置为com.microsoft.nhubsample.voip.
此方法不太适用于 Azure 通知中心,因为应用的捆绑 ID 必须配置为中心的 APNS 凭据的一部分,并且不能更改值。 此外,通知中心不允许在运行时重写
apns-topic
标头的值。若要发送 VOIP 通知,必须使用
.voip
应用捆绑 ID 配置单独的通知中心。发送 VOIP 通知需要将
apns-push-type
标头设置为voip
值。为了帮助客户过渡到 iOS 13,通知中心会尝试推断
apns-push-type
标头的正确值。 推理逻辑已有意简单化,避免破坏标准通知。 遗憾的是,此方法会导致 VOIP 通知出现问题,因为 Apple 将 VOIP 通知视为特例,其遵循的规则不同于标准通知。若要发送 VOIP 通知,必须指定
apns-push-type
标头的显式值。通知中心根据 Apple 文档中的规定,将 APNS 有效负载限制为 4 KB。 对于 VOIP 通知,Apple 允许最大 5 KB 的有效负载。 通知中心不区分标准通知和 VOIP 通知;因此,所有通知均限制为 4 KB。
若要发送 VOIP 通知,则不得超过 4 KB 有效负载大小的限制。
后续步骤
有关详细信息,请参阅以下链接: