Contacts et conversations

L'initiative "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é est basée sur le fait que la communication et l'interaction avec d'autres personnes restent le domaine fonctionnel le plus important et le plus apprécié pour la majorité de nos utilisateurs, tous groupes démographiques confondus.

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

Espace de conversation


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

Sur les appareils portables, une section distincte se trouve en haut du panneau des notifications. Elle 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 fonctionnent différemment des notifications qui ne sont pas des conversations sur de nombreux téléphones :

  • La conception est différente, avec un fort accent sur l'avatar représentant les personnes combiné à l'application qui héberge la conversation.
  • Un appui sur la notification ouvre la conversation dans l'application (ou la bulle, si la conversation a déjà été mise en bulle), et un appui sur le chevron développe les nouveaux messages dans le panneau sur toute la longueur avec la liste complète des options.
  • Des actions spécifiques à la conversation sont proposées (certaines par appui prolongé) :
    • Marquer cette conversation comme prioritaire
    • Promouvoir cette conversation en bulle (affichée uniquement si l'application est compatible avec les bulles)
    • Couper le son des notifications pour cette conversation
    • Définir des sons ou des vibrations personnalisés pour cette conversation

Conversations dans des bulles

Si une notification répond aux exigences de conversation, la plate-forme la lance sous forme de bulle à partir du panneau de notifications.
Figure 2: Notification lancée sous forme de bulle à partir du panneau des notifications.

À partir d'Android 11, les bulles peuvent être lancées à partir des notifications de la section "Conversations". Seules les notifications associées à un raccourci peuvent être mises en bulle. Les conversations sont automatiquement mises en bulle si elles sont marquées comme importantes ou si elles sont déclenchées pour être mises en bulle dans le panneau des notifications.

Raccourcis de conversation

Les raccourcis vers les conversations s'affichent dans le lanceur d'applications et à côté des raccourcis de partage, permanents dans la Sharesheet.

Consignes concernant les API

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

Raccourcis pour les conversations

Pour participer à cette initiative axée sur les conversations, les applications doivent fournir au système des raccourcis permanents. Nous vous recommandons vivement d'utiliser des raccourcis de partage permanents . Si nécessaire, vous pouvez utiliser des raccourcis dynamiques dans Android 11, mais nous pourrons supprimer cette option à l’avenir.

Pour publier un raccourci vers la conversation, appelez les ShortcutManagerCompat méthodes setDynamicShortcuts(), addDynamicShortcuts(), ou pushDynamicShortcut() (qui gère automatiquement la limite de raccourcis pour le développeur). Ce raccourci doit être permanent et comporter des données Person jointes pour une ou plusieurs personnes, identifiant les autres participants à la conversation. Nous vous recommandons également de définir le 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 supprimables, les applications ne doivent 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 lui pour modifier son expérience. La suppression du raccourci annulera ces modifications, ce qui entraînera une frustration de 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 une version ultérieure) La notification est associée à un raccourci de partage dynamique ou mis en cache permanent valide. long-lived La notification peut définir cette association en appelant setShortcutId() ou setShortcutInfo(). Si l'application cible Android 10 ou une version antérieure, la notification n'a pas besoin d'être associée à un raccourci, comme indiqué dans la section Options de secours.

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

Utiliser LocusIdCompat

L'intelligence sur l'appareil détermine les conversations qui sont les plus susceptibles d'intéresser 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 si elles sont correctement balisées. Toutefois, le système ne connaît pas les conversations qui se sont déroulées entièrement dans l'application, sauf si ces interactions sont également balisées. Nous vous recommandons donc vivement de joindre un LocusIdCompat au raccourci et d'annoter l'activité au sein de l'application ou le fragment avec le associé LocusIdCompat. 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 joint automatiquement le LocusIdCompat approprié.

Exigences concernant l'espace de conversation pour les applications qui ciblent Android 10 ou une 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 pour ces applications et le comportement de secours si l'application ne répond pas aux exigences.

L'exigence principale pour participer à l'espace de messagerie est que l'application doit implémenter MessagingStyle notifications, et que les notifications doivent référencer un raccourci permanent à partir de la notification publiée au moment de la publication de la notification. Les notifications qui répondent à ces exigences s'affichent dans l'espace de conversation avec le comportement suivant :

  • La notification s'affiche dans le style de conversation.
  • Le bouton Bulle est proposé, s'il est implémenté.
  • Les fonctions spécifiques à la conversation sont proposées en ligne.

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

Secours : 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 dans le style de conversation.
  • Aucun bouton de bulle n'est proposé.
  • Aucune fonction spécifique à la conversation n'est proposée en ligne.

Secours : si MessagingStyle n'est pas utilisé, mais que l'application est 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 le style ancien, antérieur à Android 11.
  • Aucun bouton de bulle n'est proposé.
  • Aucune fonction spécifique à la conversation n'est proposée en ligne.

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 les conversations ?

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 avec les e-mails et les activités non liées aux conversations.

Nous avons donné aux utilisateurs la possibilité de supprimer une conversation donnée de la section "Conversations" s'ils estiment qu'elle n'est pas au bon endroit.

Bonnes pratiques

Pour augmenter l'engagement et permettre à vos utilisateurs d'interagir plus facilement avec les personnes et les conversations autour de votre application, nous vous recommandons les bonnes pratiques suivantes.

  • Pour vous assurer que les appels manqués sont affichés dans le panneau de conversation prioritaire et qu'ils apparaissent correctement dans le widget de conversion, mettez en forme les notifications d'appels manqués 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 est moins attrayant.
  • N' cancel a notification de conversation avant que l'utilisateur n'ait vu le message. Par exemple, annuler une notification lors de l'ouverture de l'application dans une vue où l'utilisateur ne peut pas 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 la perte du contexte de la conversation.
  • Fournissez un data URI pour les métadonnées liées au MIME associées aux messages, ce qui vous donne la possibilité d'offrir une expérience plus riche dans les notifications.
  • Utilisez l'Android 12 status API pour rendre les widgets de conversation plus attrayants.
  • Adoptez les bonnes pratiques suivantes pour les raccourcis de conversation.
    • Publiez des raccourcis pour les conversations entrantes et sortantes dans l'application qui n'envoient 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 leur utilisation.
    • Pour éviter le rognage involontaire de l'avatar de votre raccourci, fournissez un AdaptiveIconDrawable pour l'icône du raccourci. Pour en savoir plus, consultez 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 lancent directement la conversation applicable.
    • Utilisez les bibliothèques de compatibilité pour définir facilement vos raccourcis comme étant conversation liés.

Test des raccourcis et des notifications de conversation

Appuyer de manière prolongée sur une conversation ouvre un menu d'actions associées.
Figure 3 : Vous pouvez vérifier qu'une notification de conversation est correctement configurée en appuyant de manière prolongée dessus et en vérifiant que le menu de conversation s'affiche.

Si vous suivez les consignes concernant l'espace de conversation guidelines, les conversations doivent s'afficher 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'interface utilisateur affiche les actions liées à la conversation. Si la notification n'est pas liée à un raccourci, l'interface utilisateur 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 mènent au bon endroit dans votre application.

Les raccourcis de partage ajoutés s'affichent dans la ligne de partage direct de la Sharesheet lorsque vous partagez du 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é "Widget Conversation" s'appuie sur la fonctionnalité "Personnes et conversations" introduite dans Android 11 en permettant aux applications d'afficher l'état de la conversation dans les widgets de conversation.

Les widgets de conversation favorisent l'interaction des utilisateurs en leur permettant d'ouvrir facilement des 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 leur état de conversation ou d'autres informations pertinentes.

Valider que votre application est compatible avec les widgets de conversation

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

Interface utilisateur du sélecteur de widgets permettant d'ajouter un widget Conversation
Figure 2: Interface utilisateur du sélecteur de widgets pour 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 le sélecteur de widgets, appuyez sur un nouveau widget pour une conversation, comme illustré dans la figure 2.
  2. Faites glisser le widget vers l'écran d'accueil. Une liste des conversations actives ou récentes de l'application de l'utilisateur A doit être sélectionnable.
  3. Sur l'appareil de l'utilisateur B, envoyez un message de test à l'utilisateur A.
  4. De retour 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 à l'utilisateur A et à l'utilisateur B de définir la conversation sur différentes valeurs d'état pour s'assurer que leurs widgets les reflètent correctement. Pour obtenir la liste des valeurs d'état, consultez ConversationStatus.