Passer au contenu

Messages in-app de push primer

Vous n’avez qu’une seule chance de demander aux utilisateurs l’autorisation d’envoyer des notifications push. Il est donc crucial d’optimiser votre inscription push pour maximiser la portée de vos notifications push. Utilisez les messages in-app pour expliquer quel type de messages vos utilisateurs peuvent s’attendre à recevoir s’ils choisissent de s’abonner, avant de leur montrer l’invite push native. C’est ce qu’on appelle un push primer.

Message in-app de push primer pour une application de streaming. La notification indique « Recevoir des notifications push de Movie Cannon ? Les notifications peuvent inclure de nouveaux films, séries TV ou d'autres avis et peuvent être désactivées à tout moment. »

Pour créer un message in-app de push primer dans Braze, vous pouvez utiliser le comportement au clic du bouton « Request Push Permission » lors de la création d’un message in-app pour iOS, Android ou le Web.

Prérequis

Cette fonctionnalité nécessite le comportement au clic du bouton, qui est pris en charge dans les versions minimales suivantes ou ultérieures :

De plus, notez les détails suivants spécifiques à chaque plateforme :

Version de l’OS Informations complémentaires
Android 12 et versions antérieures L’implémentation des push primers n’est pas recommandée, car les notifications push sont activées par défaut.
Android 13+ Si un utilisateur refuse votre demande d’autorisation push deux fois, Android bloque les demandes ultérieures, y compris les messages push primer de Braze. Pour accorder l’autorisation après cela, les utilisateurs doivent activer manuellement les notifications push pour votre application dans les paramètres de leur appareil.

Informations générales

  • La demande d’autorisation push ne peut être affichée qu’une seule fois par installation, ce qui est imposé par le système d’exploitation.
  • La demande ne s’affiche pas si le paramètre push de l’application est explicitement activé ou désactivé. Elle s’affiche uniquement pour les utilisateurs disposant d’une autorisation provisoire.
    • Le paramètre push de l’application est activé : Braze n’affiche pas le message in-app, car l’utilisateur s’est déjà abonné.
    • Le paramètre push de l’application est désactivé : Vous devez rediriger l’utilisateur vers les paramètres de notification push de votre application dans les réglages de l’appareil.
  • Tester à nouveau après un refus : Si un utilisateur refuse la demande native, iOS ne l’affiche plus pour cette installation de l’application. Pour tester à nouveau le flux du push primer, les utilisateurs doivent généralement désinstaller et réinstaller l’application, ou modifier l’autorisation de notification pour votre application dans Réglages.

Suppression manuelle du code

Le message in-app que vous configurez à l’aide de ce tutoriel appelle automatiquement le code de demande d’autorisation push native lorsqu’un utilisateur clique sur le bouton du message in-app. Pour éviter de demander l’autorisation de notification push deux fois ou au mauvais moment, un développeur doit modifier toute intégration de notification push existante qu’il a implémentée afin de s’assurer que votre message in-app est le premier push primer que vos utilisateurs voient.

Votre équipe de développement doit examiner votre implémentation des notifications push pour votre application ou site et supprimer manuellement tout code qui demande l’autorisation push. Par exemple, supprimez les références au code suivant :

requestAuthorizationWithOptions
requestAuthorization
braze.requestPushPermission()
// or
appboy.registerAppboyPushMessages()
android.permission.POST_NOTIFICATIONS

Étape 1 : Créer un message in-app

Tout d’abord, créez un message in-app, puis sélectionnez le type et la mise en page de votre message.

Pour vous assurer de disposer de suffisamment d’espace pour votre message et vos boutons, utilisez une mise en page de message en plein écran ou en fenêtre modale. Si vous choisissez le plein écran, notez qu’une image est requise.

Étape 2 : Rédigez votre message

Il est maintenant temps d’ajouter votre texte ! N’oubliez pas qu’un push primer est censé préparer l’utilisateur à activer les notifications push. Dans le corps de votre message, nous vous recommandons de mettre en avant les raisons pour lesquelles vos utilisateurs devraient activer les notifications push. Soyez précis sur le type de notifications que vous souhaitez envoyer et sur la valeur qu’elles peuvent apporter.

Par exemple, une application d’actualités pourrait utiliser le push primer suivant :

Breaking news on the go! Enable push notifications to get alerts for major stories and topics that matter to you.

Tandis qu’une application de streaming pourrait utiliser le suivant :

Get push notifications from Movie Cannon? Notifications may include new movies, TV shows, or other notices and can be turned off at any time.

Pour consulter les bonnes pratiques et les ressources supplémentaires, reportez-vous à la section Créer des demandes d’abonnement personnalisées.

Étape 3 : Spécifier le comportement des boutons

Pour ajouter des boutons à votre message in-app, faites glisser deux blocs Button dans votre message, qui servent de boutons principal et secondaire dans votre message in-app. Vous pouvez également faire glisser une ligne dans votre message, puis faire glisser les boutons dans la ligne, afin que les boutons soient sur la même ligne horizontale (au lieu d’être empilés l’un sur l’autre). Nous recommandons « Allow notifications » et « Not now » comme boutons de départ, mais il existe de nombreuses invites de boutons différentes que vous pouvez attribuer.

Après avoir ajouté le texte des boutons, spécifiez le comportement au clic pour chaque bouton :

  • Button 1 : Définissez-le sur « Close Message ». C’est votre bouton secondaire, ou l’option « Not now ».
  • Button 2 : Définissez-le sur « Request Push Permission ». C’est votre bouton principal, ou l’option « Allow notifications ».

Compositeur de message in-app avec deux boutons : « Allow notifications » et « Not now ».

Étape 4 : Planifier la distribution

Pour que votre amorce push s’envoie à un moment pertinent, vous devez planifier votre message in-app en tant que message basé sur une action, avec Perform Custom Event comme action de déclenchement.

Bien que le moment idéal varie, Braze recommande d’attendre qu’un utilisateur ait accompli une action à forte valeur ajoutée, indiquant qu’il commence à percevoir la valeur de votre application ou site, ou lorsqu’il existe un besoin impérieux auquel les notifications push peuvent répondre (par exemple, après qu’il a passé une commande et que vous souhaitez lui proposer des informations de suivi de livraison). De cette façon, la demande profite au client plutôt qu’uniquement à votre marque.

Paramètres de livraison par événement pour envoyer aux utilisateurs ayant effectué l'événement personnalisé « Add to Watch List ».

Étape 5 : Cibler les utilisateurs

L’objectif d’une campagne d’amorce push est d’inviter les utilisateurs sur tous les appareils où ils n’ont pas encore accordé les autorisations push. Cela peut inclure les nouveaux utilisateurs ou les utilisateurs existants qui obtiennent un nouvel appareil ou réinstallent votre application.

Si vous n’utilisez pas l’amorce push sans code, ajoutez un filtre où Foreground Push Enabled For App is false. Ce filtre identifie les installations d’application individuelles qui ne sont pas encore abonnées aux notifications push de premier plan.

Au-delà de cela, vous pouvez décider quels Segments supplémentaires vous estimez les plus appropriés. Par exemple, vous pouvez cibler les utilisateurs qui ont effectué un deuxième achat, les utilisateurs qui viennent de créer un compte pour devenir membre, ou même les utilisateurs qui visitent votre application plus de deux fois par semaine. Cibler les utilisateurs pour ces Segments essentiels augmente la probabilité qu’ils s’abonnent et activent les notifications push.

Quand l’amorce push est affichée

Lorsque vous utilisez l’amorce push sans code (l’action de bouton « Request Push Permission »), le SDK Braze vérifie automatiquement l’état d’autorisation push de l’appareil et détermine s’il faut afficher ou supprimer le message in-app. Cela se produit au niveau de l’appareil avant l’affichage du message, vous n’avez donc pas besoin d’ajouter de filtres de segmentation supplémentaires pour contrôler ce comportement.

Les tableaux suivants montrent quand le message in-app d’amorce push est affiché ou supprimé sur chaque plateforme :

iOS (SDK Swift)

Statut d’autorisation Amorce affichée ? Notes
notDetermined Oui L’utilisateur n’a pas encore répondu à l’invitation push
denied Non Le SDK supprime automatiquement l’amorce car iOS n’autorise l’invite de permission native qu’une seule fois. Après un refus, appuyer sur « Autoriser » ne peut pas déclencher l’invite native.
provisional Oui L’appareil dispose d’une autorisation provisoire
ephemeral Oui L’appareil dispose d’une autorisation éphémère
authorized Non L’utilisateur a déjà accordé l’autorisation push

Android (SDK Android)

État Amorce affichée ? Notes
Android < 13 Non Aucune invite au niveau du système d’exploitation n’existe sur Android 12 et versions antérieures (les notifications push sont activées par défaut)
targetSdkVersion de l’application < 13 Non L’application ne cible pas le modèle de permission d’exécution
POST_NOTIFICATIONS déjà accordée Non L’utilisateur a déjà accordé la permission
Refus permanent Non L’utilisateur a refusé la permission deux fois (ou plus), et shouldShowRequestPermissionRationale renvoie false
Android 13+, permission pas encore accordée, éligible à l’invite Oui L’appareil est éligible pour afficher l’invite de permission du système d’exploitation

Le SDK Android vérifie la version du système d’exploitation, la version du SDK cible, l’état de la permission et si le système d’exploitation afficherait réellement l’invite (via shouldShowRequestPermissionRationale).

Web (SDK Web)

Notification.permission Push pris en charge Amorce affichée ? Notes
"default" Oui Oui L’utilisateur n’a pas encore répondu à la demande de permission
"granted" Peu importe Non L’utilisateur a déjà accordé la permission
"denied" Peu importe Non L’utilisateur a bloqué les notifications. Contrairement à iOS, l’état "denied" du Web ne peut pas être récupéré dans le navigateur (il n’existe pas d’équivalent de deep link vers les Paramètres), le SDK supprime donc l’amorce.
"default" Non Non Le navigateur ne prend pas en charge les notifications push

Cibler les utilisateurs avec plusieurs appareils

Étant donné que Braze capture les données utilisateur au niveau du profil plutôt qu’au niveau de l’appareil, cibler les utilisateurs qui possèdent plusieurs appareils peut être complexe. Les filtres d’abonnement push dans la segmentation incluent ou excluent les utilisateurs en fonction de l’état d’abonnement d’un seul appareil plutôt que de l’état d’abonnement de l’appareil spécifiquement ciblé. De plus, les états provisoires sur iOS ajoutent de la complexité, car ces appareils disposent techniquement de jetons push de premier plan, mais les utilisateurs ne sont pas explicitement abonnés.

Le problème avec les filtres d’abonnement push

Lorsqu’un utilisateur possède plusieurs appareils avec des états d’abonnement push différents, les filtres d’abonnement push dans votre segmentation peuvent échouer à cibler certains appareils. Considérez ces scénarios :

Scénario 1 : L’utilisateur possède deux appareils sur des plateformes différentes

L’utilisateur possède deux appareils :

  • Appareil A : Android, abonné aux notifications push
  • Appareil B : iOS, non abonné aux notifications push

Filtres de Segment qui ne fonctionnent pas :

  • Push enabled = false — L’utilisateur a les notifications push activées sur son appareil Android, il n’entre donc pas dans le Segment. Le Segment n’inclut pas l’appareil iOS.
  • Push subscription status is not opted in — L’utilisateur a les notifications push activées sur son appareil Android, il n’entre donc pas dans le Segment. Le Segment n’inclut pas l’appareil iOS.

Filtres de Segment qui fonctionnent :

  • Push enabled for iOS = false — L’utilisateur a les notifications push activées sur son appareil Android, mais nous ne ciblons que les appareils iOS, l’utilisateur entre donc dans le Segment. Le Segment inclut l’appareil iOS.
Scénario 2 : L’utilisateur possède deux appareils iOS avec des états différents

L’utilisateur possède deux appareils iOS :

  • Appareil A : Abonné aux notifications push
  • Appareil B : Autorisé provisoirement mais non abonné

Filtres de Segment qui ne fonctionnent pas :

  • Push enabled = false — L’appareil A est abonné aux notifications push, l’utilisateur n’entre donc pas dans le Segment. Le Segment n’inclut pas l’appareil B.
  • Provisionally opted in = true — L’appareil A est pleinement abonné, ce qui signifie qu’il n’est pas dans un état provisoire. L’utilisateur n’entre pas dans le Segment. Le Segment n’inclut pas l’appareil B.
  • Push enabled for app > iOS = false — L’appareil A est abonné aux notifications push sur iOS, l’utilisateur n’entre donc pas dans le Segment. Le Segment n’inclut pas l’appareil B.
  • Push subscription status is not opted in — L’appareil A est abonné aux notifications push, l’utilisateur n’entre donc pas dans le Segment. Le Segment n’inclut pas l’appareil B.

Résultat : L’utilisation de n’importe quelle combinaison de ces filtres push entraîne l’exclusion d’au moins un appareil du Segment.

Scénario 3 : L’utilisateur possède trois appareils ou plus sur le même système d’exploitation

L’utilisateur possède trois appareils :

  • Appareil A : Abonné aux notifications push
  • Appareil B : Non abonné aux notifications push
  • Appareil C : Non abonné aux notifications push

Filtres de Segment qui ne fonctionnent pas :

  • Push enabled = false — L’appareil A est abonné aux notifications push, l’utilisateur n’entre donc pas dans le Segment. Le Segment n’inclut pas les appareils B et C.
  • Push enabled for app > X = false — L’appareil A est abonné aux notifications push sur l’application spécifiée, l’utilisateur n’entre donc pas dans le Segment. Le Segment n’inclut pas les appareils B et C.
  • Push subscription status is not opted in — L’appareil A est abonné aux notifications push, l’utilisateur n’entre donc pas dans le Segment. Le Segment n’inclut pas les appareils B et C.

Résultat : L’utilisation de n’importe quelle combinaison de ces filtres push laisse au moins un appareil non ciblé.

Solution : Utiliser l’amorce push sans code

La solution recommandée est d’utiliser l’amorce push sans code (l’action de bouton « Request Push Permission ») sans filtres de segmentation supplémentaires sur le statut push.

L’avantage d’utiliser l’amorce push sans code est que la fonctionnalité est prise en charge par le SDK Braze. Comme le SDK peut détecter le statut du jeton push sur l’appareil spécifique qui affiche le message, vous n’avez pas besoin de vous appuyer sur des filtres de segmentation au niveau du profil qui pourraient exclure les utilisateurs possédant plusieurs appareils.

Considérations

L’amorce push sans code est requise : vous devez utiliser l’amorce push sans code pour que la suppression automatique fonctionne. Si vous configurez une logique personnalisée ou des deep links au lieu d’utiliser l’action de bouton « Request Push Permission », le SDK ne peut pas identifier que vous essayez d’afficher une amorce push. Cela entraîne l’affichage du message indépendamment de l’état d’abonnement de cet appareil.

Suppression pour les utilisateurs qui se sont désabonnés : l’amorce push sans code supprime automatiquement l’affichage pour les utilisateurs qui ont explicitement refusé les autorisations push au niveau du système d’exploitation (par exemple, iOS .denied, Android refus permanent après plusieurs demandes, et Web "denied"). Cependant, vous pouvez souhaiter un contrôle supplémentaire dans certains cas. Par exemple, sur Android, un utilisateur pourrait désactiver les notifications dans les paramètres de son appareil sans refuser définitivement la permission POST_NOTIFICATIONS. Si vous souhaitez supprimer l’amorce pour ces utilisateurs et les recibler avec une Campaign différente, utilisez la logique Liquid suivante en combinaison avec l’amorce sans code :

{% if targeted_device.${foreground_push_enabled} == false %}
{% abort_message('user turned off push notifications') %}
{% endif %}
- message goes here -

Le filtre Liquid targeted_device examine uniquement l’appareil sur lequel le message est affiché, plutôt que le profil utilisateur. Sur cet appareil, foreground_push_enabled est défini sur true lorsqu’il existe un jeton push de premier plan actif et sur false lorsque le système d’exploitation signale que les notifications push ont été désactivées (par exemple, l’utilisateur les a explicitement désactivées). Pour les appareils entièrement nouveaux qui n’ont pas encore répondu à un état d’autorisation push, foreground_push_enabled n’est pas défini et n’a pas de valeur. Comme la condition Liquid vérifie spécifiquement false, elle supprime l’amorce uniquement pour les appareils avec un refus explicite, tandis que les appareils dans cet état inconnu restent éligibles et peuvent recevoir l’amorce push.

Étape 6 : Événements de conversion

Braze propose des paramètres par défaut pour les conversions, mais vous pouvez configurer des événements de conversion autour des demandes d’abonnement push.

New Stuff!