Actions
Le panneau Interactions vous permet de définir comment les éléments du flow réagissent aux événements — comme les appuis, l’apparition d’éléments et les soumissions de formulaires. Pour chaque événement, vous assignez une ou plusieurs actions : naviguer entre les écrans, afficher ou masquer des éléments, ouvrir des URLs, définir des variables, et plus encore. Utilisez des conditions pour personnaliser le flow en fonction des données de l’utilisateur.
Chaque interaction suit une chaîne en trois parties :
- Élément : Le composant de l’écran qui démarre l’interaction — un bouton, une réponse de quiz, un champ de saisie, ou autre chose.
- Déclencheur : L’événement qui active la logique, comme un appui, l’apparition d’un élément, ou la soumission d’un formulaire.
- Action : La tâche que le flow exécute en réponse. Un seul déclencheur peut exécuter plusieurs actions en séquence.
Configurer les interactions
Pour configurer une interaction :
- Sélectionnez un élément sur l’écran ou dans le panneau Layers.
- À droite, passez au panneau Interactions et cliquez sur Add trigger.
- Dans la section Button triggers, sélectionnez le type de déclencheur.
- Cliquez sur Add action, cliquez sur le nom de l’action et sélectionnez un type d’action dans le menu déroulant de la fenêtre Edit action.
- Configurez les propriétés de l’action en fonction du type d’action que vous avez sélectionné.
- Si nécessaire, cliquez sur Add action pour ajouter d’autres actions pour le même déclencheur.
Types de déclencheurs
Les déclencheurs se déclenchent en réponse au comportement de l’utilisateur, aux changements d’état des éléments ou au chargement de l’écran. On screen appear est universel ; les autres sont spécifiques aux éléments.
| Déclencheur | Se déclenche quand… | Pris en charge sur |
|---|---|---|
| On screen appear | L’écran se charge | Tous les éléments |
| On tap | L’utilisateur appuie sur l’élément | Boutons, options de quiz, bascules, comptes à rebours, vidéos |
| On changed | L’utilisateur modifie la valeur de la saisie (frappe, sélection d’une date ou d’une heure) | Tous les éléments de saisie |
| On submit | L’utilisateur soumet une saisie de texte en appuyant sur Entrée ou Terminé sur le clavier | Saisies textuelles |
| On timer end | Un élément Countdown atteint zéro | Countdown |
| On playback finished | Une Vidéo atteint la fin | Vidéo |
Pour les éléments sans interactions intégrées (comme le Loader), On screen appear est le seul déclencheur disponible.
Types d’actions
Toute action de navigation qui déplace l’utilisateur vers un écran différent doit toujours être la dernière action de la liste. Les actions placées après elle (comme “Set Variable”) peuvent ne pas s’exécuter car l’application a déjà changé d’écran.
Naviguer vers un écran
C’est l’action principale pour déplacer les utilisateurs entre les écrans. Elle emmène l’utilisateur vers un écran de destination spécifié.
Pour cette action, vous n’avez besoin de configurer que l’écran de destination. Si vous souhaitez activer une navigation dynamique, consultez Navigation et branchement ou la section Actions conditionnelles.
Naviguer vers le suivant
Avance l’utilisateur vers l’écran suivant dans l’ordre des écrans du flow. Utilisez ceci pour les flows linéaires, où l’ordre des écrans dans l’éditeur correspond à l’ordre dans lequel vous souhaitez que les utilisateurs les voient.
Naviguer vers le précédent
Renvoie l’utilisateur à l’écran précédent dans son historique de navigation, plutôt qu’à l’écran précédent dans la séquence.
Ouvrir une URL
Utilisez les liens en ligne pour insérer des liens dans du texte continu.
Ouvre une adresse web spécifique. Utilisez ceci pour envoyer les utilisateurs vers des pages web, des articles ou des profils de réseaux sociaux en dehors des écrans natifs de votre application.
Pour cette action, vous pouvez configurer deux paramètres :
- URL address : Définissez une adresse URL. De plus, vous pouvez la rendre dynamique — par exemple, pour naviguer les utilisateurs vers différentes pages en fonction de leur réponse à un quiz ou des données qu’ils ont soumises. Pour ce faire, cliquez sur
et sélectionnez la variable que vous souhaitez utiliser. - Open in external browser : Définissez où vous souhaitez ouvrir les liens externes. Par défaut, ils s’ouvrent dans un navigateur intégré à l’application pour garder les utilisateurs dans l’app. Cochez la case Open in external browser si vous souhaitez ouvrir les liens dans un navigateur externe.
Fermer le flow
Ferme le flow actuel.
Afficher/masquer des éléments
Affiche ou masque un élément spécifique sur l’écran.
Cette action remplace l’état initial défini dans Visibility dans le panneau Design. Si Visibility est défini sur Hide, l’action Show le fera apparaître.
Une action Show ou Hide sans élément cible bloque l’aperçu et la publication. Sélectionnez une cible ou supprimez l’action.
Afficher une alerte
Affiche une fenêtre pop-up système native. Les utilisateurs doivent appuyer sur Ok pour continuer.
Pour les alertes, vous devez configurer leur Title et leur Message. Dans les deux, vous pouvez utiliser des variables pour rendre le contenu dynamique. Pour ce faire, cliquez sur
et sélectionnez la variable que vous souhaitez utiliser.
Une action Show alert avec une configuration vide ou incomplète bloque l’aperçu et la publication. Remplissez les deux champs ou supprimez l’action.
Définir une variable
Met à jour la valeur d’une variable dans le flow. Avant d’ajouter cette action, créez des variables dans le panneau Variables à gauche (voir Variables).
Cliquez sur Add variable et définissez autant de variables et de valeurs que nécessaire.
Une action Set variable sans assignation bloque l’aperçu et la publication. Configurez au moins une assignation ou supprimez l’action.
Achat
Déclenche un flow d’achat directement depuis un bouton ou une interaction dans votre onboarding. Utilisez ceci pour permettre aux utilisateurs de s’abonner ou d’acheter un produit sans quitter le flow.
Vous pouvez configurer deux comportements pour cette action :
- In-app store : Initie un achat natif. Définissez Product sur un produit spécifique, ou sur
products.selectedProductpour la sélection actuelle de l’utilisateur sur l’écran. - Web payment : Envoie l’utilisateur vers un paywall web au lieu de déclencher un achat natif. Utilisez ceci lorsque vous souhaitez gérer la transaction en dehors de l’application, par exemple pour des offres d’abonnement basées sur le web.
Une action Purchase sans Product cible ou Web Paywall URL bloque l’aperçu et la publication. Assignez une cible ou supprimez l’action.
Restaurer les achats
Déclenche le flow de restauration des achats sur l’appareil. Les utilisateurs appuient sur ceci lorsqu’ils ont précédemment acheté un abonnement sur un autre appareil ou après avoir réinstallé l’application, et ont besoin de récupérer l’accès à leurs droits.
Il n’y a rien à configurer pour cette action — Adapty gère la restauration via le flow natif du store.
L’action Restore purchases est également préconfigurée sur le lien Restore dans le préréglage de bouton Links (voir Configurer les achats).
Actions personnalisées
Une action personnalisée déclenche un Action ID nommé que votre propre code d’application gère. Utilisez-la lorsque les types d’actions intégrés ne couvrent pas ce dont vous avez besoin.
Adapty fournit le déclencheur ; votre application implémente le comportement :
- Dans le builder, vous assignez un Action ID à l’interaction d’un élément.
- Lorsque l’utilisateur déclenche l’interaction, le flow transmet l’ID à votre application.
- Votre application correspond à l’ID et exécute votre code.
Configurer une action personnalisée
- Dans la fenêtre Edit action, assignez un Action ID — une chaîne que votre application reconnaîtra (par exemple,
show_discount). - Dans le code de votre application, implémentez un gestionnaire pour cet Action ID. Consultez Gérer les actions de paywall pour les détails d’implémentation et des exemples de code.
Une action Custom sans Action ID bloque l’aperçu et la publication. Assignez un Action ID ou supprimez l’action.
Ce que vous pouvez faire avec les actions personnalisées
Une action personnalisée ne fait rien par elle-même. Vous définissez un Action ID statique dans le builder, et votre code d’application gère ce qui se passe lorsqu’il reçoit cet ID. Chaque cas d’utilisation ci-dessous suit le même schéma : assignez un ID dans le flow, puis gérez-le dans votre code.
- Déclencher un événement in-app : Envoyez un ID comme
viewed_special_offer, puis enregistrez l’événement dans vos analytics lorsque votre application le reçoit. - Demander une permission système : Envoyez un ID comme
request_location, puis appelez la fenêtre de permission du système depuis votre application. Pour les permissions que la fenêtre ne peut pas accorder, ouvrez plutôt les paramètres système du téléphone. Adapty n’affiche pas la fenêtre — c’est votre application qui le fait. - Démarrer une authentification native : Envoyez un ID comme
login_google, puis affichez votre propre écran de connexion. Le flow ne peut pas connecter l’utilisateur. - Appliquer une logique métier : Envoyez un ID comme
apply_discount, puis déverrouillez du contenu ou modifiez l’état de l’application de votre côté. - Transmettre une réponse de quiz à votre application : Assignez un Action ID différent à chaque option (par exemple,
goal_weight_lossetgoal_muscle), puis lisez l’ID dans votre code. Utilisez l’ID pour définir un attribut utilisateur personnalisé sur lequel vous pouvez segmenter ultérieurement. Comme l’action ne porte qu’un ID fixe, c’est le seul moyen de rapporter le choix — le flow ne peut pas envoyer la valeur sélectionnée.
Une action personnalisée se déclenche au moment où l’utilisateur sélectionne une option. Si l’utilisateur change sa réponse, le flow déclenche également le nouvel Action ID. Votre application reçoit alors les deux dans l’ordre — par exemple, goal_weight_loss, puis goal_muscle. Rendez votre gestionnaire idempotent pour que le dernier signal l’emporte.
Ce que les actions personnalisées ne peuvent pas faire
Les actions personnalisées sont statiques. L’Action ID est fixé lorsque vous construisez le flow — il ne peut pas lire les variables ni les saisies utilisateur. Lorsque l’action se déclenche, votre application ne reçoit que cet ID, jamais l’email, le numéro de téléphone ou toute autre saisie faite par l’utilisateur. Les champs de saisie restent dans le flow sous forme de variables pour le branchement et la personnalisation. Pour utiliser ces valeurs dans votre application, collectez-les via votre propre interface ou API.
Les actions personnalisées sont également unidirectionnelles. Votre application ne peut pas renvoyer de résultat au flow, et le flow n’attend pas que votre code se termine. Si une action Navigate next suit l’action personnalisée, l’utilisateur passe à l’écran suivant même si votre code échoue — par exemple, lorsque l’utilisateur ferme votre écran de connexion sans se connecter. Combiné avec l’Action ID statique, cela exclut la validation de la saisie utilisateur dans votre application — par exemple, vérifier un code SMS saisi par l’utilisateur et brancher en fonction du résultat. Si la suite du flow dépend de ce que votre code a fait, divisez le flow entre deux placements.
Continuer le flow en fonction du résultat
Si certains écrans ne doivent apparaître qu’après la réussite d’une action personnalisée — par exemple, des écrans qui suivent une connexion — divisez le flow entre deux placements et laissez votre application décider quand afficher la deuxième partie :
- Dans le premier placement, créez un flow qui se termine par une action personnalisée (par exemple,
login). - Dans votre application, gérez l’Action ID : affichez votre écran de connexion et vérifiez si l’utilisateur s’est connecté.
- Si l’utilisateur s’est connecté, affichez le flow du deuxième placement avec les écrans de suivi.
Ainsi, votre application contrôle la transition en fonction du résultat réel, au lieu que le flow navigue en avant indépendamment du résultat.
Actions conditionnelles
Utilisez les actions conditionnelles pour diviser le flow en différents chemins selon les données de l’utilisateur.
Quelques cas d’utilisation courants :
- Vous avez un quiz sur l’écran et souhaitez naviguer les utilisateurs vers différents écrans en fonction de leurs réponses. Dans ce cas, ajoutez une action conditionnelle à un bouton.
- Vous souhaitez proposer différents produits et offres à différents groupes d’utilisateurs. Placez-les sur différents écrans et configurez des conditions pour un bouton de navigation.
- Vous souhaitez ignorer certaines étapes pour les utilisateurs qui ont déjà terminé un tutoriel lors d’une session précédente.
Les actions conditionnelles fonctionnent comme une chaîne if / else-if / else. L’application lit les règles de haut en bas et s’arrête à la première correspondance :
- IF : Le flow vérifie la condition principale.
- Est-elle Vraie ? Le flow exécute immédiatement les actions THEN et s’arrête.
- Est-elle Fausse ? Le flow passe à la section suivante.
- ELSE IF : Vous pouvez ajouter des vérifications supplémentaires ici (par exemple, “Si pas Premium, l’utilisateur est-il en période d’essai ?”).
- ELSE (Repli) : Si aucune des règles ci-dessus ne correspond, le flow exécute les actions de cette dernière section.
- Si une règle est ajoutée mais qu’aucune action ne lui est assignée, la correspondance avec la condition ne fait rien.
- Une règle incomplète (sans opérateur ou valeur) bloque l’aperçu et la publication.
Pour chaque règle, sélectionnez une variable à évaluer et une action à exécuter. Vous pouvez définir plusieurs actions par règle.
Le flow n’exécute qu’une seule règle — la première qui correspond. Si vous devez exécuter à la fois IF et ELSE IF en même temps, ajoutez les deux actions à IF.
Pour savoir comment rendre les éléments sélectionnables et les organiser en groupes pour les utiliser dans des conditions, consultez Éléments sélectionnables et groupes.
Dépannage
Toute action avec des champs obligatoires manquants bloque l’aperçu et la publication. Consultez Enregistrer et publier des flows pour la liste complète.