Contacts et conversations

L'initiative "People and conversations" (Personnes et conversations) est une initiative Android pluriannuelle qui vise à mettre en avant les personnes et les conversations dans les surfaces système du téléphone. Cette priorité repose sur le fait que la communication et les interactions avec les autres personnes demeurent le domaine fonctionnel le plus apprécié et le plus important pour la majorité de nos utilisateurs, toutes catégories démographiques confondues.

Un certain nombre de fonctionnalités ont été introduites dans Android 11 pour soutenir l'initiative "Personnes et conversations".

Espace de conversation


L'espace conversation est une zone de notification dédiée aux conversations en temps réel entre des personnes.
Figure 1: Espace conversation

Sur les appareils portables, il existe une section distincte au-dessus du volet des notifications, qui ne contient que les conversations en temps réel avec des personnes (appels et messages de chat, y compris les chats de groupe). Les notifications de cet espace se présentent et se comportent différemment des notifications sans conversation sur de nombreux téléphones:

  • La conception est différente, avec une forte accent sur l'avatar représentant les personnes et l'application qui mène la conversation.
  • Appuyez sur la notification pour ouvrir la conversation dans l'application (ou l'info-bulle, si elle a déjà été affichée dans une bulle), et appuyer sur le caret agrandit les nouveaux messages dans l'ombre avec la liste complète des options.
  • Les actions propres à la conversation sont proposées (certaines en appuyant de manière prolongée) :
    • Marquer cette conversation comme prioritaire
    • Convertir cette conversation en bulle (uniquement si l'application prend en charge les bulles)
    • Couper le son des notifications pour cette conversation
    • Personnaliser les sons ou le vibreur pour cette conversation

Conversations dans des bulles

Si une notification répond aux exigences concernant les conversations, la plate-forme la lance sous la forme d'une bulle à partir du panneau des notifications.
Figure 2: Lancement de la notification sous forme de bulle à partir du panneau des notifications

À partir d'Android 11, vous pouvez créer des bulles à partir des notifications de la section "Conversations". Seules les notifications associées à un raccourci peuvent s'afficher dans des bulles. Les conversations apparaissent automatiquement si elles sont marquées comme importantes ou si elles apparaissent dans le volet des notifications.

Raccourcis de conversation

Les raccourcis vers les conversations apparaissent dans le lanceur d'applications et à côté des raccourcis de partage de longue durée dans la Sharesheet.

Consignes relatives aux API

Cette section décrit les API permettant de prendre en charge dans votre application l'espace fourni par le système qui affiche les personnes et les conversations.

Raccourcis des conversations

Pour participer à cette initiative axée sur la conversation, les applications doivent fournir au système des raccourcis de longue durée. Nous vous recommandons vivement d'utiliser des raccourcis de partage de longue durée. Si nécessaire, vous pouvez utiliser des raccourcis dynamiques sous Android 11, mais il est possible que nous supprimions cette option à l'avenir.

Pour publier un raccourci dans la conversation, appelez les méthodes ShortcutManagerCompat setDynamicShortcuts(), addDynamicShortcuts() ou pushDynamicShortcut() (qui gère automatiquement la limite de raccourcis pour le développeur). Ce raccourci doit avoir une longue durée et être associé à des données Person pour une ou plusieurs personnes, identifiant les autres participants à la conversation. Nous vous recommandons également de définir LocusIdCompat.

Si une conversation n'existe plus, l'application peut supprimer le raccourci avec removeLongLivedShortcuts(). Le système supprime alors toutes les données associées à la conversation. Bien que les raccourcis soient amovibles, les applications ne devraient pas supprimer les raccourcis mis en cache, sauf si cela est absolument nécessaire. Un raccourci est probablement mis en cache, car l'utilisateur a interagi avec celui-ci pour modifier son expérience. La suppression du raccourci annulera ces modifications, ce qui peut frustrer l'utilisateur.

Notifications de conversation

Une notification est considérée comme une notification de conversation si les conditions suivantes sont remplies:

  • La notification utilise MessagingStyle.

  • (Uniquement si l'application cible Android 11 ou version ultérieure) La notification est associée à un raccourci de partage dynamique ou de longue durée valide. La notification peut définir cette association en appelant setShortcutId() ou setShortcutInfo(). Si l'application cible Android 10 ou une version antérieure, il n'est pas nécessaire que la notification soit associée à un raccourci, comme indiqué dans la section Options de remplacement.

  • L'utilisateur n'a pas rétrogradé la conversation de la section des conversations via les paramètres du canal de notification au moment de la publication.

Utiliser LocusIdCompat

L'intelligence intégrée à l'appareil détermine les conversations qui intéressent le plus l'utilisateur. Parmi les signaux les plus importants figurent la récence et la fréquence des sessions de conversation dans chaque conversation. Le système connaît les interactions avec une conversation à partir des raccourcis du lanceur d'applications ou dans une notification s'ils sont correctement tagués. Toutefois, le système ne connaît pas les conversations qui ont eu lieu entièrement dans l'application, sauf si ces interactions sont également taguées. Par conséquent, nous vous recommandons vivement d'associer un LocusIdCompat au raccourci et d'annoter l'activité ou le fragment dans l'application avec le LocusIdCompat associé. Utilisez LocusIdCompat pour permettre au système de suggestions de classer correctement la conversation et d'afficher l'heure correcte de la dernière interaction de l'utilisateur (y compris les interactions dans l'application) avec une conversation. Si vous utilisez setShortcutInfo() pour associer la conversation à un raccourci, le système de conversations associe automatiquement le LocusIdCompat approprié.

Exigences relatives à l'espace de conversation pour les applications ciblant Android 10 ou version antérieure

Si une application ne cible pas Android 11, ses messages peuvent toujours être affichés dans l'espace de conversation. Toutefois, l'application doit toujours répondre à certaines exigences. Cette section décrit les exigences relatives à ces applications et le comportement de remplacement si l'application ne les répond pas.

Pour pouvoir participer à l'espace de messagerie, l'application doit implémenter les notifications MessagingStyle. Celles-ci doivent faire référence à un raccourci de longue durée à partir de la notification publiée au moment de la publication. Les notifications qui répondent à ces exigences apparaissent dans l'espace de conversation avec le comportement suivant:

  • La notification s'affiche en style conversation
  • Le bouton Bulle est proposé, s'il est implémenté.
  • Des fonctions spécifiques aux conversations sont proposées de façon intégrée.

Si la notification ne répond pas à ces exigences, la plate-forme utilise des options de remplacement pour la mettre en forme. Si une notification répond aux exigences de l'un des cas de remplacement, elle est affichée dans l'espace de conversation avec une mise en forme spéciale. Si la notification n'est éligible à aucune des options de remplacement, elle ne s'affiche pas dans l'espace de conversation.

Valeur de remplacement: si MessagingStyle est utilisé, mais qu'aucun raccourci n'est fourni

Si l'application cible Android 10 ou une version antérieure et qu'une notification utilise MessagingStyle, mais n'associe pas le message à un raccourci, la notification s'affiche dans l'espace de conversation avec le comportement suivant:

  • La notification s'affiche en style conversation
  • Aucun bouton d'info-bulle n'est proposé.
  • Aucune fonction spécifique aux conversations n'est proposée de façon intégrée.

Remplacement: si MessagingStyle n'est pas utilisé, mais qu'il s'agit d'une application de chat reconnue

Si une notification n'utilise pas MessagingStyle, mais que l'application est reconnue par la plate-forme comme une application de chat et que le paramètre category de la notification est défini sur msg, la notification s'affiche dans l'espace de conversation avec le comportement suivant:

  • La notification s'affiche dans l'ancienne version, antérieure à Android 11.
  • Aucun bouton d'info-bulle n'est proposé.
  • Aucune fonction spécifique aux conversations n'est proposée de façon intégrée.

Conseils, utilisation et tests

Cette section fournit des conseils généraux sur l'utilisation et le test des fonctionnalités de conversation.

Quand dois-je utiliser la fonctionnalité Conversation ?

Les notifications de conversation et les raccourcis associés sont destinés à améliorer l'expérience utilisateur des conversations en temps réel. Par exemple, les SMS, les chats textuels et les appels téléphoniques sont des conversations en temps réel où les utilisateurs s'attendent à communiquer rapidement. Les utilisateurs n'ont pas cette attente pour les e-mails et les activités sans rapport avec les conversations.

Nous avons permis aux utilisateurs de supprimer une conversation donnée de la section des conversations s'ils estiment qu'elle n'est pas placée dans le bon espace.

Bonnes pratiques

Pour accroître l'engagement et permettre aux utilisateurs d'interagir plus facilement avec les personnes et les conversations autour de votre application, nous vous recommandons d'appliquer les bonnes pratiques suivantes.

  • Pour vous assurer que les appels manqués s'affichent dans le volet de conversation prioritaire et s'affichent correctement dans le widget de conversion, formatez les notifications d'appel manqué en tant que conversations avec une catégorie définie sur CATEGORY_MISSED_CALL.
  • Fournissez des avatars de haute qualité (104 dp) aux utilisateurs. Sinon, le système utilise les initiales de la personne, ce qui nuit à l'expérience utilisateur.
  • N'exécutez pas de cancel de notification de conversation avant que l'utilisateur n'ait vu le message. Par exemple, vous pouvez annuler une notification lors de l'ouverture de l'application dans une vue où l'utilisateur ne peut ni voir, ni traiter le message. Si l'utilisateur n'a pas la possibilité de lire ou de traiter le message, une notification annulée et sa bulle associée sont supprimées, ce qui entraîne une perte de contexte de la conversation.
  • Fournissez un URI data pour les métadonnées liées à MIME associées aux messages, ce qui vous permet d'enrichir l'expérience des notifications.
  • Utilisez l'API Android 12 status pour rendre les widgets de conversation plus attrayants.
  • Adoptez les bonnes pratiques suivantes pour les raccourcis de conversation.
    • Publiez des raccourcis pour les conversations dans l'application entrantes et sortantes qui ne proposent pas de notifications push. Les messages entrants et sortants d'une même conversation doivent avoir le même ID de raccourci. Utilisez pushDynamicShortcut() pour publier vos raccourcis et signaler l'utilisation.
    • Pour éviter le rognage involontaire de votre avatar de raccourci, fournissez un AdaptiveIconDrawable pour l'icône du raccourci. Pour en savoir plus, consultez la section Fournir des images de raccourci.
    • Pour aider le système à promouvoir votre raccourci, suivez les consignes pour obtenir le meilleur classement. Votre raccourci est classé dans différentes surfaces système, y compris la Sharesheet Android s'il s'agit d'un raccourci de partage.
    • Assurez-vous que les raccourcis de conversation intents se lancent directement dans la conversation applicable.
    • Utilisez les bibliothèques de compatibilité pour définir facilement vos raccourcis comme liés à conversation.

Tester les raccourcis et les notifications de conversation

Lorsque vous appuyez de manière prolongée sur une conversation, un menu d'actions liées à la conversation s'affiche.
Figure 3: Vous pouvez vérifier qu'une notification de conversation est correctement configurée en appuyant dessus de manière prolongée et en vérifiant que le menu de la conversation s'affiche.

Si vous suivez les consignes de l'espace de conversation, les conversations devraient apparaître automatiquement dans l'espace de conversation. Vous pouvez vérifier que le raccourci est correctement intégré en appuyant de manière prolongée sur la notification. Si l'intégration est effectuée correctement, l'UI affiche les actions liées à la conversation. Si la notification n'est pas associée à un raccourci, l'UI affiche un texte indiquant que l'application n'est pas compatible avec les fonctionnalités de conversation.

Les raccourcis ajoutés s'affichent lorsque vous appuyez de manière prolongée sur le lanceur d'applications. Assurez-vous de vérifier que les raccourcis vous redirigent au bon endroit dans votre application.

Les raccourcis de partage ajoutés s'affichent sur la ligne de partage direct de la Sharesheet lors du partage de contenu que votre raccourci de partage peut recevoir.

Widget Conversation

Conversations affichées dans les widgets de conversation
Figure 1: Conversations affichées dans les widgets de conversation.

Dans Android 12, la fonctionnalité de widget de conversation s'appuie sur la fonctionnalité de personnes et de conversations introduite dans Android 11 en permettant aux applications d'afficher l'état des conversations dans les widgets de conversation.

Les widgets de conversation favorisent les interactions des utilisateurs en leur permettant d'ouvrir facilement les chats sur l'écran d'accueil. Ces widgets sont des raccourcis améliorés qui permettent aux utilisateurs de revenir efficacement à leurs conversations tout en affichant des extraits de l'état de leur conversation ou d'autres informations pertinentes.

Vérifier que votre application est compatible avec les widgets de conversation

Pour vérifier que votre application est compatible avec les widgets de conversation, vous devez disposer d'au moins deux appareils Android (tous deux équipés d'Android 12) et de deux comptes utilisateur (un sur chaque appareil) pour échanger des messages. Pour les besoins de cette procédure, nous appellerons ces comptes "utilisateur A" et "utilisateur B".

UI de l'outil de sélection de widgets permettant d'ajouter un widget Conversation
Figure 2: UI de l'outil de sélection de widgets permettant d'ajouter un widget Conversation

Procédez comme suit :

  1. Sur l'appareil de l'utilisateur A, appuyez de manière prolongée sur le lanceur d'applications. Dans l'outil de sélection de widgets, appuyez sur un nouveau widget pour une conversation, comme illustré dans la figure 2.
  2. Faites glisser le widget sur l'écran d'accueil. Une liste de conversations actives ou récentes de l'application de l'utilisateur A doit être sélectionnable.
  3. Maintenant, sur l'appareil de l'utilisateur B, envoyez un message de test à l'utilisateur A.
  4. Sur l'appareil de l'utilisateur A, vérifiez que le widget est mis à jour pour refléter la notification du message de l'utilisateur B.
  5. Facultatif: demandez aux utilisateurs A et B de définir la conversation sur des valeurs d'état différentes pour vous assurer que leurs widgets les reflètent correctement. Pour obtenir la liste des valeurs d'état, consultez ConversationStatus.