Die Initiative „Personen und Unterhaltungen“ ist eine mehrjährige Android-Initiative mit dem Ziel, mehr Nutzer und Unterhaltungen in den Systemoberflächen des Smartphones zu unterstützen. Diese Priorität beruht auf der Tatsache, dass die Kommunikation und Interaktion mit anderen Personen für die Mehrheit unserer Nutzer in allen demografischen Gruppen immer noch der am meisten geschätzte und wichtigste Funktionsbereich ist.
In Android 11 wurden eine Reihe von Funktionen eingeführt, um die „People and Conversation“-Initiative zu unterstützen.
Unterhaltungsbereich
![Der Unterhaltungsbereich ist ein dedizierter Benachrichtigungsbereich für Echtzeitkonversationen zwischen Personen.](https://developer.android.google.cn/static/images/guide/topics/ui/conversations-conv-space.png?authuser=9&hl=de)
Auf Handheld-Geräten befindet sich über der Benachrichtigungsleiste ein separater Abschnitt, der nur Echtzeit-Unterhaltungen mit Personen enthält (z. B. Anrufe und Chatnachrichten, einschließlich Gruppenchats). Benachrichtigungen in diesem Bereich sehen und verhalten sich auf vielen Smartphones anders als Benachrichtigungen ohne Unterhaltung:
- Das Design ist anders, wobei der Avatar die Menschen in Kombination mit der App, die die Unterhaltung führt, in den Mittelpunkt stellt.
- Durch Tippen auf die Benachrichtigung wird die Unterhaltung in der App geöffnet (oder das Infofeld, wenn die Unterhaltung zuvor als Bubble angezeigt wurde). Durch Tippen auf das Caret-Zeichen werden die neuen Nachrichten in der Leiste mit allen Optionen in voller Länge angezeigt.
- Es werden dialogspezifische Aktionen angeboten (teilweise durch langes Drücken):
- Diese Unterhaltung als Priorität markieren
- Diese Unterhaltung als Bubble hochstufen (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
![Wenn eine Benachrichtigung die Anforderungen für Unterhaltungen erfüllt, startet die Plattform sie als Bubble in der Benachrichtigungsleiste.](https://developer.android.google.cn/static/images/guide/topics/ui/conversations-bubble.gif?authuser=9&hl=de)
Ab Android 11 können Bubbles über Benachrichtigungen im Bereich „Unterhaltungen“ gestartet werden. Nur Benachrichtigungen mit einer verknüpften Verknüpfung können als Bubble angezeigt werden. Unterhaltungen werden automatisch als Bubble angezeigt, wenn sie als wichtig markiert sind oder ausgelöst werden, wenn sie in der Benachrichtigungsschattierung angezeigt werden.
Kurzbefehle für Unterhaltungen
Verknüpfungen für Unterhaltungen werden im Launcher und neben langlebigen Verknüpfungen zum Teilen im Sharesheet angezeigt.
API-Richtlinien
In diesem Abschnitt werden die APIs beschrieben, die in Ihrer App Unterstützung für den vom System bereitgestellten Bereich bieten, in dem Personen und Unterhaltungen angezeigt werden.
Tastenkombinationen für Unterhaltungen
Zur Teilnahme an dieser gesprächsorientierten Initiative müssen Anwendungen dem System langlebige Verknüpfungen bereitstellen. Wir empfehlen dringend, langlebige Tastenkombinationen zum Teilen zu verwenden. Bei Bedarf kannst du in Android 11 dynamische Verknüpfungen verwenden. Diese Option wird aber möglicherweise in Zukunft entfernt.
Um eine Verknüpfung für die Unterhaltung zu veröffentlichen, rufen Sie die ShortcutManagerCompat
-Methoden setDynamicShortcuts()
, addDynamicShortcuts()
oder pushDynamicShortcut()
auf. Dadurch wird das Limit für Verknüpfungen automatisch für den Entwickler verwaltet. Diese Verknüpfung muss langlebig sein und Person
-Daten für eine oder mehrere Personen enthalten, um die anderen Teilnehmer der Unterhaltung zu identifizieren. Wir empfehlen außerdem, die LocusIdCompat
festzulegen.
Wenn eine Unterhaltung nicht mehr vorhanden ist, kann die App die Verknüpfung mit removeLongLivedShortcuts()
löschen. Dadurch löscht das System alle mit der Unterhaltung verknüpften Daten.
Verknüpfungen können zwar entfernt werden, dürfen aber im Cache gespeicherte Verknüpfungen nur dann entfernen, wenn dies unbedingt erforderlich ist. Wahrscheinlich wurde eine Verknüpfung im Cache gespeichert, weil der Nutzer damit interagiert hat, um seine Einstellungen zu ändern. Wenn Sie die Verknüpfung entfernen, werden diese Änderungen rückgängig gemacht, was zu Frustration bei den Nutzern führt.
Unterhaltungsbenachrichtigungen
Eine Benachrichtigung wird als Unterhaltungsbenachrichtigung betrachtet, wenn die folgenden Bedingungen erfüllt sind:
Für die Benachrichtigung wird
MessagingStyle
verwendet.(Nur wenn die App auf Android 11 oder höher ausgerichtet ist) Die Benachrichtigung ist mit einer gültigen langlebigen Verknüpfung für die Freigabe in dynamischen oder im Cache gespeicherten Inhalten 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 keiner Verknüpfung zugeordnet sein, wie im Abschnitt Fallback-Optionen beschrieben.Der Nutzer hat die Unterhaltung zum Zeitpunkt des Beitrags nicht über die Einstellungen für den Benachrichtigungskanal zurückgestuft.
LocusIdCompat verwenden
On-Device-Intelligence 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 kennt Interaktionen mit einer Unterhaltung über die Launcher-Verknüpfungen oder innerhalb einer Benachrichtigung, wenn sie richtig getaggt sind. Das System weiß jedoch nicht von Unterhaltungen, die vollständig in der App stattgefunden haben, es sei denn, diese Interaktionen werden ebenfalls getaggt. Daher empfehlen wir dringend, eine LocusIdCompat
an die Verknüpfung anzuhängen und die In-App-Aktivität oder das Fragment mit dem zugehörigen LocusIdCompat
zu annotieren. Verwenden Sie LocusIdCompat
, damit das Vorschlagssystem die Unterhaltung richtig einstufen und den richtigen Zeitpunkt der letzten Interaktion des Nutzers mit einer Unterhaltung (einschließlich In-App-Interaktionen) 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 für Android 10 oder niedriger
Wenn eine App nicht auf Android 11 ausgerichtet ist, können die zugehörigen Nachrichten trotzdem im Unterhaltungsbereich angezeigt werden. Die Anwendung muss jedoch trotzdem bestimmte Anforderungen erfüllen. In diesem Abschnitt werden die Anforderungen für diese Anwendungen und das Fallback-Verhalten beschrieben, wenn die Anwendung die Anforderungen nicht erfüllt.
Die Hauptanforderung für die Teilnahme am Nachrichtenbereich ist, dass in der App MessagingStyle
-Benachrichtigungen implementiert werden müssen und die Benachrichtigungen auf eine langlebige Verknüpfung aus der Benachrichtigung verweisen, die zum Zeitpunkt der Veröffentlichung der Benachrichtigung veröffentlicht wird. Benachrichtigungen, die diese Anforderungen erfüllen, werden so im Unterhaltungsbereich angezeigt:
- Benachrichtigung wird im Unterhaltungsstil angezeigt
- Eine Bubble-Schaltfläche wird angeboten, wenn sie implementiert ist.
- Unterhaltungsspezifische Funktionen werden inline angeboten.
Wenn die Benachrichtigung diese Anforderungen nicht erfüllt, formatiert die Plattform die Benachrichtigung mithilfe von Fallback-Optionen. Wenn eine Benachrichtigung die Anforderungen eines der Fallbacks erfüllt, wird sie mit spezieller Formatierung im Unterhaltungsbereich angezeigt. Wenn die Benachrichtigung für keine der Fallback-Optionen infrage kommt, wird sie nicht im Unterhaltungsbereich angezeigt.
Fallback: wenn MessagingStyle verwendet, aber keine Tastenkombination angegeben wird
Wenn die App auf Android 10 oder niedriger ausgerichtet ist und für eine Benachrichtigung MessagingStyle
verwendet wird, die Nachricht aber nicht mit einer Verknüpfung verknüpft ist, wird die Benachrichtigung so im Unterhaltungsbereich angezeigt:
- Benachrichtigung wird im Unterhaltungsstil angezeigt
- Keine Bubble-Schaltfläche angeboten
- Inline werden keine unterhaltungsspezifischen Funktionen angeboten.
Fallback: Wenn MessagingStyle nicht verwendet wird, die App aber eine anerkannte Messaging-App ist
Wenn eine Benachrichtigung MessagingStyle
nicht 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 so angezeigt:
- Benachrichtigung wird in einem älteren Stil angezeigt, der älter als Android 11 war
- Keine Bubble-Schaltfläche angeboten
- Inline werden keine unterhaltungsspezifischen Funktionen angeboten.
Anleitungen, Nutzung und Tests
Dieser Abschnitt enthält eine allgemeine Anleitung zum Verwenden und Testen der Unterhaltungsfunktionen.
Wann sollte ich Konversationen verwenden?
Unterhaltungsbenachrichtigungen und zugehörige Tastenkombinationen sollen die Nutzerfreundlichkeit von Unterhaltungen in Echtzeit verbessern. SMS, Textchats und Telefonanrufe sind beispielsweise Unterhaltungen in Echtzeit, bei denen Nutzer eine schnelle Kommunikation erwarten. Nutzer haben diese Erwartung nicht an E-Mails und Aktivitäten, die nichts mit Unterhaltungen zu tun haben.
Wir haben Nutzern die Möglichkeit gegeben, eine bestimmte Unterhaltung aus dem Abschnitt „Unterhaltungen“ zu entfernen, wenn sie das Gefühl haben, dass sie sich nicht im richtigen Bereich befindet.
Best Practices
Wir empfehlen die folgenden Best Practices, um das Engagement zu erhöhen und Nutzern die Interaktion mit Personen und Unterhaltungen rund um deine App zu erleichtern.
- Damit verpasste Anrufe im Schatten der priorisierten Unterhaltungen und im Conversion-Widget korrekt angezeigt werden, formatieren Sie Benachrichtigungen über verpasste Anrufe als
conversations
und setzen Sie die Kategorie aufCATEGORY_MISSED_CALL
. - Stellen Sie den Nutzern hochwertige Avatare (104 dp) zur Verfügung. Andernfalls verwendet das System die Initialen der Person, was weniger ansprechend ist.
- Verwende
cancel
keine Unterhaltungsbenachrichtigung, bevor der Nutzer die Nachricht nicht gesehen hat. Ein Beispiel dafür ist das Abbrechen einer Benachrichtigung, wenn die Anwendung in einer Ansicht geöffnet wird, in der der Nutzer die Nachricht weder sehen noch adressieren kann. Wenn der Nutzer nicht die Möglichkeit hat, die Nachricht zu lesen oder zu beantworten, werden die abgebrochene Benachrichtigung und die zugehörige Bubble entfernt, wodurch der Unterhaltungskontext verloren geht. - Geben Sie einen
data
-URI für MIME-bezogene Metadaten an, die mit Nachrichten verknüpft sind. So können Sie Benachrichtigungen noch umfassender gestalten. - Mit der
Android 12 status
API können Sie Unterhaltungs-Widgets ansprechender gestalten. - Beachten Sie die folgenden Best Practices für Tastenkombinationen für Unterhaltungen.
- Veröffentlichen Sie Verknüpfungen für eingehende und ausgehende In-App-Unterhaltungen, die keine Push-Benachrichtigungen enthalten. Eingehende und ausgehende Nachrichten für dieselbe Unterhaltung sollten dieselbe Verknüpfungs-ID haben. Verwenden Sie
pushDynamicShortcut()
, um Ihre Verknüpfungen zu veröffentlichen und die Nutzung zu melden. - Damit der Avatar der Verknüpfung nicht unbeabsichtigt abgeschnitten wird, solltest du ein
AdaptiveIconDrawable
als Symbol dafür angeben. Weitere Informationen finden Sie unter Verknüpfungsbilder bereitstellen. - Beachte die Richtlinien zum Erzielen des besten Rankings, damit das System deine Verknüpfung besser bewerben kann. Die Rangfolge der Verknüpfung wird auf verschiedenen Systemoberflächen ermittelt, z. B. im Android-Sharesheet, falls es sich um eine Verknüpfung zum Teilen handelt.
- Achten Sie darauf, dass die Verknüpfungen
intents
für Unterhaltungen direkt in die entsprechende Unterhaltung führen. - Verwenden Sie die compat-Bibliotheken, um Ihre Verknüpfungen bequem als
conversation
-bezogen festzulegen.
- Veröffentlichen Sie Verknüpfungen für eingehende und ausgehende In-App-Unterhaltungen, die keine Push-Benachrichtigungen enthalten. Eingehende und ausgehende Nachrichten für dieselbe Unterhaltung sollten dieselbe Verknüpfungs-ID haben. Verwenden Sie
Unterhaltungsbenachrichtigungen und Tastenkombinationen testen
![Durch langes Drücken auf eine Konversation wird ein Menü mit Konversationsaktionen geöffnet.](https://developer.android.google.cn/static/images/guide/topics/ui/conversations-testing.png?authuser=9&hl=de)
Wenn Sie die Richtlinien für den Unterhaltungsbereich befolgen, sollten Unterhaltungen automatisch im Unterhaltungsbereich angezeigt werden. Sie können überprüfen, ob die Verknüpfung richtig eingebunden ist, indem Sie lange auf die Benachrichtigung drücken. Wenn die Integration korrekt durchgeführt wurde, zeigt die Benutzeroberfläche unterhaltungsbezogene Aktionen an. Wenn die Benachrichtigung nicht mit einer Verknüpfung verknüpft ist, wird auf der Benutzeroberfläche ein Text angezeigt, der darauf hinweist, dass die App keine Unterhaltungsfunktionen unterstützt.
Hinzugefügte Verknüpfungen werden angezeigt, wenn Sie lange auf den App Launcher drücken. Teste unbedingt, ob die Verknüpfungen an die richtige Stelle in der App gelangen.
Hinzugefügte Freigabeverknüpfungen werden in der Zeile für das direkte Teilen des Sharesheet angezeigt, wenn Sie Inhalte freigeben, die Ihre Freigabeverknüpfung empfangen kann.
Kommunikations-Widgets
![In Konversations-Widgets angezeigte Unterhaltungen](https://developer.android.google.cn/static/images/guide/topics/ui/conversation-widgets.png?authuser=9&hl=de)
In Android 12 baut das Unterhaltungs-Widget auf der Funktion für Personen und Unterhaltungen auf, die in Android 11 eingeführt wurde. Es ermöglicht Apps, den Unterhaltungsstatus in Unterhaltungs-Widgets anzuzeigen.
Konversations-Widgets fördern die Nutzerinteraktion, da sie Chats auf dem Startbildschirm einfach öffnen können. Diese Widgets sind erweiterte Verknüpfungen, mit denen Nutzer effizient zu ihren Unterhaltungen zurückkehren können. Dabei werden Snippets ihres Unterhaltungsstatus oder andere relevante Informationen angezeigt.
Prüfen, ob Ihre App Unterhaltungs-Widgets unterstützt
Wenn du prüfen möchtest, ob deine App Unterhaltungs-Widgets unterstützt, benötigst du mindestens zwei Android-Geräte (beide mit Android 12 ausgeführt werden) und zwei Nutzerkonten (eines auf jedem Gerät), um Nachrichten auszutauschen. In diesem Beispiel nennen wir die Konten „Nutzer A“ und „Nutzer B“.
![Benutzeroberfläche für die Widget-Auswahl zum Hinzufügen eines neuen Unterhaltungs-Widgets](https://developer.android.google.cn/static/images/guide/topics/ui/widget-picker-conversation.png?authuser=9&hl=de)
Führe dann die folgenden Schritte durch:
- Drücken Sie auf dem Gerät von Nutzer A lange auf den Launcher. Tippen Sie in der Widget-Auswahl auf ein neues Widget für eine Konversation, wie in Abbildung 2.
- Ziehen Sie das Widget auf den Startbildschirm. Es sollte eine Liste der aktiven oder letzten Unterhaltungen aus der App von Nutzer A ausgewählt werden.
- Sende jetzt auf dem Gerät von Nutzer B eine Testnachricht an Nutzer A.
- Prüfen Sie auf dem Gerät von Nutzer A, ob das Widget aktualisiert wurde, um die Benachrichtigung über die Nachricht von Nutzer B widerzuspiegeln.
- Optional: Nutzer A und Nutzer B müssen für die Unterhaltung unterschiedliche Statuswerte festlegen, damit ihre Widgets sie richtig widerspiegeln. Eine Liste der Statuswerte finden Sie unter ConversationStatus.