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.
- För en UWP-appregistrerar du dig och registrerar programmet i Windows Store Partner Center.
- För en Windows App SDK-appskapar du ett Azure-konto och skapar en Azure App Registration (AAD).
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
Windows developer