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 Kommunikationsfunktionen:
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 dem Unterhaltungs-Widget können Nutzer ganz einfach Chats auf dem Startbildschirm öffnen und sich so einen schnellen Überblick über die letzten Unterhaltungen verschaffen.
In diesem Dokument werden die Implementierungs-, Anpassungs- und Validierungsaspekte von Konversationsbenachrichtigungen und ‑Widgets beschrieben.
Unterhaltungsbenachrichtigungen – Übersicht
In Android 11 wird ein neues System-Primitive eingeführt: die Unterhaltung. Sie wird durch das vorhandene Objekt für das Teilen von Verknüpfungen dargestellt, das mit Android 9 eingeführt wurde.
Das Conversations-Primitive kann so verwendet werden:
Um Unterhaltungsdaten zwischen den Apps im System über das Freigabeblatt (bereits in Android 10) zu teilen.
Für Bubbles für die Navigation(Verknüpfungen in Android 11). Siehe Abbildung 1.
Um am neuen Unterhaltungsbereich oben im Benachrichtigungsfeld (in Android 11 implementiert) teilzunehmen. Siehe Abbildung 2.
Zum Erstellen von Kommunikations-Widgets (in Android 12 implementiert).
Abbildung 1:Benachrichtigung, die als Bubble aus der Benachrichtigungsleiste gestartet wird
Abbildung 2:Unterhaltungsbereich oben in der Benachrichtigungsleiste
Neben dem Link zur Verknüpfung, die die Unterhaltung repräsentiert, wird in der Benachrichtigung auch MessagingStyle verwendet, um die letzte Nachricht der Unterhaltung im Unterhaltungsbereich einzufügen.
GMS-Partner müssen Folgendes implementieren:
- Ein neuer Bereich „Unterhaltungen“ als separater Abschnitt oben im Benachrichtigungsfeld.
- Ein Benachrichtigungsstil, der das Bubble-Muster für Unterhaltungen zulässt und unterstützt.
Partner, die Konversationen implementieren, müssen auch wichtige Konversationen implementieren. Die Implementierung von Unterhaltungen kann jedoch an OEM-Konzepte ähnlicher Art angepasst werden. Insgesamt haben Partner die Möglichkeit, den Unterhaltungsbereich an ihre spezifische System-UI anzupassen. Der Partner muss HAL-/Treiber-/Kernelcode/-Erweiterungen nicht ändern oder implementieren.
Weitere Informationen finden Sie in der folgenden Referenzimplementierung 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/
Zertifizierungsstufe
So stellen Sie sicher, dass Ihre Version der Funktion wie vorgesehen funktioniert:
Bei Apps, die die Conversation API vollständig unterstützen, werden Benachrichtigungen im neuen Bereich angezeigt. Außerdem können sie diese Benachrichtigungen nach Unterhaltung und nicht nach dem generischen NotificationChannel anpassen.
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üfungstests.
cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
Übersicht über Kommunikations-Widgets
In Android 12 baut die Funktion „Kommunikations-Widget“ auf den in Android 11 erstellten Kommunikationsdarstellungen auf (wie im vorherigen Abschnitt beschrieben). Apps können Statusinformationen für diese Unterhaltungen bereitstellen, die in Kommunikations-Widgets angezeigt werden.
Abbildung 3:Unterhaltungen in Unterhaltungs-Widgets
Das Konversations-Widget in Android 12 fördert die Kommunikation, da Nutzer Chats ganz einfach über den Startbildschirm öffnen können. Die Widgets sind erweiterte Verknüpfungen, mit denen Nutzer effizient zu ihren Unterhaltungen zurückkehren können. Außerdem werden Ausschnitte der Unterhaltungsstatus angezeigt.
Der Partner muss Folgendes implementieren:
- Ein von SystemUI bereitgestelltes Widget.
- Ein Ablauf zum Hinzufügen dieser Widgets über den Bildschirm zur Widget-Auswahl.
- Unterstützung für die Größenanpassung von Widgets wie folgt:
- Verwenden Sie
onAppWidgetOptionsChanged()
, um das Layout an eine bessere Größe anzupassen, wenn der Nutzer die Layoutgröße ändert oder das Gerät ins Querformat dreht. - Verwenden Sie
maxResizeHeight
,maxResizeWidth
,minWidth
,minHeight
,minResizeWidth
undminResizeHeight
, um die Änderungen der Widget-Größe korrekt zu begrenzen.
- Verwenden Sie
Beachten Sie bei der Implementierung von Konversations-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 Vorgang ist sowohl bei der Implementierung auf neuen Geräten als auch bei der Upgrade-Implementierung derselbe.
- Die Funktion „Kommunikations-Widgets“ hängt von einer neuen Funktion ab, die in Android 12 eingeführt wird und in der zuletzt gesehene Unterhaltungen (z. B. aus Benachrichtigungen) im Cache gespeichert werden. Mit dieser Funktion kann die Liste der Unterhaltungen erweitert werden, die ein Nutzer seinem Startbildschirm hinzufügen kann.
Sehen Sie sich die folgende Referenzimplementierung in den Dateien „SystemUI“ und „Launcher3“ 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/
Personalisierung
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.
Zertifizierungsstufe
So stellen Sie sicher, dass Ihre Version der Funktion wie vorgesehen funktioniert:
Wenn Sie lange auf den Launcher tippen, kann über die Widget-Auswahl ein neues Conversation-Widget für eine Unterhaltung hinzugefügt werden. Abbildung 4 zeigt die Benutzeroberfläche der Widget-Auswahl:
Abbildung 4:Benutzeroberfläche zur Auswahl von Widgets zum Hinzufügen eines neuen Conversation-Widgets
Wenn Benachrichtigungen aus der ausgewählten Unterhaltung an das Gerät gesendet werden, wird das Widget entsprechend aktualisiert.
Wenn Sie Status mithilfe der
ConversationStatus
API auf diese Unterhaltung anwenden, werden diese Status im Widget angezeigt.Nutzer können die Größe von Widgets ändern und Widgets können ihre Größe je nach aktuellem Launcher ändern. Die Layouts Ihrer Widgets müssen auf verschiedenen Geräten und beim Ändern der Größe des Widgets mit unterschiedlichen Launcher-Größen kompatibel sein.
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“.