Benachrichtigung für Live-Updates erstellen

Das System empfiehlt Benachrichtigungen zu Live-Updates. Benachrichtigungen zu Werbung werden auf Systemoberflächen deutlicher präsentiert, z. B. oben in der Benachrichtigungsleiste und auf dem Sperrbildschirm sowie als Chip in der Statusleiste.

Abbildung 1 Beispiel für eine Benachrichtigung zu Live-Updates

Karten mit gesponserten Benachrichtigungen haben folgende Merkmale:

  • Standardmäßig maximiert
  • Nicht zusammenklappbar

Ihre Benachrichtigung muss die folgenden Anforderungen erfüllen, um als Live-Update zu gelten:

  • Muss „Standard/Kein Stil“, BigTextStyle, CallStyle oder ProgressStyle sein.
  • Die folgende Berechtigung, die nicht zur Laufzeit angefordert wird, muss im Android-Manifestandroid.permission.POST_PROMOTED_NOTIFICATIONS angefordert werden.
  • Die Werbung muss mit EXTRA_REQUEST_PROMOTED_ONGOING oder NotificationCompat.Builder#requestPromotedOngoing angefordert werden.
  • Muss ongoing lauten (FLAG_ONGOING_EVENT festlegen).
  • contentTitle muss festgelegt sein.
  • Es darf KEIN customContentView festgelegt sein (kein RemoteViews).
  • Darf NICHT die Zusammenfassung einer Gruppe mit setGroupSummary sein.
  • Der Benachrichtigungskanal darf IMPORTANCE_MIN NICHT enthalten.

Angebotsmerkmale

Anhand der folgenden APIs können Sie feststellen, ob das System Ihre Benachrichtigung präsentiert:

  • Notification.FLAG_PROMOTED_ONGOING gibt an, ob die Benachrichtigung präsentiert wird.
  • Notification.hasPromotableCharacteristics() prüft, ob das System die Benachrichtigung präsentieren 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 gesponserte Benachrichtigung 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 fortlaufende, vom Nutzer initiierte und zeitkritische Aktivitäten.

Aktiv

Ein Live-Update muss eine Aktivität darstellen, die gerade aktiv ist, mit einem klaren Anfang und Ende. Wenn eine Aktivität in der Vergangenheit liegt, verwenden Sie kein Live-Update. 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 geben aktuelle Aktivitäten an. Verwenden Sie keine Live-Updates, um einen beschleunigten Zugriff auf App-Funktionen anzubieten. Verwenden Sie dazu ein App-Widget oder eine benutzerdefinierte Kachel in den Schnelleinstellungen.

  • Zulässige Verwendungen:Aktive Navigation, laufende Telefonanrufe, aktives Tracking von Mitfahrgelegenheiten und aktives Tracking von Lebensmittellieferungen.
  • Unzulässige Verwendungen:Werbung, Angebote, Chatnachrichten, Benachrichtigungen, anstehende Kalendertermine und schneller Zugriff auf App-Funktionen.

Von Nutzern initiiert

Die meisten Live-Updates sollten Aktivitäten darstellen, die vom Nutzer explizit ausgelöst werden, z. B. das Starten eines Trainings, die Navigation fürs Auto oder das Anfordern eines Fahrdienstes. Zeigen Sie in Live-Updates keine Umgebungsinformationen wie Informationen zur Umgebung, zu den Interessen oder zu anstehenden Terminen des Nutzers an. Erlauben Sie nicht, dass durch Aktivitäten anderer Parteien Live-Updates generiert werden.

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 anderweitig seine Teilnahme an einer zeitkritischen Veranstaltung angibt. In diesen Fällen kann es sinnvoll sein, automatisch ein Live-Update anzuzeigen, wenn das geplante Ereignis beginnt. Die Trigger von Apps müssen jedoch so konfiguriert sein, dass sie nur angezeigt werden, wenn die Aktivität unmittelbar bevorsteht. Wenn der Nutzer ausdrücklich angibt, dass er ein Hintergrundereignis wie ein Sportspiel beobachten möchte, kannst du Live-Updates für dieses Ereignis posten. Sie sollten jedoch auch die Aktion Loslösen in der zugehörigen Benachrichtigung angeben.

Zeitkritisch

Zeigen Sie ein Live-Update nur an, wenn die Aufmerksamkeit des Nutzers während der gesamten Aktivität erforderlich ist. Ein wichtiger Anwendungsfall für Live-Updates ist die Überwachung, wenn der Nutzer einen erheblichen Vorteil daraus zieht, einen Blick auf das Live-Update zu werfen, um den sich ändernden Status der Aktivität im Auge zu behalten.

Live-Updates eignen sich oft für Aktivitäten, die zwischen Live-Updates und normalen Benachrichtigungen wechseln. Es ist beispielsweise angemessen, eine Benachrichtigung zu einem Boardingpass viele Stunden vor dem Flug eines Nutzers anzuzeigen. Die Benachrichtigung sollte jedoch nur dann zu einem Live-Update werden, wenn der Nutzer dringend etwas benötigt, 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 es nicht ständig im Blick behalten muss.

Status-Chips

Mit Status-Chips können Nutzer Live-Updates im Blick behalten, auch wenn die Benachrichtigung nicht sichtbar ist. Verwenden Sie setShortCriticalText oder setWhen, um wichtige Statusinformationen zu Ihrer schrittweisen Benachrichtigung zu senden.

Status-Chip mit Symbol
Abbildung 2. Im unbestimmten Status wird das kleine Symbol Notification.Builder#setSmallIcon angezeigt.
Status-Chip mit Uhrzeit
Abbildung 3: Verwenden Sie Notification.Builder#setShortCriticalText, um die absolute Zeit anzuzeigen.
Status-Chip mit Informationen
Abbildung 4: Verwenden Sie Notification.Builder#setShortCriticalText, um wichtige Informationen zu vermitteln.

Wenn die Zeit

Die Zeit „when“ löst einen Countdown für die Dauer der Benachrichtigung aus, es sei denn, die Benachrichtigung wird geschlossen oder aktualisiert.

  • Die Uhrzeit für „Wenn“ liegt mindestens zwei Minuten in der Zukunft: Wenn die aktuelle Uhrzeit 10:05 Uhr ist und die Uhrzeit für „Wenn“ auf 10:10 Uhr festgelegt ist, wird auf dem Chip „5 Min.“ angezeigt.
  • Wenn die Zeit in der Vergangenheit liegt, wird die Benachrichtigung nicht angezeigt.
  • Verwenden Sie setShowWhen bis FALSE, wenn die Benachrichtigung im Benachrichtigungs- bzw. Schattenbereich keine Uhrzeit enthalten soll.

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 je nach den folgenden Kriterien angezeigt:

  • Bei weniger als 7 Zeichen wird der gesamte Text 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, sollten Sie möglichst viel Text zeigen.

Dismissal

Nutzer können die Sichtbarkeit von Benachrichtigungen im Benachrichtigungs-Schieberegler steuern. Wenn Sie unerwünschte Live-Updates posten, kann es dazu führen, dass Nutzer die Berechtigung zum Posten für eine App widerrufen.

Wenn Sie verhindern möchten, dass Nutzer Live-Updates vollständig deaktivieren, sollten Sie keine Updates posten, die Nutzer schließen könnten. Poste keine Live-Updates, die der Nutzer geschlossen hat. Verwenden Sie setDeleteIntent, um geschlossene Updates zu erkennen.