WNS-Benachrichtigungsprioritäten

Indem Sie die Priorität einer Benachrichtigung mit einem einfachen Header auf WNS POST-Nachrichten festlegen, können Sie steuern, wie Benachrichtigungen in akkuempfindlichen Situationen übermittelt werden.

Windows einschalten

Da mehr Benutzer nur mit akkubetriebenen Geräten arbeiten, ist die Minimierung des Stromverbrauchs zu einer Standardanforderung für alle Apps geworden. Wenn Apps mehr Energie verbrauchen als der von ihnen bereitgestellte Wert, können Benutzer die Apps deinstallieren. Während das Windows-Betriebssystem den Stromverbrauch des Akkus nach Möglichkeit reduziert, liegt es in der Verantwortung der App, effizient zu arbeiten.

WNS-Prioritäten sind eine Möglichkeit, nicht kritische Arbeit aus dem Akku zu verschieben. Die WNS-Prioritäten teilen dem System mit, welche Benachrichtigungen sofort übermittelt werden sollen und welches warten kann, bis das Gerät an eine Stromquelle angeschlossen ist. Mit diesen Hinweisen kann das System die Benachrichtigungen genau so lange übermitteln, zu der sie sowohl für den Benutzer als auch für die App am wertvollsten sind.

Energiemodi auf dem Gerät

Jedes Windows-Gerät arbeitet über eine Vielzahl von Energiemodi (Akku, Stromsparmodus und Ladung), und Benutzer erwarten unterschiedliche Verhaltensweisen von Apps in verschiedenen Energiemodi. Wenn das Gerät eingeschaltet ist, sollten alle Benachrichtigungen übermittelt werden. Im Stromsparmodus sollten nur die wichtigsten Benachrichtigungen übermittelt werden. Während das Gerät angeschlossen ist, können Synchronisierungs- oder nicht zeitkritische Vorgänge abgeschlossen werden.

Windows weiß nicht, welche Benachrichtigungen für Benutzer oder Apps wichtig sind, daher ist das System vollständig auf Apps angewiesen, um die richtige Priorität für ihre Benachrichtigungen festzulegen.

Prioritäten

Es stehen vier Prioritäten für eine App zur Verfügung, die beim Senden von Pushbenachrichtigungen verwendet werden kann. Die Priorität wird für einzelne Benachrichtigungen festgelegt, sodass Sie auswählen können, welche Benachrichtigungen sofort übermittelt werden müssen (z. B. eine Chatnachricht) und welche warten können (z. B. Kontaktfotoaktualisierungen).

Die Prioritäten sind:

Priority Benutzerüberschreibung Beschreibung Beispiel
High Ja: Benutzer können alle Benachrichtigungen einer App blockieren ODER verhindern, dass eine App im Stromsparmodus gedrosselt wird. Die wichtigsten Benachrichtigungen, die in jedem Fall sofort übermittelt werden müssen, wenn das Gerät Benachrichtigungen empfangen kann. Dinge wie VoIP-Anrufe oder kritische Warnungen, die das Gerät reaktivieren sollen, fallen in diese Kategorie. VoIP-Anrufe, zeitkritische Warnungen
Medium Ja: Benutzer können alle Benachrichtigungen einer App blockieren ODER verhindern, dass eine App im Stromsparmodus gedrosselt wird. Dies sind Dinge, die nicht so wichtig sind, Dinge, die nicht sofort passieren müssen, aber Benutzer würden sich ärgern, wenn sie nicht im Hintergrund ausgeführt werden. Sekundäre Email Kontosynchronisierung, Live-Kachelupdates.
Niedrig Ja: Benutzer können alle Benachrichtigungen einer App blockieren ODER verhindern, dass eine App im Stromsparmodus gedrosselt wird. Benachrichtigungen, die nur sinnvoll sind, wenn der Benutzer das Gerät verwendet oder wenn hintergrundaktivität sinnvoll ist. Diese werden zwischengespeichert und erst verarbeitet, wenn sich der Benutzer anmeldet oder das Gerät einsteckt. Kontakt status (online/offline)

Beachten Sie, dass viele Apps während ihres gesamten Lebenszyklus über Benachrichtigungen mit unterschiedlicher Priorität verfügen. Da die Priorität pro Benachrichtigung festgelegt wird, ist dies kein Problem. Eine VoIP-App kann eine Benachrichtigung mit hoher Priorität für einen eingehenden Anruf senden und dann mit einer niedrigen Priorität nachverfolgen, wenn ein Kontakt online geht.

Festlegen der Priorität

Das Festlegen der Priorität für die Benachrichtigungsanforderung erfolgt über einen zusätzlichen Header für die POST-Anforderung, X-WNS-PRIORITY. Dies ist ein ganzzahliger Wert zwischen 1 und 4, der einer Priorität zugeordnet ist:

Prioritätsname X-WNS-PRIORITY-Wert Standard für:
High 1 Popups
Medium 2 Kacheln und Badges
Niedrig 3 Raw

Um abwärtskompatibel zu sein, ist das Festlegen einer Priorität nicht erforderlich. Falls eine App die Priorität ihrer Benachrichtigungen nicht festgelegt, gibt das System eine Standardpriorität an. Die Standardwerte werden im obigen Diagramm angezeigt und entsprechen dem Verhalten vorhandener Versionen von Windows.

Detaillierte Auflistung des Desktopverhaltens

Wenn Sie Ihre App über viele verschiedene SKUs von Windows versenden, empfiehlt es sich normalerweise, das Diagramm im obigen Abschnitt zu befolgen.

Spezifischere empfohlene Verhaltensweisen für jede Priorität sind unten aufgeführt. Dies ist keine Garantie dafür, dass jedes Gerät genau gemäß dem Diagramm funktioniert. OEMs können das Verhalten anders konfigurieren, aber die meisten sind nahe an diesem Diagramm.

Device State PRIORITÄT: Hoch PRIORITÄT: Mittel PRIORITÄT: Niedrig PRIORITÄT: Sehr niedrig
Bildschirm ein ODER angeschlossen Bereitstellen Bereitstellen Bereitstellen Bereitstellen
Bildschirm aus UND akku Bereitstellen Wenn der Benutzer ausgenommen ist: Übermittlung else: cache Wenn der Benutzer ausgenommen ist: Übermitteln Sie andernfalls cache * cache
Stromsparmodus aktiviert Wenn der Benutzer ausgenommen ist: Übermittlung else: cache Wenn der Benutzer ausgenommen ist: Übermittlung else: cache Wenn der Benutzer ausgenommen ist: Übermittlung else: cache cache
Akku + Stromsparmodus aktiviert + Bildschirm ausgeschaltet Wenn der Benutzer ausgenommen ist: Übermittlung else: cache Wenn der Benutzer ausgenommen ist: Übermittlung else: cache Wenn der Benutzer ausgenommen ist: Übermittlung else: cache cache

Beachten Sie, dass Benachrichtigungen mit niedriger Priorität standardmäßig für ausgeschaltete Bildschirme und Akkus nur für Windows Phone-basierte Geräte bereitgestellt werden. Dadurch wird die Kompatibilität mit der bereits vorhandenen MPNS-Richtlinie gewährleistet. Beachten Sie auch, dass die vierte und die fünfte Zeile identisch sind, sodass nur verschiedene Szenarien angezeigt werden.

Um eine App im Stromsparmodus auszunehmen, müssen Benutzer in den Einstellungen zu "Akkunutzung nach App" wechseln und "Der App das Ausführen von Hintergrundaufgaben erlauben" auswählen. Durch diese Benutzerauswahl wird die App für Benachrichtigungen mit hoher, mittlerer und niedriger Priorität vom Stromsparmodus ausgenommen. Sie können auch die BackgroundExecutionManager-API aufrufen, um programmgesteuert nach der Berechtigung des Benutzers zu fragen.