Das System bewirbt Benachrichtigungen zu Livemeldungen. Beworbene Benachrichtigungen werden auf Systemoberflächen deutlicher angezeigt, z. B. oben in der Benachrichtigungsleiste und auf dem Sperrbildschirm sowie als Chip in der Statusleiste.

Karten für beworbene 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“ (Standardstil),
BigTextStyle
,CallStyle
oderProgressStyle
sein. - Die folgende Berechtigung, die nicht zur Laufzeit angefordert wird, muss im Android-Manifest angefordert werden:
android.permission.POST_PROMOTED_NOTIFICATIONS
. - Sie müssen die Promotion mit
EXTRA_REQUEST_PROMOTED_ONGOING
oderNotificationCompat.Builder#requestPromotedOngoing
anfordern. - Muss
ongoing
sein (FLAG_ONGOING_EVENT
festlegen). - Muss eine
contentTitle
enthalten. - Es darf KEINE
customContentView
festgelegt sein (keinRemoteViews
). - Darf NICHT die Zusammenfassung einer Gruppe mit
setGroupSummary
sein. - Darf NICHT
setColorized
aufTRUE
gesetzt werden. - Der Benachrichtigungskanal darf NICHT
IMPORTANCE_MIN
haben.
Merkmale von Promotions
Die folgenden APIs helfen Ihnen dabei, festzustellen, ob das System Ihre Benachrichtigung hervorhebt:
Notification.FLAG_PROMOTED_ONGOING
gibt 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 posten kann, z. B. ob der Nutzer sie in den Einstellungen aktiviert oder deaktiviert hat.Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONS
ist 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 jedoch 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:Werbung, Werbeaktionen, Chatnachrichten, Benachrichtigungen, anstehende Kalenderereignisse 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. Zeigen Sie in einem Live-Update keine Umgebungsdaten an, z. B. Informationen zur Umgebung, zu den Interessen oder zu anstehenden Terminen des Nutzers. 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 einige Zeit in der 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 auf andere Weise seine zukünftige Teilnahme an einem zeitkritischen Ereignis angibt. In diesen Fällen kann es sinnvoll sein, automatisch ein Live-Update anzuzeigen, wenn die geplante Veranstaltung beginnt. Apps müssen ihre Trigger jedoch so anpassen, 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 Unpin in die zugehörige Benachrichtigung aufnehmen.
Zeitkritisch
Zeigen Sie eine Live-Aktualisierung nur an, wenn sie während der gesamten Aktivität die Aufmerksamkeit des Nutzers erfordert. 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. Die Benachrichtigung 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.
Status-Chips
Mit Status-Chips können Nutzer Live-Updates im Blick behalten, wenn die Benachrichtigung nicht sichtbar ist. 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.Wann
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 „when“ liegt mehr als eine Minute in der Vergangenheit: Die Benachrichtigung wird nicht angezeigt.
- Wenn Sie Chronometer für die Zeit verwenden, kann im Chip ein Timer angezeigt werden.
Weitere Informationen finden Sie unter
setUsesChronometer
undsetChronometerCountdown
. Der Chronometer-Timer wird im Chip angezeigt, solange er positiv ist. - Sie möchten die Uhrzeit nicht in der Benachrichtigung anzeigen lassen: Verwenden Sie
setShowWhen
bisFALSE
.
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.
Dismissal
Nutzer können die Sichtbarkeit von Benachrichtigungen im Benachrichtigungsfeld 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.