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).
Abbildung 1:Benachrichtigung, die als Bubble aus der Benachrichtigungsleiste gestartet wird
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:
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.
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.
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:
- Ein von SystemUI bereitgestelltes Widget.
- Einen Ablauf zum Hinzufügen dieser Widgets über den Bildschirm zur Auswahl von Widgets.
- Unterstützung für die Größenanpassung von Widgets:
- Mit
onAppWidgetOptionsChanged()
können Sie das Layout ändern, wenn der Nutzer die Layoutgröße ändert oder das Display im Querformat dreht. - Verwenden Sie
maxResizeHeight
,maxResizeWidth
,minWidth
,minHeight
,minResizeWidth
undminResizeHeight
, um die Änderungen der Widgetgröße richtig zu begrenzen.
- Mit
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:
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:
Abbildung 4: Benutzeroberfläche für die Widget-Auswahl zum Hinzufügen eines neuen Konversations-Widgets
Wenn Benachrichtigungen von der ausgewählten Unterhaltung an das Gerät gesendet werden, wird das Widget entsprechend aktualisiert.
Wenn mit der
ConversationStatus
API Status auf eine Unterhaltung angewendet werden, zeigt das Widget diese Status an.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