Passer au contenu principal

Vue d’ensemble

Les notifications en arrière-plan ou de données—souvent appelées notifications “silencieuses”—n’affichent pas de message et ne jouent pas de son. Au lieu de cela, elles sont conçues pour réveiller silencieusement votre application afin d’effectuer des tâches en arrière-plan telles que la synchronisation ou l’actualisation des données.

Limitations

  • Utilisateurs abonnés uniquement : Le SDK OneSignal envoie des notifications de données uniquement aux utilisateurs abonnés par défaut. Pour atteindre les utilisateurs non abonnés, suivez cette solution de contournement.
  • Les applications fermées de force ne peuvent pas recevoir de notifications push en arrière-plan :
    • iOS : Les applications sont fermées de force lorsqu’elles sont balayées depuis le sélecteur d’applications. Support Apple.
    • Android : Les applications peuvent être fermées de force via les paramètres de l’appareil ou automatiquement par certains fabricants lorsqu’elles sont balayées. Plus d’informations.
  • Support limité pour les SDK non natifs :

Configuration des notifications de données en arrière-plan

Pour envoyer une notification de données silencieuse en arrière-plan depuis OneSignal, suivez ces étapes :
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 une charge utile personnalisée

  • API : Ajoutez une charge utile personnalisée avec le champ data.
  • Tableau de bord : Ajoutez une charge utile personnalisée avec le champ Additional Data.

Configuration des notifications en arrière-plan iOS

Votre application iOS doit avoir la capacité Background Modes > Remote Notifications activée dans Xcode. Ceci est généralement inclus si vous avez suivi notre configuration du SDK mobile. Nous recommandons également de consulter la documentation Apple suivante :

Gérez les données

Utilisez la méthode AppDelegate application(_:didReceiveRemoteNotification:fetchCompletionHandler:) pour traiter la notification.
Les notifications en arrière-plan ne peuvent pas être traitées si l’application a été balayée.Dans de tels cas, incluez un message contents visible et traitez les données dans UNNotificationServiceExtension.didReceive.Il n’existe aucun moyen de traiter une notification en arrière-plan si l’application a été fermée de force.

Configuration des notifications de données Android

Utilisez le NotificationExtenderService pour gérer les notifications de données sur Android. Cela permet :
  • De gérer les notifications en arrière-plan lorsque l’application n’est pas en cours d’exécution.
  • De personnaliser la façon dont les notifications sont affichées ou supprimées.

Envoi de notifications VoIP

Les notifications VoIP sont prises en charge mais nécessitent une configuration supplémentaire en dehors des SDK OneSignal, qui ne s’enregistre pas pour les jetons VoIP sur iOS. Consultez le guide de configuration des notifications VoIP pour des instructions complètes.

FAQ

Les notifications de données silencieuses en arrière-plan peuvent-elles détecter les désinstallations ou les désabonnements ?

Non. Apple et Google empêchent intentionnellement l’utilisation de l’envoi de notifications silencieuses comme moyen de détecter les désinstallations en ne répondant pas de manière cohérente qu’un appareil s’est désinscrit des notifications push, entre autres moyens techniques. L’application ne peut pas être fermée de force pour recevoir des notifications de données en arrière-plan (voir Limitations).

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

iOS : Non. La livraison confirmée repose sur le NotificationServiceExtension (NSE), qui ne s’active que lorsqu’un message visible (contents) est inclus. Même si vous tentez de vider le corps du message dans le NSE, iOS restaurera le contenu du corps d’origine—rendant la notification visible. Par conséquent, la livraison confirmée ne fonctionne pas avec les notifications silencieuses. Android : Oui.