Notifications sur Wear OS

Les notifications affichées sur les montres ou sur les téléphones utilisent les mêmes API et ont la même structure.

Sur une montre, les notifications peuvent s'afficher de deux manières :

  1. Une application mobile crée une notification que le système associe automatiquement (en mode Pont) à la montre.
  2. Une appli connectée crée une notification.

Dans les deux cas, les développeurs utilisent la classe NotificationCompat.Builder pour créer des notifications. Lorsque vous créez des notifications avec la classe de compilateur, le système prend soin de les afficher correctement. Par exemple, lorsque vous envoyez des notifications à partir de votre application mobile, chacune d'elles apparaît sous la forme d'une carte dans le flux de notifications.

Consultez l'exemple suivant pour voir comment les notifications s'affichent. cartes de notification

Figure 1 : La même notification affichée sur un téléphone et sur une montre.

Pour obtenir de meilleurs résultats, utilisez l'une des sous-classes NotificationCompat.Style.

Remarque : Si vous utilisez RemoteViews, les notifications de mise en page personnalisées sont supprimées, et l'accessoire connecté n'affiche que le texte et les icônes.

Notifications recommandées pour les accessoires connectés

Définissez des notifications à développer, car elles constituent un excellent moyen de susciter l'intérêt des utilisateurs d'accessoires connectés. L'état réduit est affiché dans la barre de notification, ce qui permet d'y jeter un coup d'œil rapide. Si l'utilisateur appuie dessus, la notification se développe et offre une expérience immersive avec des contenus et des actions supplémentaires qu'il peut faire défiler.

Vous pouvez créer une notification à développer comme vous le feriez sur mobile avec n'importe quelle sous-classe NotificationCompat.Style. Par exemple, une notification standard utilisant NotificationCompat.MessagingStyle se présente comme suit : notification à développer

Figure 2. Exemple de notification MessagingStyle sur Wear OS

Comme vous pouvez le voir, la notification comporte plusieurs actions qui sont empilées au bas de l'état développé.

Pour obtenir des exemples de NotificationCompat.BigPictureStyle ,NotificationCompat.BigTextStyle ,NotificationCompat.InboxStyle et NotificationCompat.MessagingStyle, consultez l'exemple de notification sur GitHub.

Conseil : Si vos notifications contiennent une action de réponse (pour une application de chat, par exemple), vous pouvez améliorer leur comportement. Par exemple, vous pouvez autoriser les réponses par saisie vocale directement à partir de l'accessoire connecté ou les réponses textuelles prédéfinies avec setChoices(). Pour en savoir plus, consultez Ajouter le bouton de réponse.

Éviter les notifications en double

Par défaut, les notifications provenant d'une application pour téléphone associé sont "pontées" à toutes les montres associées. C'est une excellente option si aucune application connectée n'est installée.

Cependant, si vous créez une application pour montre autonome alors que vous disposez déjà d'une application pour téléphone associé, cela créera des notifications en double.

Wear OS offre la possibilité d'arrêter l'envoi de notifications en double avec les API Bridging. Pour en savoir plus, consultez Options de pontage des notifications.

Ajouter à une notification des fonctionnalités propres à l'accessoire connecté

Si vous devez ajouter à une notification des fonctionnalités propres à l'accessoire connecté, comme masquer une icône d'application d'une notification sur l'accessoire connecté ou autoriser les utilisateurs à dicter une réponse textuelle par saisie vocale, vous pouvez utiliser la classe NotificationCompat.WearableExtender pour spécifier les options. Pour utiliser cette API, procédez comme suit :

  1. Créez une instance de WearableExtender en définissant les options spécifiques à l'accessoire connecté pour la notification.
  2. Créez une instance de NotificationCompat.Builder en définissant les propriétés souhaitées pour votre notification, comme décrit plus tôt dans ce guide.
  3. Appelez extend() au niveau de la notification et transmettez WearableExtender. Les options pour accessoires connectés sont alors appliquées à la notification.
  4. Appelez build() pour créer la notification.

Remarque : Si vous utilisez la classe NotificationManager du framework, certaines fonctionnalités de NotificationCompat.WearableExtender ne répondent pas. Veillez donc à utiliser NotificationCompat.

Vous pouvez synchroniser les refus ou les annulations de notifications sur les appareils de l'utilisateur. Pour synchroniser des notifications ignorées, utilisez la méthode setDismissalId(). Pour chaque notification, transmettez un ID unique sous forme de chaîne lorsque vous appelez setDismissalId(). Lorsque la notification est ignorée, toutes les autres notifications ayant le même ID de refus sont ignorées sur la ou les montres et sur le téléphone associé. Pour récupérer un ID de refus, utilisez getDismissalId().

Spécifier des actions sur les accessoires connectés uniquement

Si vous souhaitez que des actions différentes soient disponibles sur la montre et sur le téléphone, utilisez WearableExtender.addAction(). Une fois que vous avez ajouté une action avec cette méthode, l'accessoire connecté n'affiche plus aucune autre action ajoutée avec NotificationCompat.Builder.addAction(). Les actions ajoutées avec WearableExtender.addAction() n'apparaissent que sur l'accessoire connecté, et non sur le téléphone.