Utilizar o VOIP do APNS através dos Hubs de Notificação (não suportado oficialmente)
É possível utilizar notificações VOIP de APNS através dos Hubs de Notificação do Azure; no entanto, não existe suporte oficial para este cenário.
Considerações
Se continuar a optar por enviar notificações VOIP do APNS através dos Hubs de Notificação, tenha em atenção as seguintes limitações:
O envio de uma notificação VOIP requer que o
apns-topic
cabeçalho esteja definido para o ID do pacote de aplicação + o.voip
sufixo. Por exemplo, para uma aplicação de exemplo com o IDcom.microsoft.nhubsample
do pacote , oapns-topic
cabeçalho deve ser definido comocom.microsoft.nhubsample.voip.
Este método não funciona bem com os Hubs de Notificação do Azure, porque o ID do pacote da aplicação tem de ser configurado como parte das credenciais do APNS do hub e o valor não pode ser alterado. Além disso, os Notification Hubs não permitem que o
apns-topic
valor do cabeçalho seja substituído no runtime.Para enviar notificações VOIP, tem de configurar um hub de notificação separado com o ID do
.voip
pacote de aplicações.O envio de uma notificação VOIP requer que o
apns-push-type
cabeçalho esteja definido como o valorvoip
.Para ajudar os clientes com a transição para o iOS 13, os Notification Hubs tentam inferir o valor correto para o
apns-push-type
cabeçalho. A lógica de inferência é intencionalmente simples, num esforço para evitar quebrar as notificações padrão. Infelizmente, este método causa problemas com notificações VOIP, porque a Apple trata as notificações VOIP como um caso especial que não segue as mesmas regras que as notificações padrão.Para enviar notificações VOIP, tem de especificar um valor explícito para o
apns-push-type
cabeçalho.Os Notification Hubs limitam os payloads do APNS a 4 KB, conforme documentado pela Apple. Para notificações VOIP, a Apple permite payloads até 5 KB. Os Hubs de Notificação não diferenciam entre notificações padrão e VOIP; Portanto, todas as notificações estão limitadas a 4 KB.
Para enviar notificações VOIP, não pode exceder o limite de tamanho de payload de 4 KB.
Passos seguintes
Para obter mais informações, veja as seguintes ligações: