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 :
- Une application mobile crée une notification que le système associe automatiquement (en mode Pont) à la montre.
- 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.
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 :
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. C'est ce qui est particulièrement important pour les applications installées sur des appareils équipés de Wear OS 5 ou version ultérieure, car certaines Les notifications qu'il est possible d'ignorer sur un appareil mobile ne peuvent pas l'être sur un appareil Wear OS. Pour en savoir plus, consultez Options de liaison pour les 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 :
-
Créez une instance de
WearableExtender
en définissant les options spécifiques à l'accessoire connecté pour la notification. -
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. -
Appelez
extend()
au niveau de la notification et transmettezWearableExtender
. Les options pour accessoires connectés sont alors appliquées à la notification. -
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.