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.
Power on Windows
Da mehr Benutzer nur auf akkubetriebenen Geräten arbeiten, ist die Minimierung des Stromverbrauchs eine 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 auf dem Akku möglichst 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 welche warten können, bis das Gerät an eine Stromquelle angeschlossen ist. Mit diesen Hinweisen kann das System die Benachrichtigungen genau bereitstellen, wenn 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 jeden Benutzer oder jede App wichtig sind, sodass das System vollständig auf Apps angewiesen ist, 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 Benachrichtigungen warten können (z. B. Kontaktfotoaktualisierungen).
Die Prioritäten sind:
Priorität | Außerkraftsetzung des Benutzers | Beschreibung | Beispiel |
---|---|---|---|
Hoch | Ja – Benutzer können alle Benachrichtigungen aus einer App blockieren ODER verhindern, dass eine App im Stromsparmodus gedrosselt wird. | Die wichtigsten Benachrichtigungen, die sofort übermittelt werden müssen, wenn das Gerät Benachrichtigungen empfangen kann. Dinge wie VoIP-Anrufe oder kritische Warnungen, die das Gerät reaktivieren sollten, fallen in diese Kategorie. | VoIP-Anrufe, zeitkritische Warnungen |
Medium | Ja – Benutzer können alle Benachrichtigungen aus 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 verärren, wenn sie nicht im Hintergrund ausgeführt werden. | Sekundäre E-Mail-Kontosynchronisierung, Live-Kachelaktualisierungen. |
Niedrig | Ja – Benutzer können alle Benachrichtigungen aus einer App blockieren ODER verhindern, dass eine App im Stromsparmodus gedrosselt wird. | Benachrichtigungen, die nur dann sinnvoll sind, wenn der Benutzer das Gerät verwendet oder wenn Hintergrundaktivitäten sinnvoll sind. Diese werden zwischengespeichert und erst verarbeitet, wenn sich der Benutzer anmeldet oder sein Gerät einbindet. | Kontaktstatus (online/offline) |
Beachten Sie, dass viele Apps während des gesamten Lebenszyklus Benachrichtigungen mit unterschiedlicher Priorität haben. 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 sie dann mit einer niedrigen Priorität nachverfolgen, wenn ein Kontakt online kommt.
Festlegen der Priorität
Das Festlegen der Priorität für die Benachrichtigungsanforderung erfolgt über einen zusätzlichen Header in der POST-Anforderung. X-WNS-PRIORITY
Dies ist ein ganzzahliger Wert zwischen 1 und 4, der einer Priorität zugeordnet ist:
Priorität Name | X-WNS-PRIORITY-Wert | Standard für: |
---|---|---|
Hoch | 1 | Toaste |
Medium | 2 | Kacheln und Signale |
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 hat, stellt das System eine Standardpriorität bereit. 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, dem Diagramm im obigen Abschnitt zu folgen.
Spezifischere empfohlene Verhaltensweisen für jede Priorität sind unten aufgeführt. Dies ist keine Garantie dafür, dass jedes Gerät genau nach dem Diagramm funktioniert. OEMs können das Verhalten anders konfigurieren, aber die meisten sind in der Nähe dieses Diagramms.
Device State | PRIORITÄT: Hoch | PRIORITÄT: Mittel | PRIORITÄT: Niedrig | PRIORITÄT: Sehr niedrig |
---|---|---|---|---|
Bildschirm eingesteckt oder angeschlossen | Bereitstellen | Bereitstellen | Bereitstellen | Bereitstellen |
Bildschirm aus UND bei Akku | Bereitstellen | Wenn der Benutzer ausgenommen ist: Bereitstellen von Else: Cache | Wenn der Benutzer ausgenommen ist: Bereitstellen von Else: cache * | cache |
Stromsparmodus aktiviert | Wenn der Benutzer ausgenommen ist: Bereitstellen von Else: Cache | Wenn der Benutzer ausgenommen ist: Bereitstellen von Else: Cache | Wenn der Benutzer ausgenommen ist: Bereitstellen von Else: Cache | cache |
Bei Akku + Stromsparmodus aktiviert + Bildschirm aus | Wenn der Benutzer ausgenommen ist: Bereitstellen von Else: Cache | Wenn der Benutzer ausgenommen ist: Bereitstellen von Else: Cache | Wenn der Benutzer ausgenommen ist: Bereitstellen von Else: Cache | cache |
Beachten Sie, dass Benachrichtigungen mit niedriger Priorität standardmäßig für Bildschirm deaktiviert und nur für Windows Phone-basierte Geräte bereitgestellt werden. Dies besteht darin, die Kompatibilität mit der bereits vorhandenen MPNS-Richtlinie aufrechtzuerhalten. Beachten Sie außerdem, dass die vierten und fünften Zeilen identisch sind, indem Sie nur verschiedene Szenarien aufrufen.
Um eine App im Stromsparmodus auszunehmen, müssen Benutzer unter "Einstellungen" zu "Akkunutzung nach App" wechseln und "App das Ausführen von Hintergrundaufgaben erlauben" auswählen. Diese Benutzerauswahl befreit die App vom Stromsparmodus für Benachrichtigungen mit hoher, mittlerer und niedriger Priorität. Sie können auch die BackgroundExecutionManager-API aufrufen, um programmgesteuert nach der Berechtigung des Benutzers zu fragen.
Zugehörige Themen
Windows developer