Passer au contenu

Cycle de vie des jetons de notification push

Cet article couvre le processus par lequel un utilisateur se voit attribuer un jeton de notification push, et comment Braze envoie des messages push à vos utilisateurs.

À propos des jetons de notification push

Lorsqu’une application demande les autorisations push à un appareil, le fournisseur de service push de l’appareil génère un jeton de notification push pour cette application. Chaque application reçoit son propre jeton de notification push unique et anonyme, qui permet d’identifier l’appareil et l’instance actuelle de l’application lors de l’envoi d’une notification push.

Gardez à l’esprit que les jetons de notification push ne sont pas des identifiants statiques qui durent indéfiniment—ils peuvent être mis à jour et ils peuvent expirer.

Push au premier plan et en arrière-plan

Les jetons de notification push sont utilisés pour envoyer des notifications push au premier plan et en arrière-plan.

Type Nécessite un opt-in ? Description
Push au premier plan Oui Une notification est affichée de manière visible à l’utilisateur lorsque l’application est au premier plan.
Push en arrière-plan Non Une notification est délivrée silencieusement en arrière-plan sans être affichée. Souvent utilisée pour des fonctionnalités comme le suivi des désinstallations.

Lorsqu’un utilisateur accepte les notifications push pour votre application, il est considéré comme « enregistré pour le push », ce qui signifie qu’il peut désormais être ciblé à l’aide du filtre de segmentation Foreground Push Enabled for App dans Braze.

Plusieurs utilisateurs sur un même appareil

Les jetons de notification push sont uniques à la fois pour l’appareil et l’application, ce qui signifie qu’ils ne peuvent pas être utilisés pour cibler un utilisateur spécifique si plusieurs utilisateurs partagent le même appareil.

Par exemple, supposons que vous ayez deux utilisateurs : Charlie et Kim. Si Charlie a activé les notifications push pour votre application sur son téléphone et que Kim utilise le téléphone de Charlie pour se déconnecter du profil de Charlie et se connecter au sien, le jeton de notification push sera réattribué au profil de Kim. Le jeton de notification push restera alors attribué au profil de Kim sur cet appareil jusqu’à ce qu’elle se déconnecte et que Charlie se reconnecte.

Une application ou un site web ne peut avoir qu’un seul abonnement push par appareil. Ainsi, lorsqu’un utilisateur se déconnecte d’un appareil ou d’un site web et qu’un nouvel utilisateur se connecte, le jeton de notification push est réattribué au nouvel utilisateur. Cela se reflète dans le profil de l’utilisateur dans la section Contact Settings de l’onglet Engagement :

Journal des modifications du jeton de notification push dans l'onglet Engagement du profil d'un utilisateur, qui indique quand le jeton de notification push a été transféré à un autre utilisateur et quel était le jeton.

Comme il n’existe aucun moyen pour les fournisseurs push (APNs/FCM) de distinguer plusieurs utilisateurs sur un même appareil, nous transmettons le jeton de notification push au dernier utilisateur connecté pour déterminer quel utilisateur cibler sur l’appareil pour le push.

Enregistrement des jetons push

Chaque plateforme gère l’enregistrement des jetons push différemment. Consultez les sections suivantes pour des détails spécifiques à chaque plateforme :

Vous devez demander l’abonnement explicite des utilisateurs via la boîte de dialogue d’autorisation native du navigateur. Un jeton sera reçu après l’abonnement des utilisateurs. Contrairement à iOS et Android, qui permettent à votre application d’afficher l’invite d’autorisation à tout moment, certains navigateurs modernes n’affichent l’invite que si elle est déclenchée par un « geste utilisateur » (clic de souris ou frappe au clavier). Si votre site tente de demander l’autorisation pour les notifications push au chargement de la page, elle sera probablement ignorée ou désactivée par le navigateur.

Lorsque votre application est installée, un jeton push est automatiquement généré pour votre application—cependant, il ne peut être utilisé que pour les notifications push en arrière-plan tant que l’utilisateur n’a pas explicitement accepté. De plus, l’enregistrement est géré différemment selon les versions d’Android :

Version Détails
Android 13 L’autorisation push doit être demandée et accordée par l’utilisateur. Votre application peut demander l’autorisation manuellement, ou les utilisateurs seront invités automatiquement après la création d’un canal de notification.
Android 12 et antérieur Tous les utilisateurs sont considérés comme Subscribed après leur première session. Braze demande automatiquement un jeton push à ce moment-là, rendant l’utilisateur activé pour les notifications push avec un jeton valide et un état d’abonnement par défaut de Subscribed.

iOS ne génère pas automatiquement de jetons push pour une application lors de son installation. De plus, l’enregistrement est géré différemment selon les versions d’iOS :

Version Autorisation provisoire ? Détails
iOS 12 Oui Lorsqu’un utilisateur accepte les notifications push, vous obtenez une autorisation standard, vous permettant d’envoyer des notifications push au premier plan. Cependant, vous pouvez également demander une autorisation provisoire, qui vous permet d’envoyer silencieusement des notifications push en arrière-plan directement dans le centre de notifications.
iOS 11 ou antérieur Non Tous les utilisateurs doivent explicitement accepter de recevoir les notifications push. Un jeton push n’est généré qu’après l’octroi de l’autorisation.

Vérifier l’état d’abonnement push d’un utilisateur

Profil utilisateur de Jane Doe affichant l'état d'abonnement push et les détails d'enregistrement push dans l'onglet Engagement.

Il existe deux façons de vérifier l’état d’abonnement push d’un utilisateur avec Braze :

  • Profil utilisateur : Vous pouvez accéder aux profils utilisateur individuels via le tableau de bord de Braze sur la page Recherche d’utilisateurs. Après avoir trouvé le profil d’un utilisateur (par adresse e-mail, numéro de téléphone ou ID utilisateur externe), vous pouvez sélectionner l’onglet Engagement pour afficher et ajuster manuellement l’état d’abonnement d’un utilisateur.
  • Exportation via la REST API : Vous pouvez exporter les profils utilisateur individuels au format JSON en utilisant les endpoints d’exportation Utilisateurs par Segment ou Utilisateurs par identifiant. Braze renverra un objet de jetons push contenant les informations d’activation push par appareil.

Vérifier l’état d’enregistrement push

Dans l’onglet Engagement du profil d’un utilisateur, vous verrez Push Registered For suivi d’un nom d’application. Si aucune information d’application n’existe pour cet appareil, vous verrez deux tirets (--). Il y aura une entrée pour chaque appareil appartenant à l’utilisateur.

Si le nom de l’application de l’entrée d’appareil est préfixé par Foreground:, l’application est autorisée à recevoir à la fois des notifications push au premier plan (visibles par l’utilisateur) et des notifications push en arrière-plan (non visibles par l’utilisateur) sur cet appareil.

Journal des modifications push avec un exemple de jeton push.

En revanche, si le nom de l’application de l’entrée d’appareil est préfixé par Background:, l’application est uniquement autorisée à recevoir des notifications push en arrière-plan et ne peut pas afficher de notifications visibles par l’utilisateur sur cet appareil. Cela indique généralement que l’utilisateur a désactivé les notifications pour l’application sur cet appareil.

Si un jeton push est transféré à un autre utilisateur sur le même appareil, le premier utilisateur ne sera plus enregistré pour les notifications push.

Gestion des jetons push

Consultez le tableau suivant pour les actions qui entraînent des modifications ou la suppression de jetons push des profils utilisateur.

Action Description
Appel de la méthode changeUser() La méthode changeUser() de Braze change l’identifiant utilisateur auquel les SDK attribuent les données de comportement utilisateur. Cette méthode est généralement appelée lorsqu’un utilisateur se connecte à une application. Lorsque changeUser() est appelé avec un identifiant utilisateur différent ou nouveau sur un appareil spécifique, le jeton push de cet appareil est transféré vers le profil Braze approprié avec l’identifiant utilisateur correspondant.
Erreur push survenue Certaines erreurs push courantes entraînant la suppression de jetons incluent MismatchSenderId, InvalidRegistration et d’autres types de rebonds push.

Consultez notre liste complète des erreurs push courantes.
Désinstallation par l’utilisateur Lorsqu’un utilisateur désinstalle l’application d’un appareil, Braze supprime le jeton push de l’utilisateur du profil.

À quoi cela ressemble-t-il à plus grande échelle ?

Lorsqu’un utilisateur ouvre une nouvelle application et accorde l’accès push via une invite push, un appel est effectué depuis le SDK Braze vers les fournisseurs push. Lorsque cet appel est effectué, le fournisseur push vérifie que tout est correctement configuré. Si c’est le cas, un jeton push est transmis à votre appareil. Lorsque ce jeton arrive, le SDK le communique à Braze. Une fois que Braze a reçu le jeton du fournisseur push, nous mettons à jour ou créons un nouveau profil utilisateur. Ces utilisateurs sont alors considérés comme enregistrés.

Si nous souhaitons lancer une Campaign, nous créons une Campaign dans Braze qui génère un payload push à envoyer au fournisseur push. De là, le fournisseur délivre le payload push à l’appareil de l’utilisateur et le SDK transmet l’état de la communication à Braze.

Un diagramme de flux illustrant le processus push décrit ci-dessus entre Braze, le client et le service de notification push d'Apple ou Firebase Cloud Messaging.

Étapes d’enregistrement Étapes de communication
1. Le client (appareil) s’enregistre auprès du fournisseur push
2. Le fournisseur génère et délivre le jeton push
3. Transmission des jetons à Braze
1. Braze envoie le payload push au fournisseur
2. Le fournisseur délivre le payload push à l’appareil
3. Le SDK transmet les statistiques de communication à Braze

Questions fréquemment posées

Que se passe-t-il lorsqu’un utilisateur ayant donné son consentement supprime puis retélécharge mon application ?

Supposons qu’un utilisateur accepte les notifications push, reçoive quelques messages push, puis supprime l’application. Cela supprimera le consentement push au niveau de l’appareil. À partir de là, le premier push renvoyé en erreur après la désinstallation entraînera automatiquement la désinscription de cet utilisateur des futurs messages push. Ensuite, si un utilisateur réinstalle l’application mais ne la lance pas, Braze ne sera pas en mesure de lui envoyer de notification push, car les jetons push n’ont pas été réattribués pour votre application.

De plus, si un utilisateur réactivait les notifications push au premier plan, il faudrait un démarrage de session pour mettre à jour cette information dans son profil utilisateur et recommencer à recevoir des messages push.

Quand les jetons push expirent-ils ?

Malheureusement, les APN et FCM ne définissent pas réellement cela. Les jetons push peuvent expirer lorsqu’une application est mise à jour, lorsque les utilisateurs transfèrent leurs données vers un nouvel appareil, ou lorsqu’ils réinstallent un système d’exploitation. Dans la plupart des cas, nous n’avons pas vraiment de visibilité sur les raisons pour lesquelles les fournisseurs de notifications push font expirer certains jetons push.

Pour tenir compte de cette ambiguïté, nos intégrations push du SDK enregistrent et actualisent systématiquement les jetons au démarrage de chaque session, afin de garantir que nous disposons du jeton le plus à jour.

New Stuff!