Live Activity
Une Live Activity est une carte qui se met à jour en temps réel pour que l’utilisateur voie la progression sans ouvrir l’app (statut de vol, livraison, trajet et similaires). Sur iOS, c’est une petite carte sur l’écran de verrouillage et le Dynamic Island. Sur Android 16 et versions ultérieures, c’est le même type de carte, affichée sous forme de notification persistante avec une barre de progression.
Utilisez l’élément Live Activity dans un journey pour démarrer, mettre à jour ou terminer cette carte, sur iOS, Android ou les deux.
Chaque élément effectue une action :
- Start : créer la carte.
- Update : modifier une carte existante.
- End : fermer la carte.
Pour modifier ou fermer la même carte plus tard, ajoutez un autre élément Live Activity et faites-le pointer vers celui qui a créé la carte avec Card created by.
Exemples de cas d’usage
Anchor link toUtilisez cet élément chaque fois que l’utilisateur doit voir un statut qui continue de changer, sans ouvrir l’app.
- Statut de vol : affichez la carte après l’enregistrement. Gardez la porte, le statut et l’heure à jour pendant le vol. Retirez la carte après l’atterrissage.
- Livraison de nourriture : affichez la carte lorsque la commande est passée. Gardez le nom du livreur, l’heure d’arrivée estimée et la distance à jour en chemin. Retirez la carte à la livraison.
- VTC : affichez la carte lorsque le trajet est demandé. Gardez le conducteur, l’heure d’arrivée estimée et la plaque d’immatriculation à jour pendant que le conducteur approche. Retirez la carte lorsque le trajet est terminé.
- Commande ou rendez-vous : affichez la carte lorsque la commande ou la réservation est confirmée. Gardez le statut à jour à mesure qu’il progresse. Retirez la carte lorsqu’elle est honorée ou que la visite est terminée.
- Événement en direct : affichez la carte lorsque l’événement commence. Gardez le score, la période ou le programme à jour pendant qu’il se déroule. Retirez la carte lorsque l’événement se termine.
Prérequis
Anchor link toAvant de configurer cet élément, vérifiez ce dont chaque plateforme a besoin.
Pour la carte iOS :
- Prise en charge de Live Activity iOS : votre app doit prendre en charge les Live Activities. Voir le guide Live Activities du SDK iOS.
- Un schéma de widget publié : demandez à votre équipe de développement de publier le schéma correspondant au type de Live Activity dans l’app sous Applications → Configure → Live Activity schemas. Ils peuvent aussi le publier via l’API. Pour savoir ce qui doit figurer dans un schéma, voir Rédiger un schéma.
- Widget dans la liste : une fois le schéma publié, sélectionnez-le sous Widget dans cet élément. Si la liste Widget est vide, le schéma n’est pas encore publié.
Pour la notification Android :
- Prise en charge d’Android Live Updates : votre app a besoin du SDK 6.11+ et du module
pushwoosh-liveupdates. Aucun schéma n’est nécessaire pour Android. Demandez à votre développeur Android de confirmer que le module est inclus dans le build.
Configurer l’élément
Anchor link to-
Faites glisser l’élément Live Activity sur le canevas.

-
Double-cliquez sur l’élément pour ouvrir ses paramètres.
-
Entrez un nom dans Step name.
-
Dans Action, choisissez l’une des options suivantes :
- Start : créer la carte Live Activity.
- Update : modifier le contenu d’une carte existante.
- End : fermer la carte.
-
Sous Platforms, activez iOS Live Activity, Android Live Updates ou les deux. Au moins une plateforme doit rester activée : vous ne pouvez donc pas désactiver la dernière. Sur Update et End, Platforms affiche les plateformes de l’élément Start lié et est en lecture seule.

-
Uniquement sur Start, définissez la clé de la carte pour que les étapes ultérieures Update et End puissent trouver cette carte :
- Dans Card key: event, sélectionnez l’événement qui identifie la carte (par exemple l’événement d’entrée du journey).
- Dans Card key: attribute, sélectionnez l’attribut qui rend la clé unique par voyageur. Ceci est requis dès que vous définissez Card key: event. Le laisser non défini rend la sélection de l’événement sans effet, comme laisser les deux champs vides : une carte par voyageur, adressée par l’ID utilisateur par défaut.

Lier Update et End à la bonne carte
Anchor link toLorsque Action est Update ou End, utilisez Card created by pour pointer vers l’élément Start exact qui a créé cette carte. Sinon, Update ou End ne l’atteindra pas.
- Dans Card created by, sélectionnez le Step name de cet élément Start (par exemple
Order card start).
Après avoir choisi Card created by, Card key (from the start element) affiche les valeurs Card key: event et Card key: attribute de ce Start. Il est en lecture seule et confirme vers quelle carte cela pointe.

Choisir la langue de la carte
Anchor link toCard language s’applique à la fois à la carte iOS et à la notification Android.
Réglez Card language sur default ou un code de langue spécifique. Le contenu sous default sert de repli pour toute langue que vous ne remplissez pas séparément.
Configurer la carte iOS
Anchor link toIgnorez cette section si seul Android Live Updates est activé.
Choisir le widget et la version du schéma
Anchor link to-
Dans Widget, sélectionnez le type de Live Activity publié pour cette carte. Les champs de contenu ci-dessous découlent de ce choix. Sur Update ou End, Widget est en lecture seule, hérité de l’élément Card created by.
-
Dans Schema version, sélectionnez quelle version publiée du schéma de ce widget utiliser. Les champs Card content proviennent de cette version. Sur Update et End, Schema version reste un sélecteur : vous pouvez choisir une version publiée différente du même widget hérité que celle utilisée par le Start lié.

Définir les attributs fixes de la carte (Start uniquement)
Anchor link toSur Start, sous Card attributes, ajoutez les champs qui restent fixes pendant toute la durée de vie de la carte, définis une fois et jamais modifiés ensuite, comme un numéro de vol ou un ID de commande. Ceux-ci sont distincts des champs Card content ci-dessous. Ces valeurs peuvent changer sur Update.
Demandez à votre développeur iOS la liste exacte des Field name. Ces noms restent fixes pendant toute la durée de vie de la carte (le type ActivityAttributes de l’app). N’utilisez pas les noms changeants de Card content (le ContentState de l’app).
- Cliquez sur Add attribute.
- Définissez Field name et Value pour chaque attribut dont vous avez besoin.
Update et End ne définissent pas d’attributs. Ce que Start a défini pour cette carte reste fixe.
Remplir le contenu de la carte
Anchor link toSous Card content, saisissez une valeur littérale ou un espace réservé de personnalisation dans chaque champ. Un champ apparaît par propriété dans la version de schéma sélectionnée.

Pré-remplissage sur Update et End
Anchor link toSur Update ou End, si Card content pour la Card language actuelle est vide (y compris une langue que vous venez d’ajouter), Pushwoosh pré-remplit les champs à partir de l’élément Start lié lorsque vous ouvrez les paramètres :
- La même langue que Start, si cette langue a du contenu.
- Sinon le contenu
defaultde Start. - Si Start n’a ni l’un ni l’autre, laissez les champs vides et remplissez-les vous-même.
Les valeurs pré-remplies restent modifiables. Cliquez sur Apply uniquement lorsque vous souhaitez conserver les modifications. Ouvrir l’élément seul ne modifie pas un journey en cours d’exécution.
Les champs que vous laissez vides sur Update ou End ne sont pas envoyés. Ce que la carte affiche alors dans ces champs dépend de votre app : elle peut conserver la valeur précédente, l’effacer ou faire autre chose. Demandez à vos développeurs comment votre app gère ce cas.
Sur End, Card content est facultatif. Un champ que vous remplissez devient la dernière valeur affichée avant que la carte ne se ferme.
Définir la priorité et le moment de livraison
Anchor link to-
Dans Delivery priority, choisissez quand iOS doit livrer cette mise à jour :
- Immediate : iOS livre immédiatement et peut réveiller le téléphone (et jouer le son, si vous en avez défini un).
- Quiet : iOS peut livrer plus tard avec d’autres mises à jour et ne réveille pas immédiatement le téléphone.
- Default (batched) : iOS utilise sa propre livraison groupée par défaut et ne réveille pas immédiatement le téléphone.
-
Dans Sound, sélectionnez un son dans la liste. Votre équipe de développement ajoute des fichiers son au bundle de l’app iOS. Voir Son push personnalisé. Le son ne joue qu’avec Alert title ou Alert text, comme la bannière.
-
Selon l’Action que vous avez définie pour cet élément (Start, Update ou End), remplissez l’un des éléments suivants :
- Start ou Update : définissez Stale after, min sur le nombre de minutes pendant lesquelles les données de la carte doivent sembler fraîches. Une fois ce délai écoulé, iOS estompe les chiffres comme obsolètes. La carte reste sur l’écran de verrouillage. Pour que les chiffres continuent de sembler à jour, envoyez un autre Update avant la fin du délai.
- End : définissez Dismiss after, min sur la durée pendant laquelle la carte fermée reste sur l’écran de verrouillage avant qu’iOS ne la supprime. Laissez-le à
0et la carte continuera d’afficher son Card content final jusqu’à ce qu’iOS la retire de lui-même, dans un délai maximal de 4 heures.
-
Réglez éventuellement Relevance score sur un nombre de 1 à 100. Lorsqu’une personne a plus d’une Live Activity active de votre app à la fois, iOS affiche en premier celle avec le score le plus élevé. Laissez-le à
0pour ne pas définir de préférence. Pushwoosh n’envoie pas du tout de score0à Apple. Voir Plusieurs activités par appareil pour la vue d’ensemble.

Remplir la notification Android
Anchor link toRemplissez le titre, le texte, la barre de progression et l’heure d’en-tête de la notification Android. Cette section n’apparaît que lorsque Android Live Updates est activé. Elle utilise la même Card language que la carte iOS.
-
Définissez Notification title pour chaque langue que vous remplissez pour Android. Sur Start et Update, le journey ne peut pas s’exécuter tant que chacune de ces langues n’a pas de titre. Une langue sans titre affiche un rappel dans le formulaire.
-
Définissez Notification text.

-
Configurez la barre de progression :
- Progress : saisissez un nombre ou un espace réservé de la forme
{name}(éventuellement{name|format}ou{name|format|default}) pour la position de la barre, dans les mêmes unités que les longueurs des segments. - Segments : cliquez sur Add segment pour chaque partie colorée de la barre, et définissez une Color hexadécimale (
#RRGGBBou#AARRGGBB) et une Length pour chacune. La somme des longueurs des segments forme la barre complète. - Animate the bar without a known end : activez cette option pour afficher une barre animée au lieu de la valeur Progress.
- Hide the progress bar : activez cette option pour afficher la carte sans barre.

- Progress : saisissez un nombre ou un espace réservé de la forme
-
Définissez l’heure d’en-tête :
- Header time : saisissez un horodatage Unix en secondes (pas en millisecondes), ou un espace réservé, pour le moment que l’horloge d’en-tête de la carte doit afficher. Par exemple,
1735689600correspond au 2025-01-01 00:00 UTC. Si ce champ et Header time after, min sont tous deux définis, Header time est utilisé. - Header time after, min : définissez le nombre de minutes après l’envoi que l’heure d’en-tête doit afficher.
- Run the header time as a timer : activez cette option pour afficher Header time sous forme d’horloge qui défile au lieu d’une valeur fixe. Cela fait apparaître Count down to the header time.
- Count down to the header time : activez cette option pour faire un compte à rebours jusqu’à Header time au lieu de compter à partir de l’envoi.
- Hide the header time : activez cette option pour afficher la carte sans l’heure d’en-tête.

- Header time : saisissez un horodatage Unix en secondes (pas en millisecondes), ou un espace réservé, pour le moment que l’horloge d’en-tête de la carte doit afficher. Par exemple,
Chacun des champs ci-dessus peut contenir un espace réservé, résolu de la même manière que les champs Card content iOS : à partir de l’événement du journey ou personnalisé avec un attribut d’événement.
Appuyer sur la notification ouvre l’app, comme pour un push classique.
Définir la bannière d’alerte
Anchor link toCette section ne s’applique que lorsque iOS Live Activity est activé. Si seul Android Live Updates est activé, ces champs sont masqués et rien n’est envoyé.
Pour les trois actions (Start, Update et End) :
- Dans Alert title, définissez le titre de la bannière affichée sur l’écran de verrouillage.
- Dans Alert text, définissez le texte de la bannière.

Choisir quel appareil reçoit la carte
Anchor link toL’adressage est défini une fois, sur Start. Laissez les deux interrupteurs éteints pour envoyer la carte à l’appareil sur lequel le voyageur est entré dans le journey. Activer l’un des interrupteurs désactive l’autre :
- Send to all devices of this user : envoyer à tous les appareils enregistrés sous le User ID de ce voyageur, pas seulement celui sur lequel il est entré.
- Send to the last active device only : envoyer au seul appareil que ce User ID a utilisé le plus récemment, au lieu de tous les appareils ou de l’appareil d’entrée.
Sur Update et End, vérifiez Delivery (from the start element). Cela nomme le mode d’adressage du Start lié. La mise à jour ne peut atteindre que la même carte, elle part donc de la même manière.
Personnaliser le contenu
Anchor link toUtilisez ceci lorsque les espaces réservés dans Alert title, Alert text, Card content, ou dans les champs Android Notification title, Notification text, Progress ou Header time doivent prendre des valeurs de l’événement du journey ou de l’entrée basée sur l’API plutôt que des tags de l’appareil.
- Sous Overwrite personalization, activez Personalise message with event attributes.
- Cochez la case Overwrite placeholder à côté de chaque espace réservé que vous souhaitez réaffecter.
- Associez cet espace réservé à un attribut d’événement.

Enregistrer l’élément
Anchor link toCliquez sur Apply pour enregistrer les paramètres de l’élément. Apply enregistre cet élément dans le journey. Cela ne confirme pas que la carte est apparue sur l’appareil. Une fois le journey en cours d’exécution, vérifiez Total entries et les abandons à cette étape, et vérifiez la carte sur un iPhone de test, un appareil de test sous Android 16 ou version ultérieure, ou les deux, selon les plateformes que vous avez activées.
Limitations
Anchor link to- Statistiques de l’élément : à cette étape, vérifiez Total entries, la ligne Delivery (mode d’adressage) et les abandons (No recipient for the card, Live Activity send failed). Utilisez No recipient for the card pour voir que la messagerie n’a trouvé aucun appareil pour les plateformes activées dans ce mode, et non que l’appareil n’avait pas de jeton Live Activity. Cette étape ne signale pas si l’appareil a affiché la carte ou si l’utilisateur l’a ouverte.
- Le son n’est pas garanti à chaque mise à jour : iOS limite lui-même le débit des alertes Live Activity. Une mise à jour identique peut jouer un son une fois et arriver silencieusement la fois suivante.
- De nombreuses actions Start à la suite pendant les tests : si vous envoyez environ dix actions Start pour la même personne en peu de temps (par exemple en testant le journey), Apple peut cesser d’afficher de nouvelles cartes sans renvoyer d’erreur. Dans le journey, la personne peut toujours apparaître comme livrée. Laissez un intervalle entre les exécutions de test.