Badges d'icône d'app

Affichez le nombre de non-lus sur l'icône de votre app

Le badge est le plus petit message que vous puissiez adresser à un utilisateur, et sa lecture ne lui coûte rien. Définissez-le, incrémentez-le ou effacez-le depuis la même campagne et le même parcours que tout le reste de vos envois.

Trois écrans d'accueil d'iPhone côte à côte, chacun avec plusieurs icônes d'app portant un badge rouge de non-lus dans le coin, les autres icônes n'en portant aucun

Plus de 80 000 entreprises nous font confiance pour développer leur engagement

Le format, en détail

Un badge est un simple nombre entier, et c’est tout son intérêt. Il ne mobilise ni bannière ni son, il ne consomme rien de l’autorisation de notifications si difficile à obtenir, et il continue d’agir sur l’utilisateur qui a balayé votre notification push il y a trois heures. Depuis l’éditeur ou l’API, vous pouvez agir de trois façons sur ce nombre, avec une réserve sur l’endroit où il s’affiche réellement.

Une valeur exacte

ios_badges: 5 affiche 5 sur l'icône, quelle que soit la valeur précédente. La valeur envoyée est celle que voit l'utilisateur : idéal lorsque votre serveur connaît déjà le total réel.

+1 et -1

Les modifications relatives augmentent ou diminuent le compteur sans que vous ayez à le suivre. Le SDK renvoie la valeur de l'appareil via l'endpoint interne /setBadge, si bien que le compteur Pushwoosh reste aligné sur l'icône réelle.

0 l'efface

Envoyez 0 et le badge disparaît de l'icône. L'effacer à l'ouverture fait toute la différence entre un compteur auquel l'utilisateur se fie et un point rouge qu'il apprend à ignorer.

Uniforme sur iOS, dépendant du launcher sur Android

Sur iOS, le badge est une valeur standard aps.badge et chaque appareil l'affiche de la même manière. Android n'a pas d'API native de badge : l'affichage dépend du launcher, et Pushwoosh le dit clairement plutôt que de promettre une couverture impossible.

Ce que vous contrôlez

Ce que vous envoyezEffet sur le compteurOù le régler
Un entier, 5Fixe le badge à exactement cette valeurios_badges / android_badges, ou le champ Badges
+1, +3Incrémente le compteur actuelMême champ. Également +n dans les presets Android
-1Décrémente le compteur actuelMême champ, pour une lecture ou un rejet côté serveur
0Retire le badge de l'icôneMême champ, ou l'app à son lancement
Un appel SDKDéfinit ou efface le badge à partir d'un événement in-appsetApplicationIconBadgeNumber sur iOS, PushwooshBadge sur Android
RienLe SDK applique le badge arrivé avec la notification pushAucun code applicatif dans le cas iOS de base
Une extensionModifie le compteur avant l'affichage de la notificationPWNotificationExtensionManager avec App Groups
Ce que vous envoyez
1 / 7
Un entier, 5
Effet sur le compteur
Fixe le badge à exactement cette valeur
Où le régler
ios_badges / android_badges, ou le champ Badges
Ce que vous envoyez
2 / 7
+1, +3
Effet sur le compteur
Incrémente le compteur actuel
Où le régler
Même champ. Également +n dans les presets Android
Ce que vous envoyez
3 / 7
-1
Effet sur le compteur
Décrémente le compteur actuel
Où le régler
Même champ, pour une lecture ou un rejet côté serveur
Ce que vous envoyez
4 / 7
0
Effet sur le compteur
Retire le badge de l'icône
Où le régler
Même champ, ou l'app à son lancement
Ce que vous envoyez
5 / 7
Un appel SDK
Effet sur le compteur
Définit ou efface le badge à partir d'un événement in-app
Où le régler
setApplicationIconBadgeNumber sur iOS, PushwooshBadge sur Android
Ce que vous envoyez
6 / 7
Rien
Effet sur le compteur
Le SDK applique le badge arrivé avec la notification push
Où le régler
Aucun code applicatif dans le cas iOS de base
Ce que vous envoyez
7 / 7
Une extension
Effet sur le compteur
Modifie le compteur avant l'affichage de la notification
Où le régler
PWNotificationExtensionManager avec App Groups

Où le régler

Un champ Badges dans l'éditeur

Le formulaire Send-Push et les presets push acceptent un nombre, +n, -n ou 0. Modifier l'effet d'une campagne sur le compteur ne demande ni nouvelle version, ni développeur.

Une clé dans l'API

ios_badges et android_badges dans /createMessage. Sur iOS, la valeur est placée dans le champ aps.badge du payload qu'Apple transporte déjà.

Appliqué et synchronisé par le SDK

Le SDK applique la valeur reçue sans code applicatif et tient à jour la valeur côté serveur via /setBadge, pour que +1 parte du bon nombre.

Son rôle, au sein d’un parcours

Un compteur, plusieurs sources

Le badge est un attribut d’un message que vous envoyez déjà : il ne demande aucune intégration dédiée. Le même Customer Journey et le même profil client qui décident qui reçoit la notification push décident aussi de la valeur du compteur.

Reste à savoir ce qui alimente ce nombre. Le total de non-lus d’une Message Inbox peut constituer le compteur à lui seul, une notification silencieuse peut le modifier sans aucune alerte, et une notification push mobile visible le transporte au passage. Une étape à l’objectif du parcours le ramène à 0.

Trois récompenses s’accumulent pendant l’absence du joueur

Chaque récompense attribuée déclenche un événement, et chaque événement envoie une notification silencieuse qui ajoute +1. Rien ne sonne, rien n’allume l’écran verrouillé, et le soir venu l’icône affiche discrètement 3.

À l’ouverture de l’événement live, le même parcours envoie une seule notification visible, qui mérite d’interrompre. Quelle que soit celle des deux qui fait revenir le joueur, le SDK remet le badge à 0 au lancement : le compteur du lendemain repart d’une valeur juste.

Pour quels usages

Le badge rapporte en proportion de la densité de comptage : votre app a-t-elle un vrai nombre d’éléments non lus ou en attente, qui grossit et mérite de figurer sur une icône ? Les apps construites autour d’un compteur obtiennent un levier de réengagement gratuit ; celles qui n’ont rien à compter obtiennent un point rouge qui apprend à l’utilisateur à ignorer les points rouges.

MomentCe que signifie le nombrePourquoi le badge convient
Médias et presse : articles non lus, nouveaux épisodes5 articles non lusLe cas d'école, et celui qui ramène le plus sûrement un lecteur dans une session
E-commerce et marketplaces : articles du panier, offres non lues2 articles dans votre panierUn rappel discret qui ne coûte au client aucune attention
Fintech : relevés, alertes, actions en attente1 action requiseIl existe un vrai compteur de documents non lus, et l'icône le porte sans exposer de détail sur l'écran verrouillé
Jeux mobiles : récompenses, vies rechargées, inscriptions aux événements3 éléments à récupérerLe compteur fait déjà partie de la boucle de rétention, et récupérer est toute la motivation
Apps de créateurs et d'abonnement : nouveautés, messages privés, commentaires12 non lusUn fil social tient déjà ce nombre en interne, l'icône n'a plus qu'à l'afficher
Trading et paris : alertes déclenchées, paris réglés4 alertes déclenchéesLes alertes s'accumulent en un nombre qui a un vrai sens pour l'utilisateur
Santé et télémédecine : résultats, messages sécurisésVos résultats sont disponiblesLe compteur s'affiche sur l'écran d'accueil tandis que le contenu reste derrière l'authentification
EdTech : leçons non lues, séries, devoirs2 leçons en attenteUne série ou une file de leçons est exactement le type de nombre qu'on aime solder
Moment
1 / 8
Médias et presse : articles non lus, nouveaux épisodes
Ce que signifie le nombre
5 articles non lus
Pourquoi le badge convient
Le cas d'école, et celui qui ramène le plus sûrement un lecteur dans une session
Moment
2 / 8
E-commerce et marketplaces : articles du panier, offres non lues
Ce que signifie le nombre
2 articles dans votre panier
Pourquoi le badge convient
Un rappel discret qui ne coûte au client aucune attention
Moment
3 / 8
Fintech : relevés, alertes, actions en attente
Ce que signifie le nombre
1 action requise
Pourquoi le badge convient
Il existe un vrai compteur de documents non lus, et l'icône le porte sans exposer de détail sur l'écran verrouillé
Moment
4 / 8
Jeux mobiles : récompenses, vies rechargées, inscriptions aux événements
Ce que signifie le nombre
3 éléments à récupérer
Pourquoi le badge convient
Le compteur fait déjà partie de la boucle de rétention, et récupérer est toute la motivation
Moment
5 / 8
Apps de créateurs et d'abonnement : nouveautés, messages privés, commentaires
Ce que signifie le nombre
12 non lus
Pourquoi le badge convient
Un fil social tient déjà ce nombre en interne, l'icône n'a plus qu'à l'afficher
Moment
6 / 8
Trading et paris : alertes déclenchées, paris réglés
Ce que signifie le nombre
4 alertes déclenchées
Pourquoi le badge convient
Les alertes s'accumulent en un nombre qui a un vrai sens pour l'utilisateur
Moment
7 / 8
Santé et télémédecine : résultats, messages sécurisés
Ce que signifie le nombre
Vos résultats sont disponibles
Pourquoi le badge convient
Le compteur s'affiche sur l'écran d'accueil tandis que le contenu reste derrière l'authentification
Moment
8 / 8
EdTech : leçons non lues, séries, devoirs
Ce que signifie le nombre
2 leçons en attente
Pourquoi le badge convient
Une série ou une file de leçons est exactement le type de nombre qu'on aime solder

Quand le badge n’est pas le bon outil

Le badge indique une quantité. Tout ce qui concerne la nature de ce qui attend, et son urgence, relève d’une autre surface.

  • L’utilisateur doit savoir ce qui est arrivé : c’est le rôle d’une notification push mobile, d’une notification rich media ou d’un message in-app.
  • Le moment ne peut pas attendre. Un badge est passif par nature : l’urgence relève d’un niveau d’interruption.
  • L’état est continu plutôt que comptable : une commande en cours de livraison, un score en direct. C’est le rôle d’une Live Activity.
  • L’app n’a pas de compteur naturel. Assurance, hôtellerie, fournisseurs d’énergie et outils à session unique n’ont qu’une facture ou une réservation : un badge y est du bruit.
  • Votre audience est majoritairement Android et le badge serait un mécanisme central. Considérez-le comme un bonus sur cette plateforme et concevez le parcours pour qu’il fonctionne sans lui.
Le compteur attire le regard. La notification doit encore valoir l'ouverture

50 notifications push dont vous pouvez vous inspirer, avec le texte et le visuel derrière chacune.

Voir les exemples

Couverture plateformes et technique

iOS a un seul badge, et chaque iPhone l’affiche de la même façon. Android n’a pas d’API de badge universelle : ce qui apparaît sur l’écran d’accueil dépend du launcher utilisé. Sur un marché français où iOS et Android sont tous deux très présents, cette différence compte. La dernière colonne nomme ce qui dessine réellement le nombre, car c’est là que se trouve la réponse honnête pour cette fonctionnalité.

FonctionnalitéiOSAndroidWebFourni par
Valeur de badge exacteOui, aps.badge standardAu mieux, selon le launcher–Le payload push, appliqué par le SDK
+1 et -1 relatifsOui, SDK Pushwoosh 6.4.0++n dans les presets, selon le launcher–La notification push, avec /setBadge qui garde le compteur synchronisé
Remise à 0OuiSelon le launcher–Le payload push, ou l'app à son lancement
Champ Badges no-codeOui, dans l'éditeur et les presetsOui, une valeur de badge dans les presets–Pushwoosh Control Panel
Définir ou effacer depuis le code de l'appsetApplicationIconBadgeNumberPushwooshBadge–Votre app, via le SDK Pushwoosh
Modifier le compteur avant l'affichageOui, dans une Notification Service Extension––PWNotificationExtensionManager avec App Groups
Mettre à jour le badge sans alerteOuiAu mieux–Une notification silencieuse, même audience et même parcours
Couverture launchers et appareilsChaque iPhone, à l'identiqueSony, Samsung, LG, HTC, ASUS, ADW, APEX, NOVA, Huawei, ZUK, OPPO–com.pushwoosh:pushwoosh-badge avec les autorisations launcher
Pixel et launchers non pris en chargen/a––Aucune API de badge Android native n'existe : rien ne s'affiche
Lire le compteur actuel depuis l'OS–––iOS n'expose aucune API de lecture : le compteur vit dans votre app ou sur le serveur
Un badge d'icône tout courtOuiSelon le launcher–Les navigateurs n'ont pas de surface équivalente pour le web push
Fonctionnalité
1 / 11
Valeur de badge exacte
iOS
Oui, aps.badge standard
Android
Au mieux, selon le launcher
Web
–
Fourni par
Le payload push, appliqué par le SDK
Fonctionnalité
2 / 11
+1 et -1 relatifs
iOS
Oui, SDK Pushwoosh 6.4.0+
Android
+n dans les presets, selon le launcher
Web
–
Fourni par
La notification push, avec /setBadge qui garde le compteur synchronisé
Fonctionnalité
3 / 11
Remise à 0
iOS
Oui
Android
Selon le launcher
Web
–
Fourni par
Le payload push, ou l'app à son lancement
Fonctionnalité
4 / 11
Champ Badges no-code
iOS
Oui, dans l'éditeur et les presets
Android
Oui, une valeur de badge dans les presets
Web
–
Fourni par
Pushwoosh Control Panel
Fonctionnalité
5 / 11
Définir ou effacer depuis le code de l'app
iOS
setApplicationIconBadgeNumber
Android
PushwooshBadge
Web
–
Fourni par
Votre app, via le SDK Pushwoosh
Fonctionnalité
6 / 11
Modifier le compteur avant l'affichage
iOS
Oui, dans une Notification Service Extension
Android
–
Web
–
Fourni par
PWNotificationExtensionManager avec App Groups
Fonctionnalité
7 / 11
Mettre à jour le badge sans alerte
iOS
Oui
Android
Au mieux
Web
–
Fourni par
Une notification silencieuse, même audience et même parcours
Fonctionnalité
8 / 11
Couverture launchers et appareils
iOS
Chaque iPhone, à l'identique
Android
Sony, Samsung, LG, HTC, ASUS, ADW, APEX, NOVA, Huawei, ZUK, OPPO
Web
–
Fourni par
com.pushwoosh:pushwoosh-badge avec les autorisations launcher
Fonctionnalité
9 / 11
Pixel et launchers non pris en charge
iOS
n/a
Android
–
Web
–
Fourni par
Aucune API de badge Android native n'existe : rien ne s'affiche
Fonctionnalité
10 / 11
Lire le compteur actuel depuis l'OS
iOS
–
Android
–
Web
–
Fourni par
iOS n'expose aucune API de lecture : le compteur vit dans votre app ou sur le serveur
Fonctionnalité
11 / 11
Un badge d'icône tout court
iOS
Oui
Android
Selon le launcher
Web
–
Fourni par
Les navigateurs n'ont pas de surface équivalente pour le web push

Sécurité et hébergement

Pushwoosh fonctionne sur son propre matériel aux États-Unis et en Allemagne, dans le cadre du RGPD.

ISO 27001:2022 CertifiedISO 27001 CertifiedGDPR CompliantData Privacy FrameworkHIPAA CompliantSOC 2 Type 2 CertifiedOWASP Compliant

Comment ça marche

Définir un badge est no-code et gratuit sur toutes les formules. Le temps de développement se concentre sur deux points précis, et aucun ne concerne le cas iOS de base.

  1. Composez le compteur (no-code)

    Saisissez un nombre, +n, -n ou 0 dans le champ Badges du formulaire Send-Push ou d'un preset, ou envoyez ios_badges et android_badges via l'API Messages. Sur iOS, le cas de base ne demande rien à votre app : le SDK applique la valeur à la réception.

  2. Branchez les deux points nécessaires (développeur)

    Android requiert la bibliothèque com.pushwoosh:pushwoosh-badge ainsi que les autorisations propres à chaque launcher dans le manifest. L'effacement à l'ouverture de la notification et au lancement de l'app tient en un appel SDK, et une Notification Service Extension avec App Groups ne sert qu'aux compteurs qui doivent changer avant l'affichage.

  3. Orchestrez (no-code)

    Alimentez le nombre à partir du total de non-lus de votre Message Inbox, modifiez-le avec une notification silencieuse sans alerte, et effacez-le à l'objectif du même Customer Journey qui pilote vos notifications push, messages in-app et e-mails.

Limites à connaître

Une primitive de comptage, uniforme sur une plateforme et fragmentée sur l’autre. Voici ses limites.

  • iOS est uniforme et pleinement pris en charge. Android fonctionne au mieux, car l’OS n’a pas d’API de badge universelle et c’est le launcher qui décide de l’affichage.
  • La couverture Android est réellement inégale. Samsung et Xiaomi utilisent des mécanismes différents, le launcher Pixel de Google n’affiche en grande partie pas les badges d’icône, et certains launchers tiers les ignorent.
  • Les mises à jour de badge Android dépendent de la gestion de la batterie. Doze et App Standby limitent le travail en arrière-plan dont elles ont besoin, et une app arrêtée de force ne peut pas mettre à jour le compteur avant d’être rouverte.
  • Les appareils Huawei confient le contrôle des badges au launcher Huawei : le comportement varie selon l’appareil et la version d’EMUI ou de HarmonyOS.
  • Les +1 et -1 relatifs supposent que le SDK connaisse la valeur actuelle. Une app qui modifie le badge sans synchronisation peut faire partir un incrément côté serveur du mauvais nombre, et iOS n’offre aucune API pour relire le badge système.
  • Le fonctionnement du badge via push a changé avec le SDK iOS 6.4.0. Les apps qui utilisaient le badge pour compter les notifications reçues ont dû migrer : basez-vous sur le comportement actuel, pas sur l’ancien.
  • Le badge transporte une quantité, rien d’autre. La nature de ce qui attend et son urgence doivent venir d’une notification push, d’un message in-app ou d’un niveau d’interruption.
  • Il ne laisse presque aucune trace côté serveur. Seules les campagnes qui définissent explicitement le badge apparaissent dans le payload stocké, contrairement à l’application et à l’effacement gérés par le SDK : mesurez-le en comparant une cohorte avec badge à une cohorte sans badge, plutôt qu’en le cherchant dans un rapport.