Migração da funcionalidade de notificações push
Este tópico contém diretrizes de migração na área de recursos de notificações push.
Importante
No momento, há suporte apenas para notificações por push brutas e notificações por push de aplicativos. 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 push podem ser divididas nesses quatro estágios separados.
Estágio | UWP | SDK do Aplicativo do Windows |
---|---|---|
Identidade | MSA (Partner Center) | Registro de Aplicativo do Azure (AAD) |
Solicitação de canal | Assíncronos | Assíncronos ID de registro do aplicativo do Azure Lógica de repetição integrada (até 5 tentativas) |
Ativação | Em processo, PushTrigger*, ativação 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 https://login.microsoftonline.com/{tenantID}/oauth2/token ponto 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 Aplicativo do Azure), que remove o requisito de ter um PFN (Nome da Família de Pacotes) do Partner Center para usar notificações por push.
- Para um aplicativo UWP, você se inscreve e registra o aplicativo no Partner Center da Windows Store.
- Para um aplicativo SDK do Aplicativo Windows, você cria uma conta do Azure e cria um AAD (Registro de Aplicativo do Azure).
Solicitações de canal
A solicitação de canal é tratada de forma assíncrona e requer o GUID do Azure AppID e o ID do 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 encontre um erro com nova tentativa, a plataforma de notificação tentará várias tentativas.
Um aplicativo SDK do 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.
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 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á alterações em relação à 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" }
Confira também
Windows developer