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 Braze. You’ll also need to set up push notifications.
Setting up silent push notifications
Silent notifications are available through the Braze Messaging API. To take advantage of them, you need to set the send_to_sync
flag to true
within the Android push object and ensure there are no title
or alert
fields set as it will cause errors when used alongside send_to_sync
—however, you can include data extras
within the object.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Swift Braze. Vous devrez également configurer les notifications push.
Limites de l’iOS
Le système d’exploitation iOS peut envoyer des notifications pour certaines fonctionnalités. Notez que si vous rencontrez des difficultés avec ces fonctionnalités, le blocage des notifications silencieuses d’iOS peut en être la cause. Pour plus de détails, consultez la documentation d’Apple sur les méthodes d’instance et les notifications non reçues.
Mise en place de notifications push silencieuses
Pour utiliser les notifications push silencieuses afin de déclencher des travaux en arrière-plan, vous devez configurer votre app de manière à ce qu’elle reçoive des notifications même lorsqu’elle est en arrière-plan. Pour ce faire, ajoutez la capacité Modes d’arrière-plan à l’aide du volet Signature et capacités pour la cible d’appli principale dans Xcode. Cochez la case Notifications à distance.
Même avec le mode arrière-plan des notifications à distance activé, le système ne lance pas votre application en arrière-plan si l’utilisateur a quitté l’application de manière forcée. L’utilisateur doit explicitement lancer l’application ou redémarrer l’appareil avant que l’application ne puisse être automatiquement lancée dans l’arrière-plan par le système.
Pour plus d’informations, reportez-vous aux mises à jour du contexte de poussée et à la documentation application:didReceiveRemoteNotification:fetchCompletionHandler:
.
Envoi de notifications push silencieuses
Pour envoyer une notification push silencieuse, définissez l’indicateur content-available
sur 1
dans une charge utile de notification push.
Ce qu’Apple appelle une notification à distance est juste une notification push normale avec le drapeau content-available
activé.
Le drapeau content-available
peut être défini dans le tableau de bord de Braze ainsi que dans notre objet Apple push dans l’API d’envoi messages.
Il n’est pas recommandé d’attacher un titre et un corps content-available=1
, car cela peut entraîner un comportement non défini. Pour qu’une notification soit vraiment silencieuse, excluez à la fois le titre et le corps lorsque vous définissez l’indicateur content-available
sur 1.
. Pour plus de détails, reportez-vous à la documentation Apple officielle sur les mises à jour en arrière-plan.
Lors de l’envoi d’une notification push silencieuse, vous pouvez également inclure certaines données dans la charge utile de la notification, afin que votre application puisse référencer l’événement. Cela pourrait vous éviter quelques requêtes réseau et augmenter 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 ou les géorepérages. Si votre application prend des actions automatiques au lancement d’une application ou lors d’un push en arrière-plan, envisagez d’encadrer cette activité afin qu’elle ne soit pas déclenchée par des notifications push internes.
Par exemple, si votre logique appelle vos serveurs pour obtenir du nouveau contenu à chaque poussée en arrière-plan ou lancement d’application, vous voudrez peut-être empêcher le déclenchement des poussées internes de Braze afin d’éviter un trafic réseau inutile. Étant donné que Braze envoie certains types d’appels internes à tous les utilisateurs à peu près en même temps, une charge importante du serveur peut se produire si les appels réseau au lancement provenant d’appels internes ne sont pas gérés.
Étape 1 : Vérifiez que votre application ne contient pas d’actions automatiques
Vérifiez que votre application ne contient pas d’actions automatiques aux endroits suivants et mettez à jour votre code pour ignorer les poussées internes de Braze :
- Récepteurs de notifications push. Les notifications push en arrière-plan vont appeler
application:didReceiveRemoteNotification:fetchCompletionHandler:
sur leUIApplicationDelegate
. - Délégué d’application. Les notifications push en arrière-plan peuvent lancer les applications suspendues en arrière-plan, déclenchant les méthodes
application:willFinishLaunchingWithOptions:
etapplication:didFinishLaunchingWithOptions:
sur votreUIApplicationDelegate
. Vous pouvez vérifier leslaunchOptions
de ces méthodes pour déterminer si l’application a été lancée à partir d’une notification push en arrière-plan.
Étape 2 : Utilisez la méthode de l’utilitaire de poussée 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(_:)
retournera true
pour toutes les notifications push internes de Braze, ce qui inclut le suivi des désinstallations, la synchronisation des drapeaux de fonctionnalité et les notifications de synchronisation des géorepérages.
Par exemple :
1
2
3
4
5
6
7
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)
}
}
1
2
3
4
5
- (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 Braze. You’ll also need to set up push notifications.
Setting up silent push notifications
Silent notifications are available through the Braze Messaging API. To take advantage of them, you need to set the send_to_sync
flag to true
within the Android push object and ensure there are no title
or alert
fields set as it will cause errors when used alongside send_to_sync
—however, you can include data extras
within the object.