Live-Updates bieten eine Zusammenfassung wichtiger Updates, damit Nutzer den Fortschritt verfolgen können, ohne die App zu öffnen. Das System bewirbt Live-Update-Benachrichtigungen. Nutzer können eine Live-Update-Benachrichtigung jedoch vorübergehend schließen oder zu einer Standardbenachrichtigung herabstufen. Beworbene Benachrichtigungen werden auf Systemoberflächen deutlicher angezeigt, z. B. oben in der Benachrichtigungsleiste und auf dem Sperrbildschirm sowie als Chip in der Statusleiste. Benachrichtigungen zu Live-Updates sollten den Benachrichtigungsgrundsätzen für die Bereitstellung kurzer, zeitnaher und relevanter Informationen entsprechen.
Karten mit beworbenen Benachrichtigungen haben die folgenden Eigenschaften:
- Standardmäßig maximiert
- Nicht minimierbar
Ihre Benachrichtigung muss die folgenden Anforderungen erfüllen, um als Live-Update zu gelten:
- Muss „Standard Style“ (
BigTextStyle),CallStyle,ProgressStyleoderMetricStylesein. - Die folgende Berechtigung, die nicht zur Laufzeit angefordert wird, muss im Android-Manifest angefordert werden:
android.permission.POST_PROMOTED_NOTIFICATIONS. - Die Promotion muss mit
EXTRA_REQUEST_PROMOTED_ONGOINGoderNotificationCompat.Builder#setRequestPromotedOngoingangefordert werden. - Muss
ongoingsein (FLAG_ONGOING_EVENTfestlegen). - Muss eine
contentTitleenthalten. - Es darf KEINE
customContentViewfestgelegt sein (keinRemoteViews). - Darf NICHT die Zusammenfassung einer Gruppe mit
setGroupSummarysein. - Darf NICHT
setColorizedaufTRUEgesetzt werden. - Der Benachrichtigungskanal darf NICHT
IMPORTANCE_MINenthalten.
Angebotsmerkmale
Mit den folgenden APIs können Sie ermitteln, ob das System Ihre Benachrichtigung hervorhebt:
Notification.FLAG_PROMOTED_ONGOINGgibt an, ob die Benachrichtigung beworben wird.Notification.hasPromotableCharacteristics()prüft, ob das System die Benachrichtigung hochstufen kann. Bei dieser Methode wird nicht berücksichtigt, ob der Nutzer Live-Updates für die App in den Einstellungen deaktiviert hat.NotificationManager.canPostPromotedNotifications()prüft, ob Ihre App eine Werbenachricht senden kann, z. B. ob der Nutzer sie in den Einstellungen aktiviert oder deaktiviert hat.Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONSist die Intent-Aktion, mit der Apps Nutzer zu den Einstellungen weiterleiten können, um diese Funktion zu aktivieren.
Nutzungskriterien
Verwenden Sie Live-Updates für Aktivitäten, die gerade laufen, vom Nutzer initiiert wurden und zeitkritisch sind.
Aktiv
Ein Live-Update muss eine Aktivität darstellen, die gerade läuft und einen eindeutigen Beginn und ein eindeutiges Ende hat. Wenn eine Aktivität in der Vergangenheit stattgefunden hat, sollten Sie kein Live-Update verwenden. Verwenden Sie stattdessen eine Standardbenachrichtigung. Das gilt auch für Veranstaltungen, die noch nicht begonnen haben. Bei Veranstaltungen, die bald beginnen, kann ein Live-Update verwendet werden.
Live-Updates stellen laufende Aktivitäten dar. Verwenden Sie keine Live-Updates, um beschleunigten Zugriff auf App-Funktionen zu ermöglichen. Wenn Sie das tun möchten, verwenden Sie ein App-Widget oder eine benutzerdefinierte Kachel für die Schnelleinstellungen.
- Geeignete Verwendungszwecke:Aktive Navigation, laufende Telefonanrufe, aktives Tracking von Mitfahrgelegenheiten und aktives Tracking von Essenslieferungen.
- Unangemessene Verwendungen:Anzeigen, Werbeaktionen, Chatnachrichten, Benachrichtigungen, anstehende Kalendertermine und Schnellzugriff auf App-Funktionen.
Von Nutzern initiiert
Die meisten Live-Updates sollten Aktivitäten darstellen, die explizit vom Nutzer ausgelöst werden, z. B. das Starten eines Trainings, das Starten der Navigation oder das Bestellen eines Fahrdienstes. In einem Live-Update dürfen keine Umgebungsdaten wie Informationen zur Umgebung, zu den Interessen oder zu anstehenden Terminen des Nutzers angezeigt werden. Aktivitäten, die von anderen Parteien ausgelöst werden, dürfen keine Live-Updates generieren.
Manchmal führt ein Nutzer eine Aktion aus, die eine Aktivität für die Zukunft initiiert. Das ist beispielsweise der Fall, wenn der Nutzer Tickets für einen Flug oder ein Konzert kauft, sich für ein Turnier anmeldet oder anderweitig seine zukünftige Teilnahme an einem zeitkritischen Ereignis angibt. In diesen Fällen kann es sinnvoll sein, automatisch ein Live-Update anzuzeigen, wenn das geplante Ereignis beginnt. Apps müssen ihre Trigger jedoch so abstimmen, dass sie nur angezeigt werden, wenn die Aktivität unmittelbar bevorsteht. Wenn der Nutzer explizit angibt, dass er ein Hintergrundereignis wie ein Sportspiel beobachten möchte, können Sie mit dem Posten von Live-Updates für dieses Ereignis beginnen. Sie sollten jedoch auch die Aktion Entfernen in die zugehörige Benachrichtigung einfügen.
Zeitkritisch
Live-Updates sollten nur dann angezeigt werden, wenn sie während der gesamten Aktivität die Aufmerksamkeit des Nutzers erfordern. Ein wichtiger Anwendungsfall für Live-Updates ist die Überwachung, bei der der Nutzer einen erheblichen Vorteil daraus zieht, sich das Live-Update anzusehen, um den sich entwickelnden Status der Aktivität im Blick zu behalten.
Ein Live-Update ist oft für Aktivitäten geeignet, die zwischen Live-Updates und normalen Benachrichtigungen wechseln. Eine Benachrichtigung mit einer Bordkarte ist beispielsweise viele Stunden vor dem Flug eines Nutzers angemessen. Sie sollte jedoch erst dann zu einem Live-Update werden, wenn der Nutzer ein dringendes Bedürfnis hat, z. B. wenn er am Flughafen oder Veranstaltungsort angekommen ist oder das Boarding begonnen hat. Ein Live-Update ist dagegen nicht geeignet, um ein Paket zu verfolgen, da der Nutzer dies nicht ständig im Blick behalten muss.
UX-Praktiken
Mithilfe des Trackersymbols können Sie den Status visualisieren. Diese können dynamisch aktualisiert werden.
Wenn eine voraussichtliche Ankunftszeit berechnet wird oder noch nicht verfügbar ist, sollte kein leerer Status angezeigt werden. Geben Sie aktiven Platzhaltertext wie „Wird überlegt…“ oder „Wird neu berechnet…“ an, um anzuzeigen, dass das System arbeitet, wie im Beispiel gezeigt.
Status-Chips
Mit Status-Chips können Nutzer Live-Updates im Blick behalten, wenn die Benachrichtigung nicht angezeigt wird. Verwenden Sie setShortCriticalText oder setWhen, um wichtige Statusinformationen zu Ihrer fortschrittsorientierten Benachrichtigung zu übermitteln.
Notification.Builder#setSmallIcon
Notification.Builder#setShortCriticalText, um die absolute Zeit anzuzeigen.
Notification.Builder#setShortCriticalText, um wichtige Informationen zu vermitteln.Zeit
Die „when“-Zeit löst einen Countdown für die Lebensdauer der Benachrichtigung aus, sofern die Benachrichtigung nicht geschlossen oder aktualisiert wird. Im Folgenden wird beschrieben, wie die Zeit in verschiedenen Situationen funktioniert:
- Die Uhrzeit liegt mindestens 2 Minuten in der Zukunft: Wenn die aktuelle Uhrzeit 10:05 Uhr ist und die Uhrzeit auf 10:10 Uhr festgelegt ist, wird auf dem Chip 5 Min. angezeigt.
- Die Zeitangabe liegt in der Vergangenheit: Der Text wird nicht angezeigt.
- Wenn Sie Chronometer für die Zeit verwenden, kann im Chip ein Timer angezeigt werden.
Weitere Informationen finden Sie unter
setUsesChronometerundsetChronometerCountdown. Der Chronometer-Timer wird im Chip angezeigt, solange er positiv ist. - Sie möchten nicht, dass die Uhrzeit in Ihrer Benachrichtigung angezeigt wird: Verwenden Sie
setShowWhenbisFALSE.
Darstellung des Status-Chips
Der Status-Chip enthält immer ein Symbol und optional Text. Der Chip hat eine maximale Breite von 96 dp. Der Text wird nur angezeigt, wenn er vollständig in den Chip passt. Der Text wird abhängig von den folgenden Kriterien angezeigt:
- Wenn der Text weniger als 7 Zeichen lang ist, wird er vollständig angezeigt.
- Wenn weniger als die Hälfte des Texts angezeigt wird, zeigen Sie nur das Symbol an.
- Wenn mehr als die Hälfte des Texts angezeigt wird, zeigen Sie so viel Text wie möglich an.
Wear OS
Live-Updates werden auf einige verbundene Wear OS-Geräte übertragen. Informationen zu diesem Bridging-Verhalten sowie eine Anleitung zum Erstellen lokaler Live-Updates für Wear OS finden Sie im Leitfaden zu Live-Updates für Wear OS.
Dismissal
Nutzer können die Sichtbarkeit von Benachrichtigungen in der Benachrichtigungsleiste steuern. Wenn Sie unerwünschte Live-Updates posten, kann es passieren, dass Nutzer die Berechtigung zum Posten für eine App widerrufen.
Wenn Sie verhindern möchten, dass Nutzer Livemeldungen vollständig deaktivieren, sollten Sie keine Updates posten, die Nutzer möglicherweise schließen. Posten Sie keine Livemeldungen noch einmal, die der Nutzer geschlossen hat. Verwenden Sie setDeleteIntent, um verworfene Updates zu erkennen.
FAQ
Frage:Was ist der weiße Punkt am Ende der Fortschrittsanzeige?
Antwort:Der weiße Punkt am Ende des Fortschrittsbalkens markiert das Ende des Fortschrittsbalkens.
Frage:Warum werden benutzerdefinierte Benachrichtigungen für Live-Updates nicht unterstützt?
Antwort:Benutzerdefinierte Benachrichtigungen erschweren konsistente Tests und die UX, da sich ihr Verhalten je nach Android-Version und Gerätehersteller erheblich unterscheidet. Vermeiden Sie benutzerdefinierte Benachrichtigungen mit RemoteViews.