> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Boutons d'action pour les notifications push

> Ajoutez des boutons d'action interactifs à vos notifications push sur iOS, Android et le web. Apprenez la configuration via le tableau de bord et l'API, les plateformes prises en charge, la gestion des clics, les icônes et le suivi des événements.

<Frame caption="Image montrant les boutons d'action dans iOS">
  <img src="https://mintcdn.com/onesignal/9_Q1FZLh6C0BFLq-/images/docs/c40c0d1-ios15-action-icons--1.jpeg?fit=max&auto=format&n=9_Q1FZLh6C0BFLq-&q=85&s=51965abdd020931ca08de3f44dd96370" width="1000" height="580" data-path="images/docs/c40c0d1-ios15-action-icons--1.jpeg" />
</Frame>

<Info>
  Ce guide s'applique uniquement aux notifications push. Pour les messages in-app, consultez [Messages In-App : Comment ajouter des actions de clic](./iam-click-actions).
</Info>

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](./templates), directement lors de la composition d'un message dans le tableau de bord, ou via l'[API](/reference/push-notification).

### Configuration du tableau de bord et des modèles

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

<Frame caption="Image montrant les boutons d'action à ajouter pour iOS et Android">
  <img src="https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/64712e6-Screenshot_2023-06-02_at_1.53.48_PM.png?fit=max&auto=format&n=MUgio66t0sYhGEvj&q=85&s=b2bb426793efd74cf713471e75894fc3" width="1614" height="1588" data-path="images/docs/64712e6-Screenshot_2023-06-02_at_1.53.48_PM.png" />
</Frame>

### 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)](https://android-developers.googleblog.com/2016/06/notifications-in-android-n.html)

***

## 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](./mobile-sdk-reference#addclicklistener-push) ou [référence du SDK web](./web-sdk-reference#addeventlistener-notifications) pour les détails de l'écouteur de clic.)

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

* **Android :** Suivez [Configuration du SDK Android > Désactiver le comportement d'ouverture par défaut](./android-sdk-setup#disable-default-open-behavior). Cela vous permet d'intercepter les clics dans une [Extension de service](./service-extensions) et d'exécuter une logique personnalisée (par exemple appeler une API) sans ouvrir l'application.
* **iOS :** Incluez une `ios_category` sur la notification pour associer les actions via l'[objet UNNotificationCategory](https://developer.apple.com/documentation/usernotifications/unnotificationcategory). Voir [Declaring Your Actionable Notification Types](https://developer.apple.com/documentation/usernotifications/declaring_your_actionable_notification_types) d'Apple pour plus de détails.
* **Web (Chrome) :** Utilisez la chaîne magique `_osp=do_not_open` pour empêcher l'ouverture de toute URL. Ceci est pris en charge sur Chrome et Firefox, mais pas pris en charge pour le navigateur web Safari.

***

## Plateformes prises en charge et limites

| Plateforme                | Boutons pris en charge | Notes                                                                         |
| ------------------------- | ---------------------- | ----------------------------------------------------------------------------- |
| iOS                       | Jusqu'à 4              | Icônes sur iOS 15+. Nécessite des catégories pour la gestion en arrière-plan. |
| Android / Amazon / Huawei | Jusqu'à 3              | Pas d'icônes de boutons à partir d'Android 7+.                                |
| Web – Chrome              | Jusqu'à 2              | Boutons et icônes pris en charge. `_osp=do_not_open` pris en charge.          |
| Web – Firefox             | Pas de boutons         | `_osp=do_not_open` fonctionne uniquement pour l'URL de lancement.             |
| Web – Safari              | Pas de boutons         | `_osp=do_not_open` non pris en charge. Fournissez une vraie URL.              |

<Note>Les utilisateurs doivent souvent **développer** la notification pour voir les boutons (par exemple, appui long sur iOS, balayage + **Afficher** sur certains OEM Android).</Note>

***

## 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.

<Info>
  Besoin d'aide ?

  Discutez avec notre équipe d'assistance ou envoyez un e-mail à `support@onesignal.com`

  Veuillez 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](/docs/en/capturing-a-debug-log) pertinents

  Nous serons ravis de vous aider !
</Info>

***
