WNS-meldingsprioriteiten

Door de prioriteit van een melding met een eenvoudige koptekst in te stellen op WNS POST-berichten, kunt u bepalen hoe meldingen worden afgeleverd in batterijgevoelige situaties.

Windows inschakelen

Naarmate meer gebruikers alleen op apparaten met accu's werken, is het minimaliseren van het energieverbruik een standaardvereiste geworden voor alle apps. Als apps meer energie verbruiken dan de waarde die ze bieden, kunnen gebruikers de apps verwijderen. Hoewel het Windows-besturingssysteem het energieverbruik op de batterij vermindert, is het de verantwoordelijkheid van de app om efficiënt te werken.

WNS-prioriteiten zijn een manier om niet-kritiek werk van de batterij te verplaatsen. De WNS-prioriteiten vertellen het systeem welke meldingen onmiddellijk moeten worden afgeleverd en die kunnen wachten totdat het apparaat is aangesloten op een voedingsbron. Met deze hints kan het systeem de meldingen de exacte tijd leveren waarop ze het waardevolst zijn voor zowel de gebruiker als de app.

Energiemodi op het apparaat

Elk Windows-apparaat werkt via verschillende energiemodi (batterij, batterijbesparing en opladen), en gebruikers verwachten verschillende gedragingen van apps in verschillende energiemodi. Wanneer het apparaat is ingeschakeld, moeten alle meldingen worden bezorgd. In de batterijbesparingsmodus moeten alleen de belangrijkste meldingen worden bezorgd. Hoewel het apparaat is aangesloten, kunnen synchronisatie- of niet-tijdkritische bewerkingen worden voltooid.

Windows weet niet welke meldingen belangrijk zijn voor een gebruiker of app, dus het systeem is volledig afhankelijk van apps om de juiste prioriteit voor hun meldingen in te stellen.

Priorities

Er zijn vier prioriteiten beschikbaar voor een app die kan worden gebruikt bij het verzenden van pushmeldingen. De prioriteit wordt ingesteld voor afzonderlijke meldingen, zodat u kunt kiezen welke meldingen direct moeten worden bezorgd (bijvoorbeeld een chatbericht) en welke meldingen kunnen wachten (bijvoorbeeld updates voor foto's van contactpersonen).

De prioriteiten zijn:

Priority Overschrijven door gebruiker Description Example
High Ja: de gebruiker kan alle meldingen van een app blokkeren OF kan voorkomen dat een app wordt beperkt in de batterijbesparingsmodus. De belangrijkste meldingen die direct moeten worden bezorgd wanneer het apparaat meldingen kan ontvangen. Dingen zoals VoIP-oproepen of kritieke waarschuwingen die het apparaat moeten activeren, vallen in deze categorie. VoIP-oproepen, tijdgebonden waarschuwingen
Medium Ja: de gebruiker kan alle meldingen van een app blokkeren OF kan voorkomen dat een app wordt beperkt in de batterijbesparingsmodus. Dit zijn dingen die niet zo belangrijk zijn, dingen die niet meteen hoeven te gebeuren, maar gebruikers worden geïrriteerd als ze niet op de achtergrond worden uitgevoerd. Synchronisatie van secundaire e-mailaccounts, updates van live-tegels.
Low Ja: de gebruiker kan alle meldingen van een app blokkeren OF kan voorkomen dat een app wordt beperkt in de batterijbesparingsmodus. Meldingen die alleen zinvol zijn wanneer de gebruiker het apparaat gebruikt of wanneer achtergrondactiviteit zinvol is. Deze worden in de cache opgeslagen en niet verwerkt totdat de gebruiker zich aanmeldt of op het apparaat aansluit. Contactstatus (online/offline)

Houd er rekening mee dat veel apps gedurende hun levenscyclus meldingen van verschillende prioriteit hebben. Omdat de prioriteit per melding wordt ingesteld, is dit geen probleem. Een VoIP-app kan een melding met hoge prioriteit verzenden voor een inkomende oproep en deze vervolgens opvolgen met een lage prioriteit wanneer een contactpersoon online komt.

De prioriteit instellen

Het instellen van de prioriteit voor de meldingsaanvraag wordt uitgevoerd via een extra header op de POST-aanvraag, X-WNS-PRIORITY. Dit is een geheel getal tussen 1 en 4 dat wordt toegewezen aan een prioriteit:

Prioriteitsnaam X-WNS-PRIORITY-waarde Standaard voor:
High 1 Toasts
Medium 2 Tegels en badges
Low 3 Raw

Als u compatibel wilt zijn met eerdere versies, is het instellen van een prioriteit niet vereist. Als een app de prioriteit van de meldingen niet instelt, biedt het systeem een standaardprioriteit. De standaardwaarden worden weergegeven in de bovenstaande grafiek en komen overeen met het gedrag van bestaande versies van Windows.

Gedetailleerde lijst met bureaubladgedrag

Als u uw app verzendt over veel verschillende SKU's van Windows, is het normaal gesproken het beste om de grafiek in de bovenstaande sectie te volgen.

Hieronder vindt u specifieke aanbevolen gedragingen voor elke prioriteit. Dit is geen garantie dat elk apparaat precies volgens de grafiek werkt. OEM's kunnen het gedrag anders configureren, maar de meeste zijn dicht bij deze grafiek.

Apparaatstatus PRIORITEIT: Hoog PRIORITEIT: gemiddeld PRIORITEIT: Laag PRIORITEIT: Zeer laag
Scherm aan of aangesloten Deliver Deliver Deliver Deliver
Scherm Uit en op de batterij Deliver Als de gebruiker is uitgesloten: leveren. Anders: cache. Als de gebruiker is uitgesloten, leveren, anders: cache * Cache
Batterijbesparing ingeschakeld Als de gebruiker is uitgesloten: leveren. Anders: cache. Als de gebruiker is uitgesloten: leveren. Anders: cache. Als de gebruiker is uitgesloten: leveren. Anders: cache. Cache
Op batterij + batterijbesparing ingeschakeld + scherm uit Als de gebruiker is uitgesloten: leveren. Anders: cache. Als de gebruiker is uitgesloten: leveren. Anders: cache. Als de gebruiker is uitgesloten: leveren. Anders: cache. Cache

Houd er rekening mee dat meldingen met lage prioriteit standaard worden geleverd wanneer het scherm is uitgeschakeld en alleen bij batterijvoeding op Windows Phone-apparaten. Dit is om compatibiliteit te behouden met het bestaande MPNS-beleid. Houd er ook rekening mee dat de vierde en vijfde rij hetzelfde zijn, waarbij alleen verschillende scenario's worden aangeroepen.

Als u een app in batterijbesparing wilt uitsluiten, moeten gebruikers naar het 'Batterijgebruik per app' gaan in Instellingen en 'Toestaan dat de app achtergrondtaken uitvoert'. Met deze gebruikersselectie wordt de app uitgesloten van batterijbesparing voor meldingen met een hoge, gemiddelde en lage prioriteit. U kunt de BackgroundExecutionManager-API ook aanroepen om programmatisch om de machtiging van de gebruiker te vragen.