Passer au contenu

Notifications push silencieuses

Découvrez comment configurer des notifications push silencieuses pour le SDK de Braze.

Conditions préalables

Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Android de Braze. Vous devrez également configurer les notifications push.

Mise en place de notifications push silencieuses

Les notifications silencieuses sont disponibles via l’API de messagerie de Braze. Pour en tirer parti, vous devez définir le flag send_to_sync sur true dans l’objet push Android et vous assurer qu’aucun champ title ou alert n’est défini, car cela provoquerait des erreurs lorsqu’ils sont utilisés conjointement avec send_to_sync—vous pouvez toutefois inclure des données extras au sein de l’objet.

Conditions préalables

Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Braze Swift. Vous devrez également configurer les notifications push.

Limitations iOS

Le système d’exploitation iOS peut limiter les notifications pour certaines fonctionnalités. Notez que si vous rencontrez des difficultés avec ces fonctionnalités, le blocage des notifications silencieuses d’iOS pourrait en être la cause. Pour plus de détails, consultez la documentation d’Apple sur la méthode d’instance et les notifications non reçues.

Configuration des notifications push silencieuses

Pour utiliser les notifications push silencieuses afin de déclencher des tâches en arrière-plan, vous devez configurer votre application pour recevoir des notifications même lorsqu’elle est en arrière-plan. Pour ce faire, ajoutez la capacité Background Modes à l’aide du volet Signing & Capabilities à la cible principale de l’application dans Xcode. Cochez la case Remote notifications.

Xcode affichant la case à cocher du mode « remote notifications » sous « capabilities ».

Même avec le mode d’arrière-plan des notifications distantes activé, le système ne lancera pas votre application en arrière-plan si l’utilisateur a forcé la fermeture de l’application. L’utilisateur doit explicitement lancer l’application ou redémarrer l’appareil avant que l’application puisse être automatiquement lancée en arrière-plan par le système.

Pour en savoir plus, consultez la documentation sur l’envoi de mises à jour en arrière-plan et la documentation de application:didReceiveRemoteNotification:fetchCompletionHandler:.

Envoi de notifications push silencieuses

Pour envoyer une notification push silencieuse, définissez le flag content-available sur 1 dans le payload d’une notification push.

Le flag content-available peut être défini dans le tableau de bord de Braze ainsi que dans notre objet push Apple via l’API de messagerie.

Le tableau de bord de Braze affichant la case à cocher « content-available » dans l'onglet « settings » du compositeur de notifications push.

Lorsque vous envoyez une notification push silencieuse, vous pouvez également inclure des données dans le payload de la notification, afin que votre application puisse référencer l’événement. Cela peut vous éviter quelques requêtes réseau et améliorer la réactivité de votre application.

Ignorer les notifications push internes

Braze utilise des notifications push silencieuses pour gérer en interne certaines fonctionnalités avancées, telles que le suivi des désinstallations. Si votre application effectue des actions automatiques lors des lancements d’application ou des pushs en arrière-plan, envisagez de conditionner cette activité afin qu’elle ne soit pas déclenchée par des notifications push internes.

Par exemple, si vous avez une logique qui appelle vos serveurs pour récupérer du nouveau contenu à chaque push en arrière-plan ou lancement d’application, vous souhaiterez peut-être empêcher les pushs internes de Braze de déclencher cette logique afin d’éviter un trafic réseau inutile. Étant donné que Braze envoie certains types de pushs internes à tous les utilisateurs à peu près au même moment, une charge serveur importante peut survenir si les appels réseau au lancement déclenchés par les pushs internes ne sont pas conditionnés.

Étape 1 : Vérifier les actions automatiques de votre application

Vérifiez les actions automatiques de votre application aux emplacements suivants et mettez à jour votre code pour ignorer les pushs internes de Braze :

  1. Récepteurs de push. Les notifications push en arrière-plan appellent application:didReceiveRemoteNotification:fetchCompletionHandler: sur le UIApplicationDelegate.
  2. Délégué d’application. Les pushs en arrière-plan peuvent lancer des applications suspendues en arrière-plan, déclenchant les méthodes application:willFinishLaunchingWithOptions: et application:didFinishLaunchingWithOptions: de votre UIApplicationDelegate. Vérifiez les launchOptions de ces méthodes pour déterminer si l’application a été lancée à partir d’un push en arrière-plan.

Étape 2 : Utiliser la méthode utilitaire interne

Vous pouvez utiliser la méthode utilitaire statique dans Braze.Notifications pour vérifier si votre application a reçu ou a été lancée par un push interne de Braze. Braze.Notifications.isInternalNotification(_:) renvoie true pour toutes les notifications push internes de Braze, y compris le suivi des désinstallations et les notifications de synchronisation des Feature flags.

Par exemple :

func application(_ application: UIApplication,
                 didReceiveRemoteNotification userInfo: [AnyHashable : Any],
                 fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
  if (!Braze.Notifications.isInternalNotification(userInfo)) {
    // Gated logic here (for example pinging server for content)
  }
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {
  if (![BRZNotifications isInternalNotification:userInfo]) {
    // Gated logic here (for example pinging server for content)
  }
}

Conditions préalables

Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Android de Braze. Vous devrez également configurer les notifications push.

Mise en place de notifications push silencieuses

Les notifications silencieuses sont disponibles via l’API de messagerie de Braze. Pour en tirer parti, vous devez définir le flag send_to_sync sur true dans l’objet push Android et vous assurer qu’aucun champ title ou alert n’est défini, car cela provoquerait des erreurs lorsqu’ils sont utilisés conjointement avec send_to_sync—vous pouvez toutefois inclure des données extras au sein de l’objet.

New Stuff!