Udostępnij za pośrednictwem


Migracja funkcjonalności powiadomień wypychanych

Ten temat zawiera wskazówki dotyczące migracji w obszarze funkcji powiadomień push.

Ważne

Obecnie obsługiwane są tylko surowe powiadomienia push i powiadomienia push aplikacji. Powiadomienia push ikon i powiadomienia push kafelków nie są obsługiwane.

Podsumowanie różnic między interfejsami API i/lub funkcjami

Powiadomienia push można rozdzielić na cztery oddzielne etapy.

Etap Platforma UWP Zestaw SDK aplikacji systemu Windows
Tożsamość Centrum partnerskie (MSA) Rejestracja aplikacji platformy Azure (AAD)
Żądanie kanału Asynchroniczny Asynchroniczny
Identyfikator rejestracji aplikacji platformy Azure
Wbudowana logika ponawiania prób (maksymalnie 5 ponownych prób)
Aktywacja W procesie, PushTrigger*, aktywacja COM* W procesie, aktywacja COM, ShellExecute
Wysyłanie powiadomień push Używa punktu końcowego login.live.com do odbierania tokenu dostępu Używa punktu końcowego https://login.microsoftonline.com/{tenantID}/oauth2/token do żądania tokenu.

* Obsługiwane w systemie Windows 10 w wersji 2004 (10.0; Kompilacja 19041) i nowsze.

Konfiguracja tożsamości

W zestawie SDK aplikacji systemu Windows funkcja powiadomień przesyłanych używa tożsamości z rejestracji aplikacji w Azure (AAD), co eliminuje konieczność posiadania nazwy rodziny pakietów (PFN) z Centrum partnerskiego w celu korzystania z powiadomień przesyłanych.

  • W przypadkuaplikacji platformy uniwersalnej systemu Windows zarejestrujesz i zarejestrujesz aplikację w Centrum partnerskiego Sklepu Windows.
  • W przypadku aplikacji zestawu SDK aplikacji systemu Windowsutworzysz konto platformy Azure i utworzysz usługi Azure App Registration (AAD).

Żądania kanału

** Żądania kanałów są obsługiwane asynchronicznie i wymagają GUID Azure AppID oraz identyfikatora dzierżawy Azure (identyfikator aplikacji Azure AppID i identyfikator dzierżawy otrzymujesz z rejestracji aplikacji AAD). Używasz identyfikatora aplikacji platformy Azure jako swojej tożsamości zamiast nazwy rodziny pakietów (PFN), której używa aplikacja UWP. Jeśli żądanie napotka błąd możliwy do ponowienia, platforma powiadomień podejmie wiele prób.

Aplikacja zestawu SDK aplikacji systemu Windows może sprawdzić stan żądania kanału.

Aktywacja

Zobacz kroki rejestracji i aktywacji zestawu SDK aplikacji systemu Windows w Konfigurowanie aplikacji w celu odbierania powiadomień wypychanych.

Wysyłanie powiadomień push

Aplikacja zestawu SDK aplikacji systemu Windows musi zażądać tokenu dostępu z punktu końcowego usługi AAD, a nie z punktu końcowego MSA.

Żądanie tokenu dostępu

W przypadku aplikacji 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

W przypadku aplikacji zestawu SDK aplikacji systemu Windows (żądanie tokenu dostępu usługi 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/

Wpis HTTP do usługi WNS

Jeśli chodzi o wysyłanie żądania HTTP POST do usługi WNS, nie ma żadnych zmian z platformy UWP. Token dostępu jest nadal przekazywany w nagłówku autoryzacji.

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" }

Zobacz też