Share via


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

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

Importante

Atualmente, há suporte apenas para notificações por push brutas e notificações por push de aplicativo. Não há suporte para notificações por push de selo e notificações por push de bloco.

Resumo das diferenças de API e/ou recursos

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

Estágio UWP SDK do Aplicativo do Windows
Identidade MSA (Partner Center) Registro de Azure App (AAD)
Solicitação de canal Assíncronos Assíncronos
ID de registro do Azure App
Lógica de repetição interna (até 5 repetições)
Ativação Ativação em processo, PushTrigger*, COM* Em processo, ativação COM, ShellExecute
Como enviar notificações por push Usa login.live.com ponto de extremidade para receber um token de acesso Usa o ponto https://login.microsoftonline.com/{tenantID}/oauth2/token de extremidade para solicitação de token

* Com suporte para Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Configuração de identidade

No SDK do Aplicativo Windows, o recurso de notificações por push usa a identidade do AAD (Registro de Azure App), o que remove o requisito de ter um PFN (Nome da Família de Pacotes) do Partner Center para usar notificações por push.

Solicitações de canal

A solicitação de canal é tratada de forma assíncrona e exige o GUID do AppID do Azure e a ID de locatário do Azure (você recebe o Azure AppID e a ID do locatário de um registro de aplicativo do AAD). Você usa o Azure AppID para sua identidade no lugar do PFN (Nome da Família de Pacotes) que um aplicativo UWP usa. Caso a solicitação seja executada em um erro repetível, a plataforma de notificação tentará várias tentativas.

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

Ativação

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

Como enviar notificações por push

Um aplicativo SDK do Aplicativo Windows deve solicitar o token de acesso do ponto de extremidade do AAD, em vez do ponto de extremidade MSA.

Solicitação de Token de Acesso

Para um aplicativo 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 um aplicativo de SDK do Aplicativo Windows (solicitação de token de acesso do AAD):

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/

Postagem HTTP no WNS

Quando se trata de enviar uma solicitação HTTP POST para o WNS, não há nenhuma alteração da UWP. O token de acesso ainda é passado 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" }