Delen via


WNS-meldingen gebruiken om cv voor meerdere apparaten (XDR) te implementeren

Deze stapsgewijze handleiding voor eerste en derde partijen biedt een gedetailleerd overzicht van hoe toepassingscontinuïteit (hervatten) kan worden geïntegreerd met WNS-ruwe meldingen (Windows Push Notification Service). Het bevat vereisten, verwijzingen naar relevante openbare documentatie en codefragmenten voor het verzenden van POST-aanvragen naar de kanaal-URI.

Onboarding om te hervatten in Windows

Cv is een functie voor beperkte toegang (LAF). Als u toegang wilt krijgen tot deze functie, moet u goedkeuring van Microsoft krijgen om uw toepassing in te schakelen in Windows.

Als u toegang wilt aanvragen, e-mail wincrossdeviceapi@microsoft.com met de volgende informatie:

  • Status van de WNS-registratie van uw toepassing en geef uw toepassing 'Pakket-SID' op.
  • Beschrijving van uw gebruikerservaring.
  • Schermopname van uw toepassing waarin de gebruiker een actie uitvoert die kan worden hervat op hun Windows-pc.

Als Microsoft uw aanvraag goedkeurt, ontvangt u instructies voor het ontgrendelen van de functie. Goedkeuringen zijn gebaseerd op uw communicatie.

Vereiste voorwaarden

Voordat u doorgaat met de integratie, moet u ervoor zorgen dat de volgende taken zijn voltooid:

Implementatiestappen

De volgende stappen beschrijven het proces voor het integreren van toepassingscontinuïteit met behulp van onbewerkte WNS-meldingen.

Stap 1: kanaal-URI configureren

Configureer de kanaal-URI vanuit uw Windows-toepassing en verzend deze naar uw app-server: zorg ervoor dat de app de kanaal-URI voor meldingen kan aanvragen en opslaan. Zie Een meldingskanaal aanvragen, maken en opslaan voor meer informatie.

Stap 2: scenario hervatten initiëren

Vanuit uw mobiele applicatie roept u de benodigde API van de applicatieservice aan om de WNS-hervattingsaanvraag te initiëren.

Stap 3: de HTTP-aanvraag instellen

Wanneer de app-server de API-aanvraag van de mobiele client ontvangt, wordt de POST-aanvraag voorbereid op de URI van het WNS-kanaal. De aanvraag moet de vereiste headers bevatten, zoals autorisatie, inhoudstype en X-WNS-type. Als u de nieuwe header wilt toevoegen, neemt u deze op in de configuratie van de aanvraagheader.

Stap 3.1: Voorbeeld voor het indienen van een POST-verzoek voor een cv

De volgende codefragmenten laten zien hoe u een nieuwe WNS-melding met een cv-header verzendt met behulp van Python en JavaScript.

Het volgende Python-codefragment laat zien hoe u een onbewerkte WNS-melding verzendt met de benodigde headers voor toepassingscontinuïteit:

import requests
# Define the channel URI
channel_uri = "[URL]"
# Define the notification payload
payload = """
Sample Notification
This is a sample message
"""
# Define the headers
headers = {
    "Content-Type": "application/octet-stream",
    "X-WNS-Type": "wns/raw",
    "Authorization": "Bearer YOUR_ACCESS_TOKEN",
    "X-WNS-RawNotificationType": "wns/raw/resume",
    "X-WNS-ResumeMetadata": {"title":"Continue call from…","expiry":"300", "type":"1"},
}
# Send the POST request
response = requests.post(channel_uri, data=payload, headers=headers)
# Print the response status
print(f"Response Status: {response.status_code}")
print(f"Response Body: {response.text}")

Het volgende JavaScript-codefragment laat zien hoe u een onbewerkte WNS-melding verzendt met de benodigde headers voor toepassingscontinuïteit:

const axios = require('axios');

// Define the channel URI
const channelUri = "[URL]";

// Define the notification payload
const payload = `Sample Notification
This is a sample message`;

// Define the headers
const headers = {
  "Content-Type": "application/octet-stream",
  "X-WNS-Type": "wns/raw",
  "Authorization": "Bearer YOUR_ACCESS_TOKEN",
  "X-WNS-RawNotificationType": "wns/raw/resume",
  "X-WNS-ResumeMetadata": JSON.stringify({
    title: "Continue call from…",
    expiry: "300",
    type: "1"
  })
};

// Send the POST request
axios.post(channelUri, payload, { headers })
  .then(response => {
    console.log(`Response Status: ${response.status}`);
    console.log(`Response Body: ${response.data}`);
  })
  .catch(error => {
    console.error(`Error Status: ${error.response?.status}`);
    console.error(`Error Body: ${error.response?.data}`);
  });

De header 'X-WNS-RawNotificationType' geeft het type onbewerkte melding op dat u verzendt. Meestal hoeft u deze header niet op te nemen, maar u kunt hiermee de melding categoriseren voor verschillende doeleinden, zoals 'Hervatten'. Mogelijke waarden voor deze header kunnen typen bevatten, zoals 'wns/raw/resume', die de voortzetting van de toepassing vanuit Windows aangeeft.

De header X-WNS-ResumeMetadata bevat metagegevens over de cv-melding die u verzendt. Hoewel dit niet strikt vereist is, wordt de melding verbeterd door informatie zoals een titel of verlooptijd toe te voegen. U geeft de metagegevens door als een JSON-/woordenlijstobject (elk ander type genereert validatie-uitzondering) en kan velden bevatten zoals:

  • titel: Een beschrijvende titel voor de melding (bijvoorbeeld 'Continue call from...').
  • vervaldatum: De levensduur van de melding in seconden (bijvoorbeeld '300' gedurende 5 minuten).
  • type: Meldingstype - 1 voor nieuwe cv-aanvraag, 2 voor verwijderen (geen actie als deze ontbreekt).

Het volgende JavaScript-codefragment laat zien hoe u een onbewerkte WNS-melding verzendt met de benodigde headers voor het bijwerken van een cv-melding:

const axios = require('axios');

// Define the channel URI
const channelUri = "[URL]";

// Define the notification payload
const payload = `Sample Notification
This is a sample message`;

// Define the headers
const headers = {
  "Content-Type": "application/octet-stream",
  "X-WNS-Type": "wns/raw",
  "Authorization": "Bearer YOUR_ACCESS_TOKEN",
  "X-WNS-RawNotificationType": "wns/raw/resume",
  "X-WNS-ResumeMetadata": JSON.stringify({
    title: "Continue call from…",
    expiry: "300",
    type: "2"  // 2-represents update type.
  })
};

// Send the POST request
axios.post(channelUri, payload, { headers })
  .then(response => {
    console.log(`Response Status: ${response.status}`);
    console.log(`Response Body: ${response.data}`);
  })
  .catch(error => {
    console.error(`Error Status: ${error.response?.status}`);
    console.error(`Error Body: ${error.response?.data}`);
  });

In het volgende JavaScript-codefragment ziet u hoe u een onbewerkte WNS-melding verzendt met de benodigde headers voor het verwijderen van een cv-melding:

const axios = require('axios');

// Define the channel URI
const channelUri = "[URL]";

// Define the notification payload
const payload = `Sample Notification
This is a sample message`;

// Define the headers
const headers = {
  "Content-Type": "application/octet-stream",
  "X-WNS-Type": "wns/raw",
  "Authorization": "Bearer YOUR_ACCESS_TOKEN",
  "X-WNS-RawNotificationType": "wns/raw/resume",
  "X-WNS-ResumeMetadata": JSON.stringify({
    title: "Continue call from…",
    expiry: "300",
    type: "3"  // 3-represents delete type.
  })
};

// Send the POST request
axios.post(channelUri, payload, { headers })
  .then(response => {
    console.log(`Response Status: ${response.status}`);
    console.log(`Response Body: ${response.data}`);
  })
  .catch(error => {
    console.error(`Error Status: ${error.response?.status}`);
    console.error(`Error Body: ${error.response?.data}`);
  });

Beide headers bieden flexibiliteit bij het aanpassen van onbewerkte meldingen aan de functionele vereisten van een toepassing.

Stap 4: de implementatie valideren

Zorg ervoor dat uw toepassing is geregistreerd voor meldingen en dat de cv-headers zijn opgenomen in de POST-aanvraag. U kunt hulpprogramma's zoals vscode REST Client, Postman of Fiddler gebruiken om de HTTP-aanvraag en -reactie te inspecteren.

Hier volgt een voorbeeld van het verzenden van een aanvraag met behulp van de Visual Studio Code REST Client-extensie. De X-WNS-RawNotificationType en X-WNS-ResumeMetadata headers zijn vereist voor toepassingscontinuïteit:

POST {{channel_uri}}
Content-Type: application/octet-stream
X-WNS-Type: wns/raw
X-WNS-RequestForStatus: true
X-WNS-RawNotificationType: wns/raw/resume
X-WNS-ResumeMetadata: {"title": "Continue call from...", "expiry": "300", "type": "1"}
Authorization: Bearer {{bearer}}

[{"hello"}]

Het antwoord van de VS Code REST-client wordt weergegeven in dezelfde indeling als bestaande meldingsreacties. Zie de referentiekoppeling: Een systeemeigen melding van Windows Push Notification Services (WNS) verzenden voor meer informatie over statuscodes.

Conclusion

Door de stappen in deze handleiding te volgen, kunnen eerste en derde partijen succesvol aangepaste headers toevoegen aan WNS-meldingen. Zorg ervoor dat u aan alle vereisten voldoet en grondig test om naadloze integratie te garanderen.

Neem voor vragen of hulp bij de implementatie contact op met ons team op de volgende manieren:

E-mail: wincrossdeviceapi@microsoft.com

We zijn hier om een soepel integratieproces te garanderen.