Atualizações dos Hubs de Notificação do Azure para iOS 13
Data de publicação: 21 outubro, 2019
A Apple atualizou recentemente o seu serviço Push público de uma forma que afeta os clientes dos Hubs de Notificação do Azure. Saiba mais sobre o impacto destas alterações nos Hubs de Notificação do Azure. Especificamente, a Apple exige agora que os programadores identifiquem as notificações como um alerta ou notificações em segundo plano através do novo cabeçalho "apns-push-type" na API do APNS
Em conformidade com a documentação da Apple: "O valor deste cabeçalho tem de refletir com precisão o conteúdo do payload da notificação. Se não existir correspondência, ou se o cabeçalho não estiver nos sistemas necessários, o APNs pode devolver um erro, atrasar a entrega da notificação ou ignorá-la."
Agora, os programadores têm de definir este cabeçalho nas respetivas aplicações que enviam notificações através dos Hubs de Notificação do Azure. Devido a uma limitação técnica, os clientes têm de utilizar a autenticação baseada em tokens para as credenciais do APNS nos pedidos que incluem este atributo. Se estiver a utilizar a autenticação baseada em certificados para as credenciais do APNS, tem de mudar para utilizar a autenticação baseada em tokens.
Para ajudá-lo nesta transição, quando os Hubs de Notificação do Azure detetarem uma notificação que não tenha o cabeçalho apns-push-type definido, o serviço irá inferir o tipo push a partir do pedido de notificação e definir o valor automaticamente. Não se esqueça de que tem de configurar os Hubs de Notificação do Azure para utilizarem a autenticação baseada em tokens para definir o cabeçalho necessário; veja Token-based (HTTP/2) Authentication for APNS (Autenticação baseada em tokens (HTTP/2) para APNS) para obter informações adicionais.
Outra pequena alteração, mas que requer uma alteração à aplicação de back-end que envia notificações, é o requisito de definição do cabeçalho apns-priority como 5 para as notificações em segundo plano. Muitas aplicações definem o cabeçalho apns-priority como 10 (que indica a entrega imediata) ou não o definem e obtêm o valor predefinido, que também é 10. Isto já não é permitido para notificações em segundo plano, pelo que tem de definir o valor para cada pedido uma vez que a Apple não irá entregar notificações em segundo plano se este valor estiver em falta.
Durante anos, os programadores do iOS utilizaram o atributo de descrição dos dados de deviceToken enviados ao delegado do token push para extrair o token push, uma aplicação de back-end utilizada para enviar notificações para o dispositivo. Com o Xcode 11, esse atributo de descrição foi alterado para um formato diferente. O código existente utilizado pelos programadores está agora com falhas. Atualizámos o SDK dos Hubs de Notificação do Azure para acomodar esta alteração. Atualize o SDK utilizado pelas suas aplicações para a versão 2.0.4 ou mais recente do SDK dos Hubs de Notificação do Azure para iOS.