Passer au contenu principal

Image montrant les boutons d'action dans iOS

Ce guide s’applique uniquement aux notifications push. Pour les messages in-app, consultez Messages In-App : Comment ajouter des actions de clic.
Les boutons d’action vous permettent d’ajouter plusieurs actions étiquetées à une seule notification push, afin que les utilisateurs puissent répondre sans ouvrir d’abord votre application ou site. Selon le système d’exploitation et l’appareil, les utilisateurs révèlent les boutons en développant la notification (appui long, balayage + Afficher, ou un élément de développement).

Ajouter des boutons d’action

Vous pouvez configurer les boutons d’action dans les Modèles, directement lors de la composition d’un message dans le tableau de bord, ou via l’API.

Configuration du tableau de bord et des modèles

Lors de la création d’un push, ouvrez Options avancées > Boutons d’action.

Image montrant les boutons d'action à ajouter pour iOS et Android

Configuration de l’API

  • Applications mobiles : Utilisez le paramètre buttons. Passez un tableau de jusqu’à 3 objets avec id, text et icon.
  • Web (Chrome) : Utilisez web_buttons, en passant jusqu’à 2 objets avec id, text, icon et url.

Propriétés des boutons d’action

  • ID d’action : Un identifiant unique pour l’action spécifique du bouton. L’ID du bouton cliqué vous est transmis afin que vous puissiez identifier quel bouton a été cliqué. (par exemple ‘accept-button’)
    • Doit être unique par bouton.
    • Disponible dans le payload OSNotification et peut être consulté dans le gestionnaire d’événements d’ouverture de notification du SDK.
    • API : propriété id
  • Libellé : Le texte que le bouton doit afficher à vos utilisateurs. (par exemple ‘Accepter’)
    • API : propriété text
  • Icône : Icône optionnelle affichée avec le libellé du bouton. Non disponible sur toutes les plateformes et systèmes d’exploitation. Voir la FAQ ci-dessous pour plus de détails.
    • Les applications mobiles doivent inclure le bouton dans leurs ressources d’images. Voir Icônes des boutons d’action ci-dessous pour plus de détails.
    • Les sites web peuvent utiliser une URL publiquement accessible valide vers une icône. Gardez-la petite car elle est téléchargée à chaque affichage de notification. (par exemple http://site.com/icon.png)
    • API : propriété icon
  • URL du bouton : L’URL à ouvrir lorsque la notification est cliquée. Passez 'do_not_open' pour empêcher l’ouverture de toute URL. (par exemple ‘do_not_open’)
    • Web uniquement
    • API : propriété url

Icônes des boutons d’action

  • iOS prend en charge les icônes de boutons d’action pour iOS 15+
  • Android a cessé de prendre en charge les icônes de boutons d’action pour Android N (alias 7)

Gérer les clics sur les boutons d’action

Lorsqu’un utilisateur appuie sur un bouton, OneSignal transmet l’ID d’action à votre application/site. Vous pouvez soit utiliser le comportement par défaut (ouvrir votre application/site) soit le remplacer.

Comportement par défaut (Ouvrir l’application/site, puis gérer)

  1. L’application/site s’ouvre (ou est focalisé sur le web).
  2. Votre écouteur de clic/ouverture reçoit l’événement avec l’ID d’action. (Voir référence du SDK mobile ou référence du SDK web pour les détails de l’écouteur de clic.)

Empêcher le lancement de l’application depuis les clics sur les boutons d’action


Plateformes prises en charge et limites

PlateformeBoutons pris en chargeNotes
iOSJusqu’à 4Icônes sur iOS 15+. Nécessite des catégories pour la gestion en arrière-plan.
Android / Amazon / HuaweiJusqu’à 3Pas d’icônes de boutons à partir d’Android 7+.
Web – ChromeJusqu’à 2Boutons et icônes pris en charge. _osp=do_not_open pris en charge.
Web – FirefoxPas de boutons_osp=do_not_open fonctionne uniquement pour l’URL de lancement.
Web – SafariPas de boutons_osp=do_not_open non pris en charge. Fournissez une vraie URL.
Les utilisateurs doivent souvent développer la notification pour voir les boutons (par exemple, appui long sur iOS, balayage + Afficher sur certains OEM Android).

Dépannage

Les boutons ne s’affichent pas

  • Développez la notification (appui long, balayage + Afficher, ou développer).
  • Vérifiez que vous avez ajouté l’ID d’action et le libellé pour chaque bouton.
  • Vérifiez les limites de la plateforme (par exemple, seulement 2 boutons sur Chrome).

Cliquer sur un bouton n’ouvre pas le navigateur sur le web mobile

Si le navigateur est en arrière-plan ou complètement fermé, la plupart des navigateurs mobiles (y compris Chrome) ne passeront pas au premier plan ni n’ouvriront l’URL, même si les événements de clic se déclenchent toujours dans le service worker. Il s’agit d’un comportement intentionnel du navigateur pour empêcher les applications en arrière-plan d’interrompre l’utilisateur.
  • La plupart des navigateurs mobiles ne se mettront pas au premier plan depuis un service worker en arrière-plan. Les clics se déclenchent toujours dans le worker, mais l’onglet ne s’ouvre pas. C’est intentionnel.
  • Assurez-vous que l’URL de lancement et l’URL du bouton sont exactement identiques (y compris les barres obliques finales) si vous vous attendez à ce que l’onglet soit focalisé au lieu d’en ouvrir un nouveau.

Les icônes n’apparaissent pas

  • iOS doit être 15+ pour les icônes de boutons.
  • Android 7+ n’affiche pas les icônes de boutons d’action.
  • Sur le web, confirmez que l’URL de l’icône est publiquement accessible et petite (rapide à télécharger).

Pourquoi y a-t-il un bouton d’action de fermeture ?

Par défaut, les notifications push web sur Windows 10 incluent le bouton Fermer. Cependant, si vous ajoutez votre propre bouton d’action, ce bouton de fermeture est supprimé. Ainsi, dans les deux cas, la notification restera à l’écran jusqu’à ce que l’utilisateur interagisse avec elle. Ceci est conçu par Google pour donner aux utilisateurs la possibilité d’interagir avec la notification.
Besoin d’aide ?Discutez avec notre équipe d’assistance ou envoyez un e-mail à support@onesignal.comVeuillez inclure :
  • Les détails du problème que vous rencontrez et les étapes de reproduction si disponibles
  • Votre OneSignal App ID
  • L’External ID ou le Subscription ID le cas échéant
  • L’URL du message que vous avez testé dans le OneSignal Dashboard le cas échéant
  • Tous les journaux ou messages d’erreur pertinents
Nous serons ravis de vous aider !