Migração da funcionalidade de notificações push

Este tópico contém orientações de migração na área de recursos de notificações por push.

Importante

Só são suportadas notificações push brutas e notificações push de aplicações. Não há suporte para notificações push de emblema e notificações push de mosaico.

Resumo das diferenças de API e/ou recursos

As notificações push podem ser divididas nestes quatro estágios separados.

Etapa UWP SDK de aplicativos do Windows
Identidade Centro de Parceiros (MSA) Registo de aplicação do Azure (Microsoft Entra ID)
Pedido de canal Assíncrono Assíncrono
ID de Registo da Aplicação Azure
Lógica de repetição incorporada (até 5 tentativas)
Ativação Em processo, PushTrigger*, ativação COM* Em processo, ativação COM, ShellExecute
Enviar notificações push Utiliza o endpoint 'login.live.com' para receber um token de acesso Usa o endpoint https://login.microsoftonline.com/{tenantID}/oauth2/token para pedido de token

* Suportado para Windows 10, versão 2004 (10.0; Build 19041), e mais tarde.

Configuração de identidade

No SDK de Aplicações Windows, a funcionalidade de notificações push utiliza a identidade do Aplicação Azure AD Registration (Microsoft Entra ID), o que elimina a exigência de ter um Nome de Família de Pacote (PFN) do Centro de Parceiros para usar notificações push.

Solicitações de canal

Os pedidos de canal são tratados de forma assíncrona e requerem o GUID do AppID do Azure e o tenantID do Azure (recebe o AppID e o ID do inquilino do Azure através do registo da aplicação Microsoft Entra ID). Você usa o Azure AppID para sua identidade no lugar do PFN (Nome da Família do Pacote) que um aplicativo UWP usa. Caso a solicitação encontre um erro recorrente, a plataforma de notificação tentará várias tentativas.

Um aplicativo SDK de Aplicativo Windows pode verificar o status de uma solicitação de canal.

Ativação

Consulte as etapas de registro e ativação do SDK do Aplicativo Windows em Configurar seu aplicativo para receber notificações por push.

Enviar notificações push

Uma aplicação do SDK de Aplicações Windows deve solicitar o token de acesso ao endpoint de Microsoft Entra ID, em vez de o solicitar ao endpoint MSA.

Solicitação de token de acesso

Para uma aplicação UWP:

POST /accesstoken.srf HTTP/1.1
Host: login.live.com
Content-Type: application/x-www-form-urlencoded
Cookie: MSCC=73.140.231.96-US
Content-Length: 112

grant_type=client_credentials&client_id=<AppID_Here>&client_secret=<Client_Secret_Here>&scope=notify.windows.com

Para uma aplicação do SDK de Aplicações Windows (pedido de token de acesso Microsoft Entra ID):

POST /{tenantID}/oauth2/v2.0/token Http/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 160

grant_type=client_credentials&client_id=<Azure_App_Registration_AppId_Here>&client_secret=<Azure_App_Registration_Secret_Here>&resource=https://wns.windows.com/

HTTP Post para WNS

Quando se trata de enviar uma solicitação HTTP POST para o WNS, não há alterações da UWP. O token de acesso continua a ser enviado no cabeçalho de autorização.

POST /?token=[ChannelURI] HTTP/1.1
Host: dm3p.notify.windows.com
Content-Type: application/octet-stream
X-WNS-Type: wns/raw
Authorization: Bearer [your access token]
Content-Length: 46

{ Sync: "Hello from the Contoso App Service" }

Ver também