Azure 推送通知中心是否支持 iOS PushKit VoIP 推送通知?

Does Azure Push Notification Hub supports iOS PushKit VoIP push notifications?

我在 PushKit VoIP 通知上发现了一些与 Azure 通知中心支持相关的帖子:

https://social.msdn.microsoft.com/Forums/ie/en-US/afda14fe-1218-4ca1-a1ee-205ccd241d1a/support-for-apple-voip-pushkit-push-notifications?forum=notificationhubs

https://social.msdn.microsoft.com/Forums/azure/en-US/39b4e1cd-842f-4562-bab5-119d5f6175cd/send-ios-voip-pushes?forum=notificationhubs

没有正式的支持确认,我确实在我的通知中心上使用相同的 APN HTTP/2 配置进行了尝试,您可以将其用于 APN 通知或 PushKit VoIP 通知,但在注册时总是得到无效的令牌到通知中心。

有人使用 Azure 通知中心进行这项工作吗?是否支持这个?

如果您将身份验证模式 Certificate 与 VoIP 服务证书一起使用,则似乎受支持,但如果您将身份验证模式 Token 与APNS 的基于令牌的 (HTTP/2) 身份验证。

因此,要使用 VoIP 服务证书并在 Apple 通知中心配置上使用此 VoIP 证书设置身份验证模式 证书

我测试了认证模式和 VoIP 证书,但是 PushKit 委托方法是

pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith....

没有被触发。

此方法被触发:

application(_ application: UIApplication, didReceiveRemoteNotification

它开始起作用了,但您必须:

  • 使用令牌认证模式HTTP/2
  • 将 .voip 后缀添加到 Bundle Id
  • 发送通知时指定apns-push-typevoip。 (添加是因为 iOS13)

        var headers = new Dictionary<string, string>();
        headers.Add("apns-push-type", "voip");
        var notification = new TemplateNotification(parameters);
        notification.Headers = headers;
        await hub.SendNotificationAsync(notification);