Passer au contenu principal

Que sont les notifications silencieuses ?

Les notifications silencieuses vous permettent de réveiller votre application et d’effectuer des tâches en arrière-plan—comme la synchronisation ou l’actualisation de données—sans afficher de message visible ni jouer de son. Sur iOS, celles-ci sont appelées Notifications en arrière-plan, et sur Android, elles sont connues sous le nom de Notifications de données. Ensemble, elles sont souvent appelées pushes silencieux et se comportent différemment des notifications normales et visibles.

Limitations

  • Les applications ne peuvent pas recevoir de pushes silencieux si :
    • iOS : L’application a été fermée par l’utilisateur, par exemple en la faisant glisser depuis le sélecteur d’applications. (Voir support Apple).
    • Android : L’application a été forcée à s’arrêter via les paramètres de l’appareil ou automatiquement par certains fabricants lors du glissement. (Comportement de force-stop Android).
  • La livraison n’est pas garantie :
    • Apple et Google traitent tous deux les notifications silencieuses comme meilleur effort. iOS peut retarder ou supprimer la livraison en mode Économie d’énergie, avec l’actualisation des applications en arrière-plan désactivée ou si l’application a été fermée par l’utilisateur. Android peut limiter ou regrouper la livraison selon les règles Doze ou d’économie d’énergie des OEM.
    • C’est pourquoi les notifications silencieuses ne doivent jamais être utilisées pour des mises à jour critiques.
  • Utilisateurs abonnés uniquement : Le SDK OneSignal envoie des notifications de données uniquement aux Abonnements abonnés. Pour atteindre les utilisateurs non abonnés, consultez cette solution de contournement iOS SDK.
  • Support limité pour les SDK multiplateformes :

Envoi de notifications silencieuses depuis OneSignal

Suivez ces étapes pour envoyer une notification silencieuse depuis OneSignal :
1

Omettez les contenus

Supprimez les contenus visibles du message. Cela inclut :
  • API : contents, headings, subtitle dans votre requête API Create notification.
  • Tableau de bord : Message, Titre, Sous-titre
2

Définissez content_available

  • API : Définissez content_available sur true.
  • Tableau de bord : Cochez Content available sous “Send to Apple iOS”. Ceci est applicable à toutes les plateformes et indique simplement à notre système qu’aucun message n’est envoyé.
3

Ajoutez des données à la notification

  • API : Utilisez le paramètre data.
  • Tableau de bord : Utilisez les champs Additional Data.

Exemple de payload API

curl -X POST https://api.onesignal.com/notifications \
  -H "Authorization: Key YOUR_APP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "app_id": "YOUR_APP_ID",
    "include_aliases": { "external_id": ["user-123"] },
    "target_channel": "push",
    "content_available": true,
    "data": {
      "action": "sync_data",
      "version": "2"
    }
  }'

Configuration spécifique à la plateforme

Configuration des notifications en arrière-plan iOS

Pour gérer les notifications en arrière-plan, votre application iOS doit avoir la capacité Background Modes > Remote Notifications activée dans Xcode. Cela est généralement inclus si vous avez suivi la Configuration du SDK mobile. Pour traiter la notification, implémentez la méthode AppDelegate application(_:didReceiveRemoteNotification:fetchCompletionHandler:). Documentation Apple :
Si l’utilisateur a fermé l’application (en la faisant glisser depuis le sélecteur d’applications), iOS ne livrera pas la notification.Dans ce cas, incluez un message contents visible et traitez les données dans UNNotificationServiceExtension.didReceive.

Configuration des notifications de données Android

Gérez les notifications de données sur Android en utilisant l’Extension de service de notification. Cela vous permet :
  • De traiter les notifications tant que l’application n’a pas été forcée à s’arrêter
  • De personnaliser la façon dont les notifications sont affichées ou supprimées
Documentation Android :
Si l’application a été forcée à s’arrêter (via les paramètres de l’appareil ou par une optimisation de batterie OEM), Android ne livrera pas la notification. Consultez le comportement de force-stop Android.

Envoi de notifications VoIP

Les notifications VoIP sont prises en charge mais nécessitent une configuration supplémentaire en dehors des SDK OneSignal standard. OneSignal n’enregistre pas automatiquement les jetons VoIP.

Guide de configuration des notifications VoIP

Configurez les notifications push VoIP pour les appels en temps réel sur iOS.

FAQ

Les notifications silencieuses peuvent-elles être utilisées pour détecter des désinstallations ou des désabonnements ?

Pas de manière fiable. Les notifications silencieuses sont au mieux-effort et ne sont pas garanties d’être livrées, comme expliqué dans la section Limitations. À la place :
  • Envoyez des notifications visibles (avec contenu) à tous vos utilisateurs au moins une fois par mois.
  • Envoyez éventuellement des notifications silencieuses comme vérification supplémentaire.
Pour plus de détails sur la gestion des changements de statut d’abonnement, consultez le guide Abonnements.

Les livraisons confirmées fonctionnent-elles avec les notifications silencieuses ?

Non. Les livraisons confirmées nécessitent l’exécution d’un callback par le SDK lorsque la notification est affichée. Les notifications silencieuses ne sont pas affichées, donc le callback de réception du SDK n’est jamais déclenché.

Puis-je utiliser des notifications silencieuses pour mesurer combien d’utilisateurs sont joignables ?

Non, pas de manière fiable. Les notifications silencieuses n’ont pas de livraison garantie.
  1. La livraison n’est pas garantie — Apple et Google traitent tous deux les notifications silencieuses comme meilleur effort et peuvent les retarder ou les supprimer. Par exemple, iOS les supprimera si l’application est fermée (force quit) et Android et iOS les limiteront selon les règles d’économie d’énergie.
  2. La livraison n’est pas confirmée — les livraisons confirmées ne fonctionnent pas avec les notifications silencieuses, donc il n’y a aucun moyen de savoir quels utilisateurs ont réellement reçu le push.
Pour mesurer les utilisateurs joignables, envoyez une notification visible et suivez les métriques de livraison dans Analytics.

Extensions de service

Gérez le traitement des notifications en code natif sur iOS et Android.

Abonnements

Comprendre les types d’abonnements et leur connexion aux utilisateurs.

API de création de message

Envoyez des notifications par programmation, y compris les pushes silencieux.