Die Initiative „Personen und Unterhaltungen“ ist eine mehrjährige Android-Initiative, die darauf abzielt, Personen und Unterhaltungen auf den Systemoberflächen des Smartphones hervorzuheben. Diese Priorität basiert auf der Tatsache, dass die Kommunikation und Interaktion mit anderen Menschen für die Mehrheit unserer Nutzer über alle demografischen Gruppen hinweg immer noch der am meisten geschätzte und wichtigste Funktionsbereich ist.
In Android 11 wurden mehrere Funktionen eingeführt, um die Initiative „Personen und Unterhaltungen“ zu unterstützen.
Unterhaltungsbereich
Auf Mobilgeräten gibt es oben in der Benachrichtigungsleiste einen separaten Bereich, der nur Echtzeitunterhaltungen mit Personen enthält (z. B. Anrufe und Chatnachrichten, einschließlich Gruppenchats). Benachrichtigungen in diesem Bereich sehen auf vielen Smartphones anders aus und verhalten sich anders als Benachrichtigungen, die nicht zu Unterhaltungen gehören:
- Das Design ist anders, wobei der Schwerpunkt auf dem Avatar liegt, der Personen darstellt, kombiniert mit der App, die die Unterhaltung führt.
- Wenn du auf die Benachrichtigung tippst, wird die Unterhaltung in der App (oder in einer Bubble, wenn die Unterhaltung zuvor als Bubble angezeigt wurde) geöffnet. Wenn du auf das Caret-Zeichen tippst, werden die neuen Nachrichten in der Benachrichtigungsleiste in voller Länge mit der vollständigen Liste der Optionen angezeigt.
- Es werden konversationsspezifische Aktionen angeboten (einige durch langes Drücken):
- Diese Unterhaltung als Priorität markieren
- Diese Unterhaltung als Bubble anzeigen (wird nur angezeigt, wenn die App Bubbles unterstützt)
- Benachrichtigungen für diese Unterhaltung stummschalten
- Benutzerdefinierte Töne oder Vibrationen für diese Unterhaltung festlegen
Unterhaltungen in Bubbles
Ab Android 11 können Bubbles über Benachrichtigungen im Bereich „Unterhaltungen“ gestartet werden. Nur Benachrichtigungen mit einer zugehörigen Verknüpfung können als Bubble angezeigt werden. Unterhaltungen werden automatisch als Bubble angezeigt, wenn sie als wichtig markiert sind oder in der Benachrichtigungsleiste als Bubble angezeigt werden sollen.
Tastenkombinationen für Unterhaltungen
Verknüpfungen zu Unterhaltungen werden im Launcher und neben langlebigen Freigabeverknüpfungen im Sharesheet angezeigt.
API-Richtlinien
In diesem Abschnitt werden die APIs beschrieben, mit denen Sie in Ihrer App Unterstützung für den vom System bereitgestellten Bereich hinzufügen können, in dem Personen und Unterhaltungen angezeigt werden.
Tastenkombinationen für Unterhaltungen
Damit Apps an dieser auf Unterhaltungen ausgerichteten Initiative teilnehmen können, müssen sie dem System langlebige Verknüpfungen zur Verfügung stellen. Wir empfehlen dringend, langlebige Freigabe-Kurzbefehle zu verwenden. Bei Bedarf können Sie in Android 11 dynamische Verknüpfungen verwenden. Diese Option wird jedoch möglicherweise in Zukunft entfernt.
Wenn Sie eine Verknüpfung für die Unterhaltung veröffentlichen möchten, rufen Sie die ShortcutManagerCompat-Methoden setDynamicShortcuts(), addDynamicShortcuts() oder pushDynamicShortcut() auf. Dadurch wird das Verknüpfungslimit für den Entwickler automatisch verwaltet. Diese Verknüpfung muss langlebig sein und Person-Daten für eine oder mehrere Personen enthalten, die die anderen Teilnehmer der Unterhaltung identifizieren. Wir empfehlen außerdem, LocusIdCompat festzulegen.
Wenn eine Unterhaltung nicht mehr existiert, kann die App die Verknüpfung mit removeLongLivedShortcuts() löschen. Dadurch werden alle mit der Unterhaltung verknüpften Daten gelöscht.
Verknüpfungen können zwar entfernt werden, Apps sollten jedoch keine im Cache gespeicherten Verknüpfungen entfernen, es sei denn, dies ist unbedingt erforderlich. Eine Verknüpfung wird wahrscheinlich im Cache gespeichert, weil der Nutzer mit ihr interagiert hat, um die Nutzung zu ändern. Wenn die Verknüpfung entfernt wird, werden diese Änderungen rückgängig gemacht, was zu Frustration beim Nutzer führt.
Benachrichtigungen zu Unterhaltungen
Eine Benachrichtigung gilt als Unterhaltungsbenachrichtigung, wenn Folgendes zutrifft:
Die Benachrichtigung verwendet
MessagingStyle.(Nur wenn die App auf Android 11 oder höher ausgerichtet ist) Die Benachrichtigung ist mit einer gültigen langlebigen dynamischen oder im Cache gespeicherten Freigabeverknüpfung verknüpft. Die Benachrichtigung kann diese Verknüpfung durch Aufrufen von
setShortcutId()odersetShortcutInfo()festlegen. Wenn die App auf Android 10 oder niedriger ausgerichtet ist, muss die Benachrichtigung nicht mit einer Verknüpfung verknüpft sein, wie im Abschnitt Fallback-Optionen beschrieben.Der Nutzer hat die Unterhaltung zum Zeitpunkt des Postens nicht über die Einstellungen für Benachrichtigungskanäle aus dem Bereich „Unterhaltung“ herabgestuft.
LocusIdCompat verwenden
Die On-Device-Intelligenz bestimmt die Unterhaltungen, an denen der Nutzer am wahrscheinlichsten interessiert ist. Zu den wichtigsten Signalen gehören die Aktualität und die Häufigkeit der Unterhaltungssitzungen in jeder Unterhaltung. Das System erkennt Interaktionen mit einer Unterhaltung über Launcher-Verknüpfungen oder innerhalb einer Benachrichtigung, wenn sie richtig getaggt sind. Das System weiß jedoch nichts über Konversationen, die vollständig in der App stattgefunden haben, es sei denn, diese Interaktionen sind ebenfalls getaggt. Daher empfehlen wir dringend, eine LocusIdCompat an die Verknüpfung anzuhängen und die In-App-Aktivität oder das Fragment mit der zugehörigen LocusIdCompat zu annotieren. Verwenden Sie LocusIdCompat, damit das Vorschlagssystem die Unterhaltung richtig einordnen und die korrekte Zeit der letzten Interaktion des Nutzers (einschließlich In-App-Interaktionen) mit einer Unterhaltung anzeigen kann. Wenn Sie setShortcutInfo() verwenden, um die Unterhaltung mit einer Verknüpfung zu verknüpfen, hängt das Unterhaltungssystem automatisch die entsprechende LocusIdCompat an.
Anforderungen an den Unterhaltungsbereich für Apps, die auf Android 10 oder niedriger ausgerichtet sind
Wenn eine App nicht auf Android 11 ausgerichtet ist, können ihre Nachrichten trotzdem im Unterhaltungsbereich angezeigt werden. Die App muss jedoch bestimmte Anforderungen erfüllen. In diesem Abschnitt werden die Anforderungen für diese Apps und das Fallback-Verhalten beschrieben, wenn die App die Anforderungen nicht erfüllt.
Die wichtigste Voraussetzung für die Teilnahme am Messaging-Bereich ist, dass die App MessagingStyle-Benachrichtigungen implementieren muss und die Benachrichtigungen auf eine langlebige Verknüpfung aus der Benachrichtigung verweisen müssen, die zum Zeitpunkt der Veröffentlichung der Benachrichtigung veröffentlicht wird. Benachrichtigungen, die diese Anforderungen erfüllen, werden im Unterhaltungsbereich mit folgendem Verhalten angezeigt:
- Die Benachrichtigung wird im Unterhaltungsstil angezeigt.
- Die Schaltfläche Bubble wird angeboten, wenn sie implementiert ist.
- Unterhaltungsspezifische Funktionen werden inline angeboten.
Wenn die Benachrichtigung diese Anforderungen nicht erfüllt, verwendet die Plattform Fallback-Optionen, um die Benachrichtigung zu formatieren. Wenn eine Benachrichtigung die Anforderungen eines der Fallback-Fälle erfüllt, wird sie im Unterhaltungsbereich mit einer speziellen Formatierung angezeigt. Wenn die Benachrichtigung für keine der beiden Fallback-Optionen infrage kommt, wird sie nicht im Unterhaltungsbereich angezeigt.
Fallback: Wenn „MessagingStyle“ verwendet wird, aber keine Verknüpfung angegeben ist
Wenn die App auf Android 10 oder niedriger ausgerichtet ist und eine Benachrichtigung MessagingStyle verwendet, die Nachricht aber nicht mit einer Verknüpfung verknüpft ist, wird die Benachrichtigung im Unterhaltungsbereich mit folgendem Verhalten angezeigt:
- Die Benachrichtigung wird im Unterhaltungsstil angezeigt.
- Keine Bubble-Schaltfläche wird angeboten
- Keine konversationsspezifischen Funktionen werden inline angeboten
Fallback: Wenn „MessagingStyle“ nicht verwendet wird, die App aber als Messaging-App erkannt wird
Wenn eine Benachrichtigung nicht MessagingStyle verwendet, die App aber von der Plattform als Messaging-App erkannt wird und der Parameter category der Benachrichtigung auf msg gesetzt ist, wird die Benachrichtigung im Unterhaltungsbereich mit folgendem Verhalten angezeigt:
- Die Benachrichtigung wird im alten Stil (vor Android 11) angezeigt.
- Keine Bubble-Schaltfläche wird angeboten
- Keine konversationsspezifischen Funktionen werden inline angeboten
Anleitung, Nutzung und Tests
In diesem Abschnitt finden Sie allgemeine Hinweise zur Verwendung und zum Testen der Unterhaltungsfunktionen.
Wann sollte ich Unterhaltungen verwenden?
Unterhaltungsbenachrichtigungen und zugehörige Verknüpfungen sollen die Nutzerfreundlichkeit von Echtzeitunterhaltungen verbessern. SMS, Textchats und Telefonate sind beispielsweise Echtzeitunterhaltungen, bei denen Nutzer eine schnelle Kommunikation erwarten. Bei E‑Mails und Aktivitäten, die nicht mit Unterhaltungen zusammenhängen, haben Nutzer diese Erwartung nicht.
Nutzer können eine bestimmte Unterhaltung aus dem Unterhaltungsbereich entfernen, wenn sie der Meinung sind, dass sie dort nicht hingehört.
Best Practices
Wir empfehlen die folgenden Best Practices, um die Interaktion zu steigern und es Ihren Nutzern zu erleichtern, mit Personen und Unterhaltungen rund um Ihre App zu interagieren.
- Damit verpasste Anrufe im priorisierten Kommunikationsbereich und im Kommunikations-Widget korrekt angezeigt werden, formatiere Benachrichtigungen zu verpassten Anrufen als
conversationsund lege die Kategorie aufCATEGORY_MISSED_CALLfest. - Stelle hochwertige Avatare (104 dp) für Nutzer bereit. Andernfalls verwendet das System die Initialen der Person, was weniger ansprechend ist.
cancelSie eine Unterhaltungsbenachrichtigung nicht, bevor der Nutzer die Nachricht gesehen hat. Ein Beispiel hierfür ist das Abbrechen einer Benachrichtigung, wenn die App in einer Ansicht geöffnet wird, in der der Nutzer die Nachricht nicht sehen oder darauf reagieren kann. Wenn der Nutzer keine Gelegenheit hat, die Nachricht zu lesen oder darauf zu reagieren, werden eine abgebrochene Benachrichtigung und die zugehörige Bubble entfernt, was zum Verlust des Unterhaltungskontexts führt.- Geben Sie einen
data-URI für MIME-bezogene Metadaten an, die mit Nachrichten verknüpft sind. So können Sie umfangreichere Benachrichtigungen bereitstellen. - Mit der
Android 12 statusAPI kannst du Kommunikations-Widgets ansprechender gestalten. - Wenden Sie die folgenden Best Practices für Unterhaltungsverknüpfungen an.
- Veröffentlichen Sie Verknüpfungen für eingehende und ausgehende In-App-Unterhaltungen, die keine Push-Benachrichtigungen senden. Eingehende und ausgehende Nachrichten für dieselbe Unterhaltung sollten dieselbe Verknüpfungs-ID haben. Verwenden Sie
pushDynamicShortcut(), um Ihre Kurzbefehle zu veröffentlichen und die Nutzung zu melden. - Damit der Avatar der Verknüpfung nicht versehentlich abgeschnitten wird, gib ein
AdaptiveIconDrawablefür das Symbol der Verknüpfung an. Weitere Informationen finden Sie unter Bilder für Verknüpfungen bereitstellen. - Damit das System Ihre Verknüpfung besser bewerben kann, sollten Sie die Richtlinien für ein optimales Ranking beachten. Ihre Verknüpfung wird auf verschiedenen Systemoberflächen angezeigt, einschließlich des Android-Sharesheets, wenn es sich um eine Freigabeverknüpfung handelt.
- Sorge dafür, dass Unterhaltungsverknüpfungen
intentsdirekt in der entsprechenden Unterhaltung geöffnet werden. - Verwende die Kompatibilitätsbibliotheken, um deine Verknüpfungen bequem als
conversation-bezogen festzulegen.
- Veröffentlichen Sie Verknüpfungen für eingehende und ausgehende In-App-Unterhaltungen, die keine Push-Benachrichtigungen senden. Eingehende und ausgehende Nachrichten für dieselbe Unterhaltung sollten dieselbe Verknüpfungs-ID haben. Verwenden Sie
Unterhaltungsbenachrichtigungen und Verknüpfungen testen
Wenn Sie die Richtlinien für den Unterhaltungsbereich einhalten, sollten Unterhaltungen automatisch im Unterhaltungsbereich angezeigt werden. Du kannst prüfen, ob die Verknüpfung richtig integriert ist, indem du lange auf die Benachrichtigung drückst. Wenn die Integration ordnungsgemäß erfolgt ist, werden auf der Benutzeroberfläche konversationsbezogene Aktionen angezeigt. Wenn die Benachrichtigung nicht mit einer Verknüpfung verknüpft ist, wird auf der Benutzeroberfläche ein Text angezeigt, der besagt, dass die App keine Unterhaltungsfunktionen unterstützt.
Hinzugefügte Verknüpfungen werden angezeigt, wenn Sie lange auf den App Launcher drücken. Prüfe, ob die Verknüpfungen dich zur richtigen Stelle in deiner App führen.
Hinzugefügte Kurzbefehle zum Teilen werden in der Zeile für die direkte Freigabe des Sharesheets angezeigt, wenn Inhalte geteilt werden, die über den Kurzbefehl zum Teilen empfangen werden können.
Kommunikations-Widgets
In Android 12 baut die Funktion „Kommunikations-Widget“ auf der Funktion „Personen und Unterhaltungen“ auf, die in Android 11 eingeführt wurde. Damit können Apps den Unterhaltungsstatus in Kommunikations-Widgets anzeigen.
Kommunikations-Widgets fördern die Nutzerinteraktion, da Nutzer Chats ganz einfach auf dem Startbildschirm öffnen können. Diese Widgets sind erweiterte Verknüpfungen, mit denen Nutzer effizient zu ihren Unterhaltungen zurückkehren können. Außerdem werden Snippets des Unterhaltungsstatus oder andere relevante Informationen angezeigt.
Prüfen, ob Ihre App Kommunikations-Widgets unterstützt
Wenn du prüfen möchtest, ob deine App Kommunikations-Widgets unterstützt, benötigst du mindestens zwei Android-Geräte (beide mit Android 12) und zwei Nutzerkonten (eines auf jedem Gerät), um Nachrichten auszutauschen. In diesem Verfahren nennen wir die Konten „Nutzer A“ und „Nutzer B“.
Gehen Sie folgendermaßen vor:
- Drücke auf dem Gerät von Nutzer A lange auf den Launcher. Tippe in der Widget-Auswahl auf ein neues Widget für eine Unterhaltung, wie in Abbildung 2 dargestellt.
- Ziehe das Widget auf den Startbildschirm. Eine Liste der aktiven oder kürzlich geführten Unterhaltungen aus der App von Nutzer A sollte auswählbar sein.
- Senden Sie nun auf dem Gerät von Nutzer B eine Testnachricht an Nutzer A.
- Prüfe auf dem Gerät von Nutzer A, ob das Widget aktualisiert wurde und die Benachrichtigung über die Nachricht von Nutzer B angezeigt wird.
- Optional: Lassen Sie sowohl Nutzer A als auch Nutzer B die Unterhaltung auf unterschiedliche Statuswerte setzen, um zu prüfen, ob die Widgets diese korrekt widerspiegeln. Eine Liste der Statuswerte finden Sie unter ConversationStatus.