Dela via


Migrering av push-meddelandenas funktionalitet

Det här avsnittet innehåller migreringsvägledning i funktionsområdet push-meddelanden.

Viktig

För närvarande stöds endast råa push-meddelanden och push-meddelanden för appar. Push-meddelanden för märken och push-meddelanden för rutor stöds inte.

Sammanfattning av skillnader i API och/eller funktioner

Push-meddelanden kan delas upp i dessa fyra separata steg.

Etapp UWP Windows App SDK
Identitet Partnercenter (MSA) Azure App Registration (AAD)
Kanalbegäran Asynkron Asynkron
Registrerings-ID för Azure-appar
Återförsökslogik inbyggd (upp till 5 återförsök)
Aktivering In-process, PushTrigger*, COM-aktivering* In-process, COM-aktivering, ShellExecute
Skicka push-meddelanden Använder slutpunkten login.live.com för att ta emot en åtkomsttoken Använder https://login.microsoftonline.com/{tenantID}/oauth2/token slutpunkten för tokenbegäran

* Stöds för Windows 10 version 2004 (10.0; Build 19041) och senare.

Identitetskonfiguration

I Windows App SDK använder funktionen push-meddelanden identitet från Azure App Registration (AAD), vilket tar bort kravet på att ha ett paketfamiljenamn (PFN) från Partnercenter för att kunna använda push-meddelanden.

Kanalbegäranden

Kanalbegäran hanteras asynkront och kräver Azure AppID GUID och Azure tenantID (du får Azure AppID och klient-ID från en AAD-appregistrering). Du använder Azure AppID för din identitet i stället för det paketfamiljenamn (PFN) som en UWP-app använder. Om begäran stöter på ett nytt försöksfel försöker meddelandeplattformen göra flera återförsök.

En Windows App SDK-app kan kontrollera statusen för en kanalbegäran.

Aktivering

Se registrerings- och aktiveringsstegen för Windows App SDK på Konfigurera din app för att ta emot push-meddelanden.

Skicka push-meddelanden

En Windows App SDK-app måste begära åtkomsttoken från AAD-slutpunkten i stället för från MSA-slutpunkten.

Begäran om åtkomsttoken

För en UWP-app:

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

För en Windows App SDK-app (begäran om AAD-åtkomsttoken):

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-inlägg till WNS

När det gäller att skicka en HTTP POST-begäran till WNS finns det inga ändringar från UWP. Åtkomsttokenen skickas fortfarande i auktoriseringshuvudet.

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

Se även