Unterhaltungsbenachrichtigungen und ‑Widgets

In Android 11 können Sie das Verhalten und die Platzierung von Unterhaltungsbenachrichtigungen im Benachrichtigungsfeld nach Priorität und Benachrichtigungsstufe anpassen. Unterhaltungen können als „Wichtig“ markiert und unterhaltungsspezifische Bubbles im Unterhaltungsbereich gestartet werden.

Android 12 baut auf diesen Android 11-Funktionen auf und bietet zwei neue Unterhaltungsfunktionen:

  • Mit der Funktion „Letzte Unterhaltungen“ in den Einstellungen können Nutzer das Benachrichtigungsverhalten für letzte Unterhaltungen anpassen, ohne auf eine Benachrichtigung warten zu müssen.

  • Mit der Funktion „Unterhaltungs-Widget“ können Nutzer Chats ganz einfach auf dem Startbildschirm öffnen und so einen schnellen Überblick über die letzten Unterhaltungen erhalten.

In diesem Dokument werden die Implementierungs-, Anpassungs- und Validierungsaspekte von Unterhaltungsbenachrichtigungen und ‑Widgets beschrieben.

Übersicht zu Unterhaltungsbenachrichtigungen

In Android 11 wird ein neues Systemprimitive eingeführt: die Unterhaltung. Sie wird durch das vorhandene Objekt für die Verknüpfung zum Teilen dargestellt, das mit Android 9 eingeführt wurde.

Das Primitive „Unterhaltungen“ kann so verwendet werden:

  • Zum Teilen von Unterhaltungsdaten zwischen den Apps im System über das Freigabefeld (bereits in Android 10 verfügbar).

  • Für Bubbles(Verknüpfungen in Android 11). Siehe Abbildung 1.

  • Zum Teilnehmen am neuen Unterhaltungsbereich oben im Benachrichtigungsfeld (in Android 11 implementiert). Siehe Abbildung 2.

  • Zum Erstellen von Unterhaltungs-Widgets (in Android 12 implementiert).

    conv_bubbles

    Abbildung 1:Benachrichtigung, die als Bubble aus dem Benachrichtigungsfeld gestartet wird

    conv_notification

    Abbildung 2:Unterhaltungsbereich oben in der Benachrichtigungsleiste

Neben der Verknüpfung zur Unterhaltung enthält die Benachrichtigung auch die letzte Nachricht der Unterhaltung im Unterhaltungsbereich (MessagingStyle) .

GMS-Partner müssen Folgendes implementieren:

  • Einen neuen Unterhaltungsbereich als separaten Abschnitt oben in der Benachrichtigungsleiste.
  • Einen Benachrichtigungsstil, der das unterhaltungsspezifische Bubble-Muster ermöglicht und unterstützt.

Partner, die Unterhaltungen implementieren, müssen auch wichtige Unterhaltungen implementieren. Die Implementierung von Unterhaltungen kann jedoch an OEM-Konzepte ähnlicher Art angepasst werden. Insgesamt haben Partner die Freiheit, den Unterhaltungsbereich an ihre spezifische System-UI anzupassen. Der Partner muss keinen HAL-/Treiber-/Kernelcode oder keine Erweiterungen ändern oder implementieren.

Eine Referenzimplementierung finden Sie in den Abschnitten „SystemUI“ und „PeopleService“ in AOSP:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

Validierung

Prüfen Sie Folgendes, um sicherzustellen, dass Ihre Version der Funktion wie vorgesehen funktioniert:

  1. In Apps, die die Conversation API vollständig unterstützen, werden Benachrichtigungen im neuen Bereich angezeigt. Diese Benachrichtigungen können nach Unterhaltung und nicht nach dem generischen NotificationChannel angepasst werden.

  2. Unterhaltungsspezifische Bubbles funktionieren.

Verwenden Sie die folgenden Tests im Benachrichtigungspaket, um die Implementierung zu validieren:

  • CTS-Tests

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • CTS‑Prüfung

    cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
    
    

Übersicht zu Unterhaltungs-Widgets

In Android 12 baut die Funktion „Unterhaltungs-Widget“ auf den in Android 11 erstellten Unterhaltungsdarstellungen auf (wie im vorherigen Abschnitt beschrieben). Apps können den Status dieser Unterhaltungen angeben, der in Unterhaltungs-Widgets angezeigt wird.

conv_widgets

Abbildung 3:Unterhaltungen, die in Unterhaltungs-Widgets angezeigt werden

Mit der Funktion „Unterhaltungs-Widget“ in Android 12 können Nutzer Chats ganz einfach auf dem Startbildschirm öffnen. Die Widgets sind erweiterte Verknüpfungen, mit denen Nutzer effizient zu ihren Unterhaltungen zurückkehren können. Gleichzeitig werden Snippets der Unterhaltungsstatus angezeigt.

Der Partner muss Folgendes implementieren:

  1. Ein Widget, das von SystemUI bereitgestellt wird.
  2. Einen Ablauf zum Hinzufügen dieser Widgets über die Widget-Auswahl.
  3. Unterstützung für die Größenänderung von Widgets:

Beachten Sie bei der Implementierung von Unterhaltungs-Widgets die folgenden Abhängigkeiten:

  • Der Partner muss keinen HAL-/Treiber-/Kernelcode ändern oder implementieren.
  • Für die Implementierung wird die Status API verwendet, mit der Apps einer Unterhaltung und dem zugehörigen Widget Status- oder Verfügbarkeitsinformationen hinzufügen können.
  • Der Prozess ist bei neuen Geräteimplementierungen und bei Upgrade-Implementierungen gleich.
  • Die Funktion „Unterhaltungs-Widgets“ ist von einer neuen Funktion abhängig, die in Android 12 eingeführt wird. Dabei werden kürzlich angesehene Unterhaltungen (z. B. aus Benachrichtigungen) im Cache gespeichert. Mit dieser Funktion kann die Liste der Unterhaltungen erweitert werden, die ein Nutzer möglicherweise seinem Startbildschirm hinzufügen möchte.

Eine Referenzimplementierung finden Sie in den SystemUI- und Launcher3-Dateien:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

Anpassung

Die Funktion „Unterhaltungs-Widgets“ kann nicht aktiviert oder deaktiviert werden. Ein Partner kann jedoch die Layouts der Widget-Vorlagen ändern, sofern die GMS-Anforderungen erfüllt sind.

Validierung

Prüfen Sie Folgendes, um sicherzustellen, dass Ihre Version der Funktion wie vorgesehen funktioniert:

  1. Wenn Sie den Launcher lange gedrückt halten, kann über die Widget-Auswahl ein neues Unterhaltungs-Widget für eine Unterhaltung hinzugefügt werden. Die UI der Widget-Auswahl sehen Sie in Abbildung 4:

    widget_picker

    Abbildung 4:UI der Widget-Auswahl zum Hinzufügen eines neuen Unterhaltungs-Widgets

  2. Wenn Benachrichtigungen aus der ausgewählten Unterhaltung an das Gerät gesendet werden, wird das Widget entsprechend aktualisiert.

  3. Wenn Sie mit der ConversationStatus API Status auf diese Unterhaltung anwenden, werden diese Status im Widget angezeigt.

  4. Nutzer können die Größe von Widgets ändern. Die Größe von Widgets kann sich je nach aktuellem Launcher ändern. Die Widget-Layouts müssen mit verschiedenen Launcher-Größen auf verschiedenen Geräten und beim Ändern der Widget-Größe gut funktionieren.

Verwenden Sie die folgenden Tests im Benachrichtigungspaket, um die Implementierung zu validieren:

  • CTS-Tests (PeopleManagerTest) für die API-Oberflächen.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Manuelle Tests für die GMS-Anforderung „Unterhaltungen“.