Benachrichtigungen unter Android Automotive OS

Benachrichtigungen liefern Fahrern kurze, zeitnahe Informationen zu Ereignissen aus Ihrer App, wenn sie nicht verwendet wird. Benachrichtigungen können im Benachrichtigungscenter angezeigt werden. Einige Benachrichtigungen können auch als Pop-up-Benachrichtigungen auf dem Display angezeigt werden. Zum Erstellen von Benachrichtigungen für Android Automotive OS verwenden Sie dieselbe NotificationBuilder API wie für andere Geräte. Um die Sicherheit der Fahrer zu gewährleisten und Ablenkungen zu minimieren, sind einige API-Methoden und ‑Klassen jedoch eingeschränkt oder verhalten sich anders.

Unterschiede bei Benachrichtigungen in Autos

Um eine sichere Fahrumgebung ohne Ablenkungen zu schaffen, unterscheiden sich Benachrichtigungen in Android Automotive OS von Benachrichtigungen auf anderen Geräten in folgenden Punkten:

  • Vereinfachte Nutzerinteraktion
  • UX-Einschränkungen basierend auf dem Fahrzustand

Vereinfachte Nutzerinteraktion

Damit sich Fahrer auf die Straße konzentrieren können, haben Benachrichtigungen im Auto ein vereinfachtes Modell für die Nutzerinteraktion mit den folgenden Funktionen:

Keine komplexen Steuerelemente
Benachrichtigungen unterstützen keine komplexen Steuerelemente, z. B. Tippen zum Maximieren einer Benachrichtigung, langes Drücken einer Benachrichtigung für zusätzliche Optionen oder Steuerelemente, die auf Wischgesten basieren.
Benachrichtigungstöne
Benachrichtigungen geben nur dann einen Ton aus, wenn sie eine wichtige Benachrichtigung auslösen.
Schaltflächen zum automatischen Abspielen und Stummschalten von Benachrichtigungen bei neuen Nachrichten

Android Automotive OS fügt automatisch die Schaltflächen Wiedergeben und Stummschalten zu allen mit dem Auto kompatiblen Benachrichtigungen für Messaging-Apps hinzu.

  • Play:Die Benachrichtigung wird dem Fahrer über den Standard-Assistenten des Nutzers, z. B. Gemini oder Google Assistant, oder das Standard-Sprachsynthesesystem des Fahrzeugs vorgelesen.
  • Stummschalten:Dadurch werden für den Rest der Fahrt keine Pop-up-Benachrichtigungen für zukünftige Nachrichten in der Unterhaltung angezeigt. Nachrichtbenachrichtigungen aus einer stummgeschalteten Unterhaltung werden weiterhin im Benachrichtigungscenter angezeigt. Der Fahrer kann die Unterhaltung auch über das Benachrichtigungscenter wieder aktivieren.

Vereinfachte Anzeigeoptionen für Benachrichtigungen

RemoteViews und benutzerdefinierte Inhaltsansichten werden nicht unterstützt. Außerdem werden die folgenden Benachrichtigungsstile nicht unterstützt:

Wenn Ihre App eine Benachrichtigung mit einem dieser Benachrichtigungsstile an Android Automotive OS sendet, wird nur der Zusammenfassungstext angezeigt.

Vereinfachte Verwaltung von Benachrichtigungskanälen

Android Automotive OS unterstützt keine Benachrichtigungskanäle und zugehörigen UI-Elemente, um die Häufigkeit umfangreicher Verwaltungsaufgaben auf Automotive-Geräten zu verringern.

UX-Einschränkungen basierend auf dem Fahrzustand

Android Automotive OS enthält eine UX Restrictions Engine. Automobilhersteller können diese Engine verwenden, um Benachrichtigungen basierend auf dem Fahrzustand des Autos auf folgende Weise einzuschränken:

  • Benachrichtigungsstrings auf eine bestimmte Zeichenlänge kürzen
  • Zusammenfassungen von Nachrichten für CATEGORY_MESSAGE-Benachrichtigungen ausblenden
  • Anzahl der Benachrichtigungen begrenzen, die im Benachrichtigungscenter angezeigt werden können

Unterstützte Ressourcentypen

Standardmäßig unterstützt Android Automotive OS nur eine begrenzte Teilmenge der Ressourcentypen, die für Benachrichtigungen auf anderen Geräten verwendet werden können. Diese Teilmenge umfasst die folgenden Ressourcentypen:

  • Drawables
  • Symbole
  • Bilder

Kompatibilitätsanforderungen für Messaging-Benachrichtigungen

Damit Nutzer eine einheitliche und möglichst wenig ablenkende Nutzererfahrung haben, gelten für Messaging-Benachrichtigungen unter Android Automotive OS besondere Anforderungen.

Eine Messaging-Benachrichtigung ist mit dem Auto kompatibel, wenn sie die folgenden Anforderungen erfüllt:

  • Sie gehört zur Kategorie CATEGORY_MESSAGE.
  • Dabei wird der Stil Notification.MessagingStyle verwendet.
  • Sie enthält nur ungelesene Nachrichten.
  • Es hat eine Markierung als gelesen Action, die die folgenden Anforderungen erfüllt:

  • Wenn die Benachrichtigung eine Antwort Action enthält, erfüllt die Action die folgenden Anforderungen:

    • Die semantische Aktion ist auf Action.SEMANTIC_ACTION_REPLY festgelegt.
    • Das Action gibt an, dass beim Auslösen keine Benutzeroberfläche angezeigt wird.
    • Action enthält ein einzelnes RemoteInput.

Benachrichtigungscenter

Fast alle Benachrichtigungen werden im Benachrichtigungscenter angezeigt, auch wenn sie auch als Pop-up-Benachrichtigungen ausgelöst wurden. Benachrichtigungen bleiben während der gesamten Fahrt im Benachrichtigungscenter.

Fahrer können im Benachrichtigungscenter mit Benachrichtigungen interagieren. Je nach Hersteller des Autos können Fahrer auf das Benachrichtigungscenter auf eine oder beide der folgenden Arten zugreifen:

  • Wische vom oberen Displayrand nach unten, ähnlich wie bei der Benachrichtigungsleiste auf anderen Geräten.
  • Tippen auf einen Button in der Systemoberfläche.

Gruppierte Benachrichtigungen

Zugehörige Benachrichtigungen werden automatisch im Benachrichtigungscenter gruppiert, wie in der Benachrichtigungsleiste auf anderen Geräten. Wenn ein Fahrer jedoch im Benachrichtigungscenter auf die Zusammenfassung einer Gruppe tippt, wird nicht PendingIntent gestartet, sondern die Gruppe wird maximiert, um alle Benachrichtigungen anzuzeigen.

Benachrichtigungen, die nicht im Benachrichtigungscenter angezeigt werden

Die folgenden Benachrichtigungen werden nicht im Benachrichtigungscenter angezeigt:

  • Media playback Benachrichtigungen. Android Automotive OS erfasst Informationen zur laufenden Medienwiedergabe und zeigt sie an einem bestimmten Ort auf der Benutzeroberfläche an. Beachte, dass du setMediaSession mit einem nicht leeren Token aufrufen musst, damit das System die Benachrichtigung als Medienwiedergabe erkennt.
  • Benachrichtigungen zur detaillierten Routenführung für CATEGORY_NAVIGATION.
  • Benachrichtigungen für Dienste im Vordergrund für Apps mit Systemberechtigungen und Apps, die mit dem Plattformschlüssel signiert sind und eine Wichtigkeitsstufe unter IMPORTANCE_DEFAULT haben.

Vorabbenachrichtigungen

Vorabbenachrichtigungen werden als Benachrichtigungskarte oben auf dem Display angezeigt. Da eine wichtige Benachrichtigung die Aufmerksamkeit des Fahrers auf sich zieht, sollte sie nur ausgelöst werden, wenn die Informationen fahrkritisch, zeitkritisch und umsetzbar sind. Nur bestimmte Kategorien von Benachrichtigungen können eine wichtige Benachrichtigung auslösen.

Autohersteller können entscheiden, ob wichtige Benachrichtigungen angezeigt werden dürfen, während das Benachrichtigungscenter geöffnet ist.

So lösen Apps wichtige Benachrichtigungen aus

Apps haben unterschiedliche Anforderungen für das Auslösen einer wichtigen Benachrichtigung, je nachdem, ob sie Systemberechtigungen haben.

Apps mit Systemberechtigungen und Apps, die mit dem Plattformschlüssel signiert sind
Die App kann eine wichtige Benachrichtigung auslösen, indem sie die Wichtigkeit des Benachrichtigungschannels auf IMPORTANCE_HIGH oder höher festlegt.
Alle anderen Apps

Die App kann eine wichtige Benachrichtigung auslösen, indem sie die Wichtigkeit des Benachrichtigungskanals auf IMPORTANCE_HIGH oder höher festlegt und dafür sorgt, dass die Benachrichtigung zu einer der folgenden Kategorien gehört:

Lebenszyklus einer wichtigen Benachrichtigung

Nachdem eine App eine Vorabbenachrichtigung ausgelöst hat, wird die Benachrichtigung sofort auf dem Display des Autos angezeigt. Wenn der Fahrer nicht reagiert, wird die Benachrichtigung nach 8 Sekunden automatisch geschlossen, außer in den folgenden Fällen:

Wenn eine wichtige Benachrichtigung geschlossen wird, wird sie im Benachrichtigungscenter aufgeführt, sofern es sich nicht um eine CATEGORY_NAVIGATION-Benachrichtigung handelt.

Änderungen und Einschränkungen der Notification API für Autos

In diesem Abschnitt werden die Unterschiede für jede Klasse zusammengefasst, in der sich die Notifications API für Android Automotive OS anders verhält oder Einschränkungen gelten.

Notification.Builder

In den Tabellen 1 und 2 werden die API-Änderungen und -Einschränkungen in der Klasse Notification.Builder beschrieben.

Tabelle 1. Änderungen an öffentlichen Methoden für Notification.Builder

Öffentliche Methoden Effekt Beschreibung

addAction()

Bedingter No-Op Notification.MessagingStyle-Benachrichtigungen müssen die in den Kompatibilitätsanforderungen angegebenen Aktionen enthalten. Zusätzliche Aktionen werden nicht als Benachrichtigungsschaltflächen gerendert.

createBigContentView()

createContentView()

createHeadsUpContentView()

setContent()

setCustomBigContentView()

setCustomContentView()

setCustomHeadsUpContentView()

Managementfrei RemoteViews und benutzerdefinierte Inhaltsansichten werden nicht unterstützt.

setBadgeIconType()

setNumber()

Managementfrei Benachrichtigungskennzeichen werden nicht unterstützt.

setChronometerCountDown()

setUsesChronometer()

Managementfrei Countdown-Timer werden nicht unterstützt.
setColorized() Einschränkungen geändert

Plattformsignierte Apps: konfigurierbar; standardmäßig zulässig.

Apps mit Systemberechtigungen: von der Plattform konfiguriert; standardmäßig nicht zulässig.

Alle anderen Apps: von der Plattform konfiguriert; standardmäßig nicht zulässig.

setFullScreenIntent() Verhalten geändert Die Intention wird nicht automatisch gestartet.
setLargeIcon() Verhalten geändert Rechts neben der Benachrichtigung werden große Symbole angezeigt.
setLights() Managementfrei Android Automotive OS-Geräte haben keine LED-Anzeigen.
setOngoing() Verhalten geändert

Das Verhalten ist anders, wenn die Benachrichtigung auch eine wichtige Benachrichtigung auslöst.

setOngoing() sorgt nur dafür, dass die wichtige Benachrichtigung nicht geschlossen werden kann, wenn sie für einen eingehenden Anruf bestimmt ist. Damit eine Benachrichtigung als nicht schließbare wichtige Benachrichtigung für einen eingehenden Anruf gilt, muss sie die definierten Anforderungen erfüllen.

Alle anderen Arten von Hinweismeldungen können vom Fahrer geschlossen werden.

setPublicVersion()

setVisibility()

Managementfrei Der private Modus wird nicht unterstützt.
setSettingsText() Managementfrei Benachrichtigungen unterstützen keine Affordances, die zu App-Einstellungen verlinken. Fahrer greifen stattdessen über die App auf die App-Einstellungen zu.
setTicker() Managementfrei Lauftext wird nicht unterstützt.

Tabelle 2. Änderungen an verschachtelten Klassen für Notification.Builder

Verschachtelte Klassen Effekt Beschreibung

Notification.BigPictureStyle

Notification.BigTextStyle

Notification.InboxStyle

Nicht verwendet Es wird nur der Zusammenfassungstext angezeigt. Detaillierte Benachrichtigungen für diese Stile werden nicht unterstützt.
Notification.BubbleMetadata Nicht verwendet Bubbles werden nicht unterstützt.
Notification.MediaStyle Ausgeblendet Benachrichtigungen mit diesem Stil werden ausgeblendet. Android Automotive OS verwaltet die Interaktionen der Benutzeroberfläche für Medienbenachrichtigungen und die Wiedergabe.
Notification.MessagingStyle Verhalten geändert

Benachrichtigungen mit diesem Stil haben die folgenden Unterschiede:

Notification.CarExtender

Notification.WearableExtender

Nicht verwendet Extender werden nicht unterstützt.

Notification.Action.Builder

In Tabelle 3 werden die API-Änderungen und ‑Einschränkungen in der Klasse Notification.Action.Builder beschrieben.

Tabelle 3. Änderungen an öffentlichen Methoden für Notification.Action.Builder

Öffentliche Methoden Effekt Beschreibung
Öffentliche Konstruktoren Verhalten geändert Symbole, die in öffentlichen Konstruktoren angegeben sind, werden ignoriert.
addRemoteInput Verhalten geändert Um die Ablenkung des Fahrers zu minimieren, fügt ein digitaler Assistent wie Gemini oder Google Assistant die Antwort auf eine Nachricht für den Nutzer ein. Nutzer können keine Nachrichten eingeben.
setAllowGeneratedReplies Managementfrei Intelligente Antworten werden nicht unterstützt.