Nachrichtenpriorität festlegen und verwalten

Sie haben zwei Möglichkeiten, Downstream-Nachrichten auf Android eine Zustellungspriorität zuzuweisen: normale und hohe Priorität. Die Zustellung von Nachrichten mit normaler und hoher Priorität funktioniert folgendermaßen:

  • Normale Priorität. Dies ist die Standardpriorität für Datennachrichten . Nachrichten mit normaler Priorität werden sofort zugestellt, wenn das Gerät nicht im Ruhezustand ist. Wenn sich das Gerät im Doze-Modus befindet, kann die Abgabe verzögert werden, um den Akku zu schonen, bis das Gerät den Doze-Modus verlässt. Wählen Sie für weniger zeitkritische Nachrichten, wie z. B. Benachrichtigungen über neue E-Mails, die Synchronisierung Ihrer Benutzeroberfläche oder die Synchronisierung von App-Daten im Hintergrund, die normale Zustellungspriorität.

    Wenn Sie auf Android eine Nachricht mit normaler Priorität erhalten, die eine Hintergrunddatensynchronisierung für Ihre App anfordert, können Sie mit WorkManager eine Aufgabe planen, die diese erledigt, sobald das Netzwerk verfügbar ist.

  • Hohe Priorität. FCM versucht, Nachrichten mit hoher Priorität sofort zuzustellen, sodass FCM bei Bedarf ein in den Ruhezustand versetztes Gerät aufwecken und eine begrenzte Verarbeitung ausführen kann (einschließlich eines sehr eingeschränkten Netzwerkzugriffs). Nachrichten mit hoher Priorität sollten im Allgemeinen zu einer Benutzerinteraktion mit Ihrer App oder ihren Benachrichtigungen führen.

Verwenden von Nachrichten mit hoher Priorität für Android

Nachrichten mit hoher Priorität auf Android sind für zeitkritische, für den Benutzer sichtbare Inhalte gedacht und sollten zu Benachrichtigungen für den Benutzer führen. Wenn FCM ein Muster erkennt, bei dem Nachrichten nicht zu Benachrichtigungen für Benutzer führen, werden Ihre Nachrichten möglicherweise auf die normale Priorität herabgestuft. FCM verwendet das Nachrichtenverhalten von 7 Tagen, um zu bestimmen, ob Nachrichten herabgestuft werden sollen. Diese Entscheidung wird unabhängig für jede Instanz Ihrer Anwendung getroffen. Wenn als Reaktion auf Nachrichten mit hoher Priorität Benachrichtigungen für den Benutzer sichtbar angezeigt werden, werden Ihre zukünftigen Nachrichten mit hoher Priorität nicht herabgestuft. Dies gilt unabhängig davon, ob die Benachrichtigung vom FCM SDK über eine Benachrichtigungsnachricht oder eine vom Entwickler generierte Benachrichtigung über eine Datennachricht angezeigt wird.

Messung der Depriorisierung von Nachrichten auf Android

  • Individuelle Nachrichten. Bei der Zustellung können Sie feststellen, ob eine einzelne Nachricht herabgestuft wurde oder nicht, indem Sie ihre zugestellte Priorität aus getPriority() mit ihrer ursprünglichen Priorität aus getOriginalPriority() vergleichen.

  • Alle Nachrichten. Die FCM Aggregate Delivery Data API kann melden, wie viel Prozent aller Ihrer Nachrichten an Android herabgestuft werden. Einige Nachrichten werden möglicherweise in den aggregierten Datenberichten weggelassen, aber insgesamt sollten sie einen globalen Überblick über die Depriorisierungsraten von Nachrichten geben. Weitere Informationen und Beispielcode zum Abfragen der API finden Sie in unserem Artikel zu aggregierten Lieferdaten . Es kann auch über den API-Explorer erkundet werden .

Fehlerbehebung

  • Stellen Sie sicher, dass für Ihre App-Instanz Benachrichtigungen aktiviert sind. Wenn der Benutzer die Benachrichtigungsberechtigung für Ihre App deaktiviert hat, werden keine Ihrer Benachrichtigungen veröffentlicht, was zur Folge hat, dass Ihre Nachrichten eine herabgesetzte Priorität haben. Sie sollten überprüfen, ob Benachrichtigungen aktiviert sind , bevor Sie Nachrichten mit hoher Priorität an eine Anwendungsinstanz senden.

  • Rufen Sie nicht zu Hause an, bevor Sie eine Benachrichtigung veröffentlicht haben. Da sich ein kleiner Teil der mobilen Android-Nutzer in Netzwerken mit hoher Latenz befinden, sollten Sie vermeiden, eine Verbindung zu Ihren Servern herzustellen, bevor eine Benachrichtigung angezeigt wird. Ein Rückruf an den Server vor Ablauf der zulässigen Verarbeitungszeit kann für Benutzer in Netzwerken mit hoher Latenz riskant sein. Fügen Sie stattdessen den Benachrichtigungsinhalt in die FCM-Nachricht ein und zeigen Sie ihn sofort an. Wenn Sie zusätzliche In-App-Inhalte auf Android synchronisieren müssen, können Sie mit WorkManager eine Aufgabe planen, die diese im Hintergrund erledigt.