Passer au contenu

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 to

Utilisez 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 to

Avant de configurer cet élément, vérifiez ce dont chaque plateforme a besoin.

Pour la carte iOS :

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
  1. Faites glisser l’élément Live Activity sur le canevas.

    Entrée Live Activity mise en surbrillance dans la liste des éléments de canal

  2. Double-cliquez sur l’élément pour ouvrir ses paramètres.

  3. Entrez un nom dans Step name.

  4. 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.
  5. 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.

    Action réglé sur Start, avec iOS Live Activity et Android Live Updates activés sous Platforms

  6. 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.

    Champs Card key: event et Card key: attribute sur un élément Start

Lier Update et End à la bonne carte

Anchor link to

Lorsque 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.

  1. 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.

Élément Update affichant Card created by et le Card key en lecture seule hérité du Start lié

Choisir la langue de la carte

Anchor link to

Card 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 to

Ignorez cette section si seul Android Live Updates est activé.

Choisir le widget et la version du schéma

Anchor link to
  1. 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.

  2. 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é.

    Champs Widget et Schema version sur un élément Start

Définir les attributs fixes de la carte (Start uniquement)

Anchor link to

Sur 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).

  1. Cliquez sur Add attribute.
  2. 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 to

Sous 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.

Card language réglé sur default, et les champs Card content gate, status et estimatedTime remplis pour un élément Start

Pré-remplissage sur Update et End

Anchor link to

Sur 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 default de 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
  1. 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.
  2. 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.

  3. 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 à 0 et 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.
  4. 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 à 0 pour ne pas définir de préférence. Pushwoosh n’envoie pas du tout de score 0 à Apple. Voir Plusieurs activités par appareil pour la vue d’ensemble.

Champs Delivery priority, Sound, Stale after et Relevance score sur un élément Start

Remplir la notification Android

Anchor link to

Remplissez 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.

  1. 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.

  2. Définissez Notification text.

    En-tête de la section Android Live Updates avec texte d'aide, et champs Notification title et text remplis

  3. 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 (#RRGGBB ou #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 réglé sur 65, interrupteurs Animate the bar et Hide the progress bar désactivés, et deux Segments remplis

  4. 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, 1735689600 correspond 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 vide, Header time after réglé sur 8 minutes, Run the header time as a timer activé, Count down to the header time et Hide the header time désactivés

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 to

Cette 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) :

  1. Dans Alert title, définissez le titre de la bannière affichée sur l’écran de verrouillage.
  2. Dans Alert text, définissez le texte de la bannière.

Champs Alert title et Alert text remplis pour un élément Start

Choisir quel appareil reçoit la carte

Anchor link to

L’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 to

Utilisez 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.

  1. Sous Overwrite personalization, activez Personalise message with event attributes.
  2. Cochez la case Overwrite placeholder à côté de chaque espace réservé que vous souhaitez réaffecter.
  3. Associez cet espace réservé à un attribut d’événement.

Bloc Overwrite personalization avec le bouton Personalise message with event attributes activé

Enregistrer l’élément

Anchor link to

Cliquez 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.