Notification Action dans les applications mobiles : définition, variétés et configuration

Auteur : IT Sectr Publié le : 2026-03-21 Temps de lecture : 8 min

Notification Action — boutons interactifs et champs de saisie qui apparaissent directement dans une notification push et permettent à l'utilisateur d'effectuer une action sans ouvrir l'application. C'est un élément clé de l'expérience utilisateur, raccourcissant le chemin vers l'écran cible. Selon Android Developers, 2025, Notification Action augmente l'engagement des utilisateurs jusqu'à 40% en réduisant les frictions lors de l'interaction.

Points clés

  • Notification Action — élément interactif dans les notifications push pour exécuter rapidement des tâches.
  • Sur Android, les actions sont implémentées via PendingIntent et NotificationCompat.Action.Builder.
  • Sur iOS, les actions sont configurées via UNNotificationAction et UNNotificationCategory.
  • Boutons, saisie de texte, marquage comme terminé et actions différées sont pris en charge.
  • Chaque action doit être traitée dans le callback de l'application lors du tapotement.

Qu'est-ce que Notification Action

Notification Action est un élément d'interface interactif ajouté à une notification push pour effectuer une action spécifique. L'utilisateur peut répondre à un message, confirmer une tâche ou ouvrir un écran spécifique sans entrer dans l'application. Les actions apparaissent sous forme de boutons sous le texte de la notification ou dans une vue agrandie lors du balayage.

Pourquoi les actions dans les notifications sont nécessaires

L'objectif principal de Notification Action est de réduire le nombre d'étapes pour que l'utilisateur atteigne son objectif. Au lieu d'ouvrir l'application et de naviguer vers l'écran souhaité, l'utilisateur appuie sur un seul bouton. Les recherches montrent que les applications avec des notifications interactives présentent un engagement 25 à 40% plus élevé par rapport aux notifications simples.

Représentation visuelle sur différentes plateformes

Sur Android, les Notification Actions s'affichent sous forme de boutons icône en vue compacte et de boutons texte en mode extensible. Sur iOS, les actions apparaissent lors d'une pression longue sur la notification ou d'un balayage vers la gauche. Chaque plateforme a ses propres recommandations concernant le nombre d'actions — Android recommande au maximum 3, iOS au maximum 4.

PlateformeMax. actionsMéthode d'affichageTypes d'actions
Android3Icônes + TexteBoutons, Saisie de texte
iOS4Pression longue / BalayageBoutons, Saisie de texte

Notification Action sur Android

Sur Android, les Notification Actions sont créées via NotificationCompat.Builder en utilisant la méthode addAction(). Chaque action contient une icône, du texte et un PendingIntent qui se déclenche lors du tapotement. À partir d'Android 7.0 (API 24), la saisie directe de texte via RemoteInput est prise en charge.

Création d'une action de base

Pour créer un bouton dans une notification, il est nécessaire de définir un PendingIntent qui sera lancé lors du tapotement. PendingIntent peut ouvrir une Activity, lancer un Service ou un BroadcastReceiver. L'icône de l'action doit être monochrome et conforme à Material Design.

kotlin
val acceptIntent = Intent(context, AcceptActionReceiver::class.java)
acceptIntent.putExtra("notification_id", notificationId)

val acceptPendingIntent = PendingIntent.getBroadcast(
    context, requestCode,
    acceptIntent, PendingIntent.FLAG_UPDATE_CURRENT
)

val notification = NotificationCompat.Builder(context, CHANNEL_ID)
    .setSmallIcon(R.drawable.ic_notification)
    .setContentTitle("Demande de confirmation")
    .setContentText("Confirmez l'exécution de la tâche")
    .addAction(R.drawable.ic_accept, "Confirmer", acceptPendingIntent)
    .build()

Action avec saisie de texte (RemoteInput)

Pour les scénarios nécessitant une saisie de texte (par exemple, répondre à un message), Android fournit RemoteInput. L'utilisateur saisit le texte directement dans la notification et l'application le reçoit sans ouvrir une Activity. RemoteInput est pris en charge sur Android 7.0+ et nécessite un traitement explicite dans un BroadcastReceiver ou un Service.

kotlin
val remoteInput = RemoteInput.Builder("reply_input")
    .setLabel("Saisissez la réponse")
    .build()

val replyAction = NotificationCompat.Action.Builder(
    R.drawable.ic_reply, "Répondre", replyPendingIntent
)
    .addRemoteInput(remoteInput)
    .build()

val notification = NotificationCompat.Builder(context, CHANNEL_ID)
    .addAction(replyAction)
    .build()

Traitement des actions sur Android

Lorsqu'une action est tapotée, le système lance le PendingIntent spécifié. Pour récupérer le texte saisi via RemoteInput, appelez RemoteInput.getResultsFromIntent(intent). Il est recommandé de traiter les actions dans IntentService ou WorkManager pour ne pas bloquer le thread de l'interface utilisateur.

Notification Action sur iOS

Sur iOS, les Notification Actions sont implémentées via le framework UserNotifications. Le développeur crée des catégories d'actions (UNNotificationCategory) et les enregistre au lancement de l'application. Chaque action est définie par un objet UNNotificationAction avec un identifiant unique.

Configuration des catégories et actions sur iOS

Pour ajouter des actions aux notifications push sur iOS, il est nécessaire de créer une catégorie qui regroupe les actions associées. La catégorie est spécifiée dans la charge utile de la notification via le champ category. Lors de la réception d'une notification, le système affiche les actions disponibles de la catégorie spécifiée.

swift
import UserNotifications

class NotificationSetup {

    func registerNotificationCategories() {
        let approveAction = UNNotificationAction(
            identifier: "APPROVE_ACTION",
            title: "Approuver",
            options: [.foreground]
        )

        let declineAction = UNNotificationAction(
            identifier: "DECLINE_ACTION",
            title: "Refuser",
            options: [.destructive]
        )

        let category = UNNotificationCategory(
            identifier: "REQUEST_CATEGORY",
            actions: [approveAction, declineAction],
            intentIdentifiers: [],
            options: []
        )

        UNUserNotificationCenter.current()
            .setNotificationCategories([category])
    }
}

Traitement des actions sur iOS

Lorsque l'utilisateur tape sur une action, le système appelle la méthode userNotificationCenter:didReceiveNotificationResponse dans le délégué de UNUserNotificationCenter. response.actionIdentifier contient l'identifiant de l'action effectuée. Pour la saisie de texte, UNTextInputNotificationAction est utilisé, qui fournit le texte saisi par l'utilisateur.

swift
extension AppDelegate: UNUserNotificationCenterDelegate {

    func userNotificationCenter(
        center: UNUserNotificationCenter,
        didReceive response: UNNotificationResponse,
        withCompletionHandler completionHandler: @escaping () -> Void
    ) {
        switch response.actionIdentifier {
        case "APPROVE_ACTION":
            Log.d("Action: approved")
        case "DECLINE_ACTION":
            Log.d("Action: declined")
        case UNNotificationDefaultActionIdentifier:
            Log.d("Action: opened app")
        default:
            break
        }
        completionHandler()
    }
}

Types et scénarios de Notification Action

Notification Action est classé par type d'interaction et scénario d'utilisation. Le choix correct du type d'action affecte directement l'expérience utilisateur et la conversion vers l'action cible.

Boutons avec ouverture d'application

Le type le plus courant — un bouton qui ouvre l'application sur un écran spécifique. Sur Android, on utilise PendingIntent.getActivity(), sur iOS — l'option .foreground de UNNotificationAction. Utilisé pour les actions nécessitant une interface complète, comme la consultation des détails d'une commande.

Actions en arrière-plan

Actions qui s'exécutent sans ouvrir l'application. Sur Android, on utilise PendingIntent.getBroadcast() ou PendingIntent.getService(). Sur iOS — l'option .authenticationRequired ou sans .foreground. Exemples : marquer une tâche comme terminée, aimer une publication, ajouter aux favoris.

Saisie de texte

Permet à l'utilisateur de saisir du texte directement dans la notification. Sur Android, implémenté via RemoteInput, sur iOS — via UNTextInputNotificationAction. Utilisé pour répondre aux messages, commentaires, saisir des codes de confirmation à usage unique.

Actions destructives

Actions qui modifient les données de manière irréversible — suppression, rejet, blocage. Sur Android, elles sont mises en évidence visuellement (couleur rouge sur certains systèmes), sur iOS elles nécessitent l'option .destructive. Il est recommandé de demander une confirmation pour les actions destructives, par exemple via une boîte de dialogue supplémentaire ou un deuxième tapotement.

Actions de saisie avec entrée de texte

Une classe d'actions distincte — saisie de texte directement depuis la notification. Sur Android, cela est implémenté via RemoteInput en combinaison avec PendingIntent. Sur iOS, UNTextInputNotificationAction est utilisé, héritant de UNNotificationAction. Ces actions sont utilisées pour les réponses rapides dans les messageries, la saisie de codes promotionnels, le remplissage de formulaires de commentaires ou l'évaluation de la qualité de service. Le texte saisi est transmis à l'application avec l'identifiant de l'action. Pour un traitement correct de la saisie de texte sur les deux plateformes, il est nécessaire d'implémenter l'analyse des données saisies et la validation avant d'exécuter l'action cible.

Gestion des tapotements et journalisation

Le traitement correct de Notification Action est essentiel pour l'analyse et l'expérience utilisateur. Chaque tapotement doit être journalisé et l'action doit être exécutée de manière fiable même si l'application était fermée.

Analyse et suivi

Suivez chaque tapotement sur Notification Action via votre système d'analyse. Firebase Analytics, Mixpanel ou Yandex.Metrica permettent d'enregistrer l'identifiant de l'action, l'heure du tapotement et le contexte de la notification. Ces données aident à optimiser votre stratégie de notifications et à augmenter l'engagement. Les tests A/B avec différents ensembles d'actions aident à identifier les scénarios d'interaction les plus efficaces avec l'utilisateur.

Traitement fiable lorsque l'application est fermée

Si l'application est fermée, le système livre toujours l'Intent ou UNNotificationResponse lors du tapotement d'une action. Sur Android, utilisez un BroadcastReceiver pour un traitement garanti. Sur iOS, le système lance l'application en arrière-plan et transmet la réponse au délégué. Pour les actions critiques (confirmation de paiement, autorisation), ajoutez un mécanisme de nouvelle tentative et informez l'utilisateur de la réussite.

Personnalisation visuelle des boutons sur Android

À partir d'Android 7.0, le développeur peut influencer l'apparence de Notification Action via les icônes et les couleurs. Les icônes doivent être monochromes (canal alpha), de taille 24x24 dp. Sur iOS, la personnalisation des boutons est limitée — les couleurs et polices système sont utilisées. Material Design recommande de regrouper les actions par priorité : l'action la plus importante en premier, les destructives en dernier.

Foire aux questions

Combien d'actions peut-on ajouter à une seule notification ?

Android recommande au maximum 3 actions, iOS — jusqu'à 4. Le dépassement de la limite entraîne l'absence d'affichage de certaines actions ou leur masquage dans un sous-menu.

Comment ajouter une icône pour Notification Action sur Android ?

L'icône est passée dans NotificationCompat.Action.Builder comme ressource drawable. L'icône doit être monochrome (canal alpha), de taille 24x24 dp et conforme aux directives de Material Design.

Les Notification Actions fonctionnent-elles sur l'écran verrouillé ?

Oui, si la notification est affichée sur l'écran verrouillé et que le drapeau visibility est défini sur VISIBILITY_PUBLIC. Sur iOS, l'option .authenticationRequired est requise pour les actions nécessitant une autorisation.

Comment gérer un tapotement sur une action si l'application a été supprimée de la mémoire ?

Sur Android, le système recrée le processus et délivre l'Intent. Sur iOS, le système lance l'application en arrière-plan. La livraison garantie peut être obtenue en utilisant BroadcastReceiver sur Android et UNNotificationServiceExtension sur iOS.

En quoi l'expérience utilisateur des actions diffère-t-elle entre Android et iOS ?

Sur Android, les actions sont visibles directement sous la notification sous forme d'icônes. Sur iOS, les actions sont cachées derrière une pression longue ou un balayage. La conception UX des notifications doit tenir compte de ces différences de plateforme.

Résumé

  • Notification Action — boutons et champs de saisie dans les notifications push pour une interaction rapide.
  • Sur Android, les actions sont créées via NotificationCompat.Action avec PendingIntent.
  • Sur iOS, les actions sont définies via UNNotificationAction avec enregistrement de catégorie.
  • La saisie de texte est implémentée via RemoteInput (Android) ou UNTextInputNotificationAction (iOS).
  • Nombre maximum d'actions — 3 pour Android, 4 pour iOS.
  • Chaque action doit être journalisée dans un système d'analyse pour optimiser les notifications.
  • Pour un traitement fiable, utilisez BroadcastReceiver sur Android et AppDelegate sur iOS.

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi