Personen und Unterhaltungen

Die Personen- und Konversationsinitiative ist eine mehrjährige Android-Initiative, die darauf abzielt, Menschen und Unterhaltungen auf den Systemoberflächen des Smartphones zu verbessern. Diese Priorität basiert auf der Tatsache, dass die Kommunikation und Interaktion mit anderen Nutzern für die Mehrheit unserer Nutzer in allen demografischen Gruppen immer noch der wertvollste und wichtigste Funktionsbereich ist.

In Android 11 wurden eine Reihe von Funktionen eingeführt, um die Personen- und Kommunikationsinitiative zu unterstützen.

Unterhaltungsbereich


Der Unterhaltungsbereich ist ein eigener Benachrichtigungsbereich für Echtzeit-Unterhaltungen zwischen Menschen.
Abbildung 1: Unterhaltungsbereich.

Auf Handheld-Geräten befindet sich über der Benachrichtigungsleiste ein separater Abschnitt, 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 als Benachrichtigungen ohne Unterhaltungen:

  • Das Design ist anders: Der Avatar steht für Personen und die App, mit der die Unterhaltung kommuniziert wird.
  • Durch Tippen auf die Benachrichtigung wird die Unterhaltung in der App geöffnet (oder Bubble, wenn die Unterhaltung zuvor als Bubble angezeigt wurde). Durch Tippen auf das Caret-Zeichen werden die neuen Nachrichten in der Töne vollständig angezeigt und mit der vollständigen Liste der Optionen angezeigt.
  • Konversationsspezifische Aktionen werden angeboten (teilweise durch langes Drücken):
    • Diese Unterhaltung als Priorität markieren
    • Diese Unterhaltung zu 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 die Unterhaltung erfüllt, startet die Plattform sie als Bubble auf der Benachrichtigungsleiste.
Abbildung 2: Das Starten einer Benachrichtigung als Bubble auf der Benachrichtigungsleiste.

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 oder in der Benachrichtigungsleiste als Bubble angezeigt werden.

Tastaturkürzel für Unterhaltungen

Verknüpfungen zu Unterhaltungen werden im Launcher und neben den langlebigen Verknüpfungen zum Teilen im Sharesheet angezeigt.

API-Richtlinien

In diesem Abschnitt werden die APIs beschrieben, mit denen Sie 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

Um an dieser konversationsorientierten Initiative teilzunehmen, müssen Apps dem System langlebige Verknüpfungen zur Verfügung stellen. Es wird dringend empfohlen, langlebige Verknüpfungen zur Freigabe zu verwenden. Bei Bedarf kannst du in Android 11 dynamische Tastenkombinationen verwenden, aber wir werden diese Option möglicherweise in Zukunft entfernen.

Wenn Sie eine Verknüpfung in der Unterhaltung veröffentlichen möchten, rufen Sie die ShortcutManagerCompat-Methoden setDynamicShortcuts(), addDynamicShortcuts() oder pushDynamicShortcut() auf, mit denen das Verknüpfungslimit für den Entwickler automatisch verwaltet wird. Diese Verknüpfung muss langlebig sein und Person-Daten für eine oder mehrere Personen enthalten, die die anderen Teilnehmer der Unterhaltung identifizieren. Außerdem empfehlen wir, den LocusIdCompat festzulegen.

Ist eine Unterhaltung nicht mehr vorhanden, kann die Anwendung die Verknüpfung mit removeLongLivedShortcuts() löschen. Dadurch löscht das System alle mit der Unterhaltung verknüpften Daten. Tastenkombinationen können zwar entfernt werden, Apps sollten aber im Cache gespeicherte Verknüpfungen nur dann entfernen, wenn dies unbedingt erforderlich ist. Verknüpfungen werden wahrscheinlich im Cache gespeichert, weil der Nutzer damit interagiert hat, um die Nutzererfahrung zu ändern. Durch das Entfernen der Verknüpfung 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:

  • In der Benachrichtigung wird MessagingStyle verwendet.

  • (Nur, wenn die App auf Android 11 oder höher ausgerichtet ist) Die Benachrichtigung ist einer gültigen langlebigen dynamischen oder im Cache gespeicherten Freigabeverknüpfung zugeordnet. In der Benachrichtigung kann diese Verknüpfung durch Aufrufen von setShortcutId() oder setShortcutInfo() festgelegt werden. Ist die App auf Android 10 oder niedriger ausgerichtet, muss die Benachrichtigung keiner Verknüpfung zugeordnet sein, wie im Abschnitt Fallback-Optionen beschrieben.

  • Zum Zeitpunkt der Veröffentlichung hat der Nutzer die Unterhaltung nicht über die Benachrichtigungskanaleinstellungen aus dem Unterhaltungsbereich abgewertet.

LocusIdCompat verwenden

Die 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 aus Launcher-Verknüpfungen oder innerhalb einer Benachrichtigung, sofern diese korrekt gekennzeichnet sind. Das System weiß jedoch nichts über Unterhaltungen, die vollständig in der App stattgefunden haben, es sei denn, diese Interaktionen sind auch mit Tags gekennzeichnet. Daher empfehlen wir dringend, ein LocusIdCompat-Element 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 die korrekte Zeit der letzten Interaktion des Nutzers mit einer Unterhaltung (einschließlich In-App-Interaktionen) anzeigen kann. Wenn Sie die Unterhaltung mit setShortcutInfo() mit einer Verknüpfung 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 die zugehörigen Nachrichten trotzdem im Unterhaltungsbereich angezeigt werden. Die Anwendung muss jedoch weiterhin 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 Hauptvoraussetzung für die Teilnahme am Messaging-Bereich ist, dass die App MessagingStyle-Benachrichtigungen implementieren muss und die Benachrichtigungen auf eine langlebige Verknüpfung zu der Benachrichtigung verweisen müssen, die zum Zeitpunkt der Veröffentlichung veröffentlicht wurde. Benachrichtigungen, die diese Anforderungen erfüllen, werden im Unterhaltungsbereich mit folgendem Verhalten angezeigt:

  • Benachrichtigung wird im Unterhaltungsstil angezeigt
  • Die Bubble-Schaltfläche wird angeboten, sofern implementiert.
  • Konversationsspezifische Funktionen werden inline angeboten.

Wenn die Benachrichtigung diese Anforderungen nicht erfüllt, verwendet die Plattform Fallback-Optionen zur Formatierung der Benachrichtigung. Wenn eine Benachrichtigung die Anforderungen einer der beiden 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 im Unterhaltungsbereich nicht angezeigt.

Alternative: Wenn „MessagingStyle“ verwendet wird, aber keine Verknüpfung angegeben ist

Wenn die App auf Android 10 oder niedriger ausgerichtet ist und in einer Benachrichtigung MessagingStyle verwendet wird, die Nachricht aber nicht mit einer Verknüpfung verknüpft ist, wird die Benachrichtigung im Unterhaltungsbereich so angezeigt:

  • Benachrichtigung wird im Unterhaltungsstil angezeigt
  • Keine Infofeld-Schaltfläche wird angeboten.
  • Keine konversationsspezifischen Funktionen werden inline angeboten.

Fallback: Wenn MessagingStyle nicht verwendet wird, die App aber eine erkannte Messaging-App ist

Wenn für eine Benachrichtigung MessagingStyle nicht verwendet wird, die Plattform aber von der Plattform als Messaging-App erkannt wird und der Parameter category der Benachrichtigung auf msg gesetzt ist, wird die Benachrichtigung mit folgendem Verhalten im Unterhaltungsbereich angezeigt:

  • Benachrichtigung wird im alten Stil vor Android 11 angezeigt
  • Keine Infofeld-Schaltfläche wird angeboten.
  • Keine konversationsspezifischen Funktionen werden inline angeboten.

Anleitungen, Verwendung und Tests

Dieser Abschnitt enthält eine allgemeine Anleitung zum Verwenden und Testen der Konversationsfunktionen.

Wann sollte ich Unterhaltungen verwenden?

Unterhaltungsbenachrichtigungen und zugehörige Tastenkombinationen sollen die Bedienung von Echtzeit-Unterhaltungen verbessern. SMS, Textchats und Telefonanrufe sind beispielsweise Echtzeit-Unterhaltungen, bei denen Nutzer eine schnelle Kommunikation erwarten. Nutzer haben diese Erwartungen nicht an E-Mails und Aktivitäten, die nichts mit Konversationen zu tun haben.

Wir haben Nutzern die Möglichkeit gegeben, eine bestimmte Unterhaltung aus dem Konversationsbereich zu entfernen, wenn sie das Gefühl haben, dass sie nicht an der richtigen Stelle ist.

Best Practices

Wir empfehlen die folgenden Best Practices, um das Engagement zu erhöhen und Nutzern die Interaktion mit Personen und Unterhaltungen rund um Ihre App zu erleichtern.

  • Damit verpasste Anrufe im priorisierten Konversationsfarbton und im Conversion-Widget korrekt angezeigt werden, formatieren Sie Benachrichtigungen über verpasste Anrufe als conversations mit der Kategorie CATEGORY_MISSED_CALL.
  • Nutzern hochwertige Avatare (104 dp) zur Verfügung stellen. Andernfalls werden die Initialen der Person verwendet, was weniger ansprechend ist.
  • cancel für eine Unterhaltungsbenachrichtigung erst dann, wenn der Nutzer die Nachricht noch nicht gesehen hat. Ein Beispiel dafür ist das Abbrechen einer Benachrichtigung beim Öffnen der App in einer Ansicht, 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 adressieren, werden die abgebrochene Benachrichtigung und die zugehörige Bubble entfernt, wodurch der Kontext der Unterhaltung verloren geht.
  • Stellen Sie einen data-URI für MIME-bezogene Metadaten bereit, die mit Nachrichten verknüpft sind. Dadurch haben Sie die Möglichkeit, Benachrichtigungen umfassender zu gestalten.
  • Verwenden Sie die Android 12 status API, um Unterhaltungs-Widgets ansprechender zu gestalten.
  • Übernehmen 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. Mit pushDynamicShortcut() können Sie Ihre Verknüpfungen veröffentlichen und die Nutzung melden.
    • Damit der Verknüpfungsavatar nicht versehentlich abgeschnitten wird, können Sie als Symbol für die Verknüpfung ein AdaptiveIconDrawable angeben. Weitere Informationen finden Sie unter Verknüpfungsbilder bereitstellen.
    • Damit das System Ihre Verknüpfung besser promoten kann, folgen Sie den Richtlinien für das beste Ranking. Deine Verknüpfung wird auf verschiedenen Systemoberflächen angezeigt, z. B. im Android-Sharesheet, wenn es eine Verknüpfung zum Teilen ist.
    • Die Tastenkombinationen für Unterhaltungen intents müssen direkt in der entsprechenden Unterhaltung gestartet werden.
    • Verwenden Sie die Compat-Bibliotheken, um Ihre Verknüpfungen bequem als conversation-bezogen festzulegen.

Konversationsbenachrichtigungen und Tastenkombinationen testen

Durch langes Drücken auf eine Unterhaltung wird ein Menü mit unterhaltungsbezogenen Aktionen geöffnet.
Abbildung 3: Sie können prüfen, ob eine Unterhaltungsbenachrichtigung richtig konfiguriert ist, indem Sie lange darauf drücken und prüfen, ob das Unterhaltungsmenü angezeigt wird.

Wenn Sie die Richtlinien für Unterhaltungsbereiche einhalten, sollten Unterhaltungen automatisch im Unterhaltungsbereich angezeigt werden. Sie können überprüfen, ob die Verknüpfung korrekt integriert ist, indem Sie lange auf die Benachrichtigung drücken. Wenn die Integration korrekt abgeschlossen ist, werden auf der Benutzeroberfläche unterhaltungsbezogene Aktionen angezeigt. Wenn die Benachrichtigung nicht mit einer Verknüpfung verknüpft ist, wird auf der Benutzeroberfläche der Text angezeigt, dass die App keine Unterhaltungsfunktionen unterstützt.

Hinzugefügte Tastenkombinationen werden durch langes Drücken auf den App Launcher angezeigt. Testen Sie unbedingt, ob die Verknüpfungen Sie an die richtige Stelle in der App führen.

Hinzugefügte Tastenkombinationen für die Freigabe werden in der Zeile für die direkte Freigabe von Inhalten im Sharesheet angezeigt, wenn Sie Inhalte freigeben, die Ihre Freigabeverknüpfung erhalten kann.

Kommunikations-Widgets

In Konversations-Widgets angezeigte Unterhaltungen
Abbildung 1: In Konversations-Widgets angezeigte Unterhaltungen.

Die Funktion „Unterhaltungs-Widget“ in Android 12 baut auf der in Android 11 eingeführten Funktion „Personen“ und „Unterhaltungen“ auf. Apps können den Unterhaltungsstatus jetzt in Unterhaltungs-Widgets anzeigen.

Konversations-Widgets fördern die Interaktion mit Nutzern, da sie damit einfach Chats auf dem Startbildschirm öffnen können. Diese Widgets sind erweiterte Verknüpfungen, mit denen Nutzer effizient zu ihren Unterhaltungen zurückkehren können, während sie Ausschnitte ihres Unterhaltungsstatus oder andere relevante Informationen anzeigen.

Prüfen, ob deine App Unterhaltungs-Widgets unterstützt

Damit Sie prüfen können, ob Ihre App Unterhaltungs-Widgets unterstützt, benötigen Sie mindestens zwei Android-Geräte (beide mit Android 12) und zwei Nutzerkonten (eines auf jedem Gerät), um Nachrichten auszutauschen. Für die Zwecke dieses Verfahrens nennen wir die Konten "Nutzer A" und "Nutzer B".

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

Führe dann die folgenden Schritte durch:

  1. Drücken Sie auf dem Gerät von Nutzer A lange auf die Übersicht. Tippen Sie in der Widget-Auswahl auf ein neues Widget für eine Unterhaltung, wie in Abbildung 2 dargestellt.
  2. Ziehe das Widget auf den Startbildschirm. Eine Liste der aktiven oder aktuellen Unterhaltungen der App von Nutzer A sollte auswählbar sein.
  3. Senden Sie nun auf dem Gerät von Nutzer B eine Testnachricht an Nutzer A.
  4. 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.
  5. Optional: Lassen Sie sowohl Nutzer A als auch Nutzer B die Unterhaltung auf unterschiedliche Statuswerte festlegen, damit ihre Widgets sie korrekt widerspiegeln. Eine Liste der Statuswerte finden Sie unter ConversationStatus.