Notifications de conversation et widgets

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Android 11 ajoute la prise en charge de la personnalisation du comportement et du placement des notifications de conversation sur l'ombre Notifications par priorité et niveau d'alerte, permettant aux conversations d'être marquées comme importantes et de lancer des bulles spécifiques à la conversation dans l'espace de conversation.

S'appuyant sur ces fonctionnalités d'Android 11, Android 12 propose deux nouvelles fonctionnalités de conversation :

  • La fonctionnalité Conversations récentes dans Paramètres permet aux utilisateurs de personnaliser le comportement de notification pour les conversations récentes sans attendre de notification.

  • La fonctionnalité Conversation Widget permet aux utilisateurs d'ouvrir facilement des discussions sur l'écran d'accueil, donnant un aperçu rapide des conversations récentes.

Ce document décrit les aspects de mise en œuvre, de personnalisation et de validation des notifications de conversation et des widgets.

Présentation des notifications de conversation

Android 11 introduit une nouvelle primitive système, la conversation, qui est représentée par l' objet de raccourci de partage existant (qui a été déployé avec Android 9).

La primitive Conversations peut être utilisée comme suit :

  • Pour partager les données de Conversations entre les applications du système via Sharesheet (déjà dans Android 10).

  • Pour conduire des bulles ( raccourcis dans Android 11). Voir Figure 1 .

  • Pour participer au nouvel espace de conversation au-dessus de la nuance de notification (implémenté dans Android 11). Voir Figure 2 .

  • Pour créer des widgets de conversation (implémentés dans Android 12).

    conv_bubbles

    Figure 1 : Notification lancée sous forme de bulle depuis le tiroir de notification

    conv_notification

    Figure 2 : Espace de conversation situé au-dessus du volet de notification

Outre le lien vers le raccourci représentant la conversation, la notification utilise également MessagingStyle pour inclure le dernier message de la conversation dans l'espace Conversation.

Les partenaires GMS sont tenus de mettre en œuvre les éléments suivants :

  • Un nouvel espace Conversations en tant que section distincte au-dessus de la nuance Notification.
  • Un style de notification qui autorise et prend en charge le modèle de bulle spécifique à Conversation.

Les partenaires qui mettent en œuvre les conversations doivent également mettre en œuvre les conversations importantes. Cependant, la mise en œuvre de Conversations peut être alignée sur des concepts OEM de nature similaire. Dans l'ensemble, les partenaires ont la liberté d'aligner la section de conversation avec leur interface utilisateur système spécifique. Le partenaire n'a pas à modifier ou à implémenter HAL/pilote/code noyau/extensions.

Voir l'implémentation de référence suivante dans les sections SystemUI & PeopleService dans AOSP :

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

Validation

Pour vous assurer que votre version de la fonctionnalité fonctionne comme prévu, vérifiez les points suivants :

  1. Les applications qui prennent entièrement en charge l'API Conversation voient leurs notifications dans la nouvelle section et peuvent personnaliser ces notifications par conversation plutôt que par le NotificationChannel générique.

  2. Les bulles spécifiques à la conversation fonctionnent.

Pour valider la mise en œuvre, utilisez les tests suivants dans le package de notification :

  • Essais CTS.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Tests du vérificateur CTS.

    cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
    
    

Présentation des widgets de conversation

Dans Android 12, la fonctionnalité Conversation Widget s'appuie sur les représentations Conversation créées dans Android 11 (comme décrit dans la section précédente) en permettant aux applications de fournir un statut pour les conversations affichées dans Conversation Widgets.

conv_widgets

Figure 3 : Conversations affichées dans les widgets de conversation

La fonctionnalité Conversation Widget d'Android 12 favorise la connexion en permettant aux utilisateurs d'ouvrir facilement des discussions sur l'écran d'accueil. Les widgets sont des raccourcis améliorés qui permettent aux utilisateurs de revenir efficacement à leurs conversations tout en affichant des extraits des statuts de conversation.

Le partenaire doit mettre en œuvre les éléments suivants :

  1. Un widget fourni par SystemUI.
  2. Un flux pour ajouter ces widgets à partir de l'écran de sélection des widgets.
  3. Prise en charge du redimensionnement du widget comme suit :

Tenez compte des dépendances suivantes lors de la mise en œuvre des widgets de conversation :

  • Le partenaire n'a pas à modifier ou à implémenter le code HAL/pilote/noyau.
  • L'API d'état, qui permet aux applications d'ajouter des informations d'état ou de disponibilité à une conversation et au widget associé, est utilisée pour la mise en œuvre.
  • Le processus est le même pour les implémentations de nouveaux appareils et l'implémentation de mise à niveau.
  • La fonctionnalité Conversation Widgets dépend d'une nouvelle fonctionnalité lancée dans Android 12, qui met en cache les conversations récemment vues (à partir des notifications, par exemple). Cette dernière fonctionnalité permet d'élargir la liste des conversations qu'un utilisateur pourrait potentiellement ajouter à son écran d'accueil.

Consultez l'implémentation de référence suivante dans les fichiers SystemUI et Launcher3 :

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

Personnalisation

La fonctionnalité Conversation Widgets ne peut pas être activée ou désactivée. Cependant, un partenaire peut modifier les mises en page des modèles de widgets, tant que les exigences GMS sont satisfaites.

Validation

Pour vous assurer que votre version de la fonctionnalité fonctionne comme prévu, vérifiez les points suivants :

  1. En appuyant longuement sur Launcher, un nouveau widget de conversation pour une conversation peut être ajouté via le sélecteur de widget. Voir la figure 4 pour l'interface utilisateur du sélecteur de widget :

    widget_picker

    Figure 4 : Interface utilisateur du sélecteur de widget pour ajouter un nouveau widget de conversation

  2. Lors de l'envoi de notifications à l'appareil à partir de la conversation sélectionnée, le widget est mis à jour pour refléter ces notifications.

  3. Lors de l'application de statuts à cette conversation à l'aide de l'API ConversationStatus , le widget reflète ces statuts.

  4. Les utilisateurs peuvent redimensionner les widgets et les widgets peuvent modifier leur taille en fonction de leur lanceur actuel. Vos dispositions de widget doivent bien fonctionner avec différentes tailles de lanceur sur différents appareils et lors du redimensionnement du widget.

Pour valider la mise en œuvre, utilisez les tests suivants dans le package de notification :

  • Tests CTS (PeopleManagerTest) pour les surfaces API.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Tests manuels pour les exigences GMS - Conversations.