Benachrichtigungen und Widgets für Unterhaltungen

In Android 11 wird das Anpassen des Verhaltens und der Platzierung von Unterhaltungsbenachrichtigungen in der Benachrichtigungsleiste nach Priorität und Benachrichtigungsebene unterstützt. Dadurch können Unterhaltungen als wichtig markiert und unterhaltungsspezifische Bubbles im Unterhaltungsbereich gestartet werden.

Android 12 bietet zwei neue Konversationsfunktionen:

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

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

In diesem Dokument werden die Implementierung, Anpassung und Validierung von Benachrichtigungen und Widgets für Unterhaltungen beschrieben.

Unterhaltungsbenachrichtigungen – Übersicht

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

Das Element „Unterhaltungen“ kann so verwendet werden:

  • Über das Freigabe-Widget können jetzt auch Konversationsdaten zwischen den Apps im System geteilt werden (bereits in Android 10 verfügbar).

  • Für Bubbles(Verknüpfungen) für das Fahren unter Android 11. Siehe Abbildung 1.

  • Sie können am neuen Unterhaltungsbereich über dem Benachrichtigungs-Schieberegler teilnehmen (in Android 11 implementiert). Siehe Abbildung 2.

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

    conv_bubbles

    Abbildung 1:Benachrichtigung, die als Bubble aus der Benachrichtigungsleiste gestartet wird

    conv_notification

    Abbildung 2:Unterhaltungsbereich oben in der Benachrichtigungsleiste

Neben einem Link zur Verknüpfung, die die Unterhaltung darstellt, wird in der Benachrichtigung auch MessagingStyle verwendet, um die letzte Nachricht der Unterhaltung im Unterhaltungsbereich aufzunehmen.

GMS-Partner müssen Folgendes implementieren:

  • Ein neuer Unterhaltungsbereich wird als separater Bereich über der Benachrichtigungsleiste angezeigt.
  • Ein Benachrichtigungsstil, der das unterhaltungsspezifische Bubble-Muster zulässt und unterstützt.

Partner, die Konversationen implementieren, müssen auch wichtige Konversationen implementieren. Die Implementierung von Unterhaltungen kann jedoch an ähnliche OEM-Konzepte angepasst werden. Partner können den Bereich für Unterhaltungen an ihre spezifische System-UI anpassen. Der Partner muss weder HAL-/Treiber-/Kernel-Code noch -Erweiterungen ändern oder implementieren.

Sehen Sie sich die folgende Referenzimplementierung in den Abschnitten „SystemUI“ und „PeopleService“ in AOSP an:

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/

Zertifizierungsstufe

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

  1. Anwendungen, die die Conversation API vollständig unterstützen, sehen ihre Benachrichtigungen im neuen Abschnitt und können diese Benachrichtigungen für einzelne Unterhaltungen anstatt über den generischen NotificationChannel anpassen.

  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-Verifier-Tests

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

Unterhaltungs-Widgets

In Android 12 baut die Funktion „Unterhaltungs-Widget“ auf den Unterhaltungsdarstellungen auf, die in Android 11 erstellt wurden (wie im vorherigen Abschnitt beschrieben). Apps können damit den Status für Unterhaltungen angeben, die in Unterhaltungs-Widgets angezeigt werden.

conv_widgets

Abbildung 3:Unterhaltungen in Unterhaltungs-Widgets

Mit dem Konversations-Widget in Android 12 können Nutzer ganz einfach auf dem Startbildschirm Chats öffnen. Die Widgets sind erweiterte Verknüpfungen, mit denen Nutzer schnell zu ihren Unterhaltungen zurückkehren können. Außerdem werden Snippets der Unterhaltungsstatus angezeigt.

Der Partner muss Folgendes implementieren:

  1. Ein von SystemUI bereitgestelltes Widget.
  2. Einen Ablauf zum Hinzufügen dieser Widgets über den Bildschirm zur Auswahl von Widgets.
  3. Unterstützung für die Größenanpassung von Widgets:

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

  • Der Partner muss den HAL-/Treiber-/Kernel-Code nicht ä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 sowohl für neue Geräteimplementierungen als auch für Upgradeimplementierungen der gleiche.
  • Die Funktion „Unterhaltungs-Widgets“ ist von einer neuen Funktion abhängig, die in Android 12 eingeführt wird und kürzlich aufgerufene Unterhaltungen (z. B. aus Benachrichtigungen) im Cache speichert. Mit dieser Funktion lässt sich die Liste der Unterhaltungen erweitern, die Nutzer ihrem Startbildschirm hinzufügen können.

Hier findest du eine Referenzimplementierung in den Dateien „SystemUI“ und „Launch3“:

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/

Personalisierung

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

Zertifizierungsstufe

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

  1. Wenn Sie lange auf den Launcher drücken, können Sie über die Widget-Auswahl ein neues Conversation-Widget für eine Unterhaltung hinzufügen. Abbildung 4 zeigt die Benutzeroberfläche der Widget-Auswahl:

    widget_picker

    Abbildung 4: Benutzeroberfläche für die Widget-Auswahl zum Hinzufügen eines neuen Konversations-Widgets

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

  3. Wenn mit der ConversationStatus API Status auf eine Unterhaltung angewendet werden, zeigt das Widget diese Status an.

  4. Nutzer können die Größe von Widgets ändern und Widgets können ihre Größe je nach aktuellem Launcher ändern. Deine Widget-Layouts müssen mit verschiedenen Launcher-Größen auf verschiedenen Geräten und bei der Größenanpassung des Widgets 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 GMS-Anforderungen – Unterhaltungen