Condividi tramite


Migrazione della funzionalità delle notifiche push

Questo argomento contiene indicazioni sulla migrazione nell'area delle funzionalità delle notifiche push.

Importante

Sono attualmente supportate solo le notifiche push non elaborate e le notifiche push dell'app. Le notifiche push badge e le notifiche push di tipo riquadro non sono supportate.

Riepilogo delle differenze tra API e/o funzionalità

Le notifiche push possono essere suddivise in queste quattro fasi separate.

Fase UWP Windows App SDK
Identità Centro per i partner (MSA) Registrazione dell'app di Azure (AAD)
Richiesta del canale Asincrona Asincrona
Id di registrazione dellìapp Azure
Logica di retry incorporata (fino a 5 tentativi)
Attivazione In-process, PushTrigger*, attivazione COM* In-process, attivazione COM, ShellExecute
Invio di notifiche push Usare l'endpoint login.live.com per ricevere un token di accesso Usa l'endpoint https://login.microsoftonline.com/{tenantID}/oauth2/token per la richiesta di token

* Supportato per Windows 10 versione 2004 (10.0; Build 19041) e versioni successive.

Configurazione dell'identità

In Windows App SDK, la funzionalità delle notifiche push usa l'identità della Registrazione dell'app di Azure (AAD), che rimuove il requisito di avere un Nome della famiglia di pacchetti (PFN) dal Centro per i partner per usare le notifiche push.

Richieste del canale

La richiesta del canale viene gestita in modo asincrono e richiede il GUID AppID di Azure ID e il tenantID di Azure (si ricevono l'AppID e l'ID tenant da una registrazione dell'app AAD). Si utilizza l'AppID di Azure per l'identità al posto del nome della famiglia di pacchetti (PFN) che viene utilizzato da un'app UWP. Se la richiesta riscontra un errore per cui è possibile eseguire nuovi tentativi, la piattaforma di notifica proverà a eseguirli.

Un'app Windows App SDK può controllare lo stato di una richiesta del canale.

Attivazione

Vedere la procedura di registrazione e attivazione di Windows App SDK in Configurare l'app per ricevere le notifiche push.

Invio di notifiche push

Un'app Windows App SDK deve richiedere il token di accesso dall'endpoint AAD, anziché dall'endpoint MSA.

Richiesta del token di accesso

Per un'app 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

Per un'app Windows App SDK (richiesta di token di accesso 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/

HTTP Post in WNS

Quando si tratta di inviare una richiesta HTTP POST a WNS, non ci sono modifiche dalla piattaforma UWP. Il token di accesso viene comunque trasferito nell'intestazione dell'autorizzazione.

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

Vedi anche