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 :

  1. É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.
  2. Déclencheur : L’événement qui active la logique, comme un appui, l’apparition d’un élément, ou la soumission d’un formulaire.
  3. 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 :

  1. Sélectionnez un élément sur l’écran ou dans le panneau Layers.
  2. À droite, passez au panneau Interactions et cliquez sur Add trigger.
Add trigger button
  1. Dans la section Button triggers, sélectionnez le type de déclencheur.
Trigger type selection
  1. 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.
Add action button
  1. Configurez les propriétés de l’action en fonction du type d’action que vous avez sélectionné.
  2. 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éclencheurSe déclenche quand…Pris en charge sur
On screen appearL’écran se chargeTous les éléments
On tapL’utilisateur appuie sur l’élémentBoutons, options de quiz, bascules, comptes à rebours, vidéos
On changedL’utilisateur modifie la valeur de la saisie (frappe, sélection d’une date ou d’une heure)Tous les éléments de saisie
On submitL’utilisateur soumet une saisie de texte en appuyant sur Entrée ou Terminé sur le clavierSaisies textuelles
On timer endUn élément Countdown atteint zéroCountdown
On playback finishedUne Vidéo atteint la finVidé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.

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.

Navigate to screen

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.

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 Variable icon 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.
Open URL

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 Variable icon 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.

Show alert

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.

Set variable

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.selectedProduct pour 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.

Purchase action configuration in the Edit action window

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 :

  1. Dans le builder, vous assignez un Action ID à l’interaction d’un élément.
  2. Lorsque l’utilisateur déclenche l’interaction, le flow transmet l’ID à votre application.
  3. Votre application correspond à l’ID et exécute votre code.

Configurer une action personnalisée

  1. Dans la fenêtre Edit action, assignez un Action ID — une chaîne que votre application reconnaîtra (par exemple, show_discount).
  2. 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.

Custom action configuration with Action ID field in the Edit action window

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_loss et goal_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 :

  1. Dans le premier placement, créez un flow qui se termine par une action personnalisée (par exemple, login).
  2. Dans votre application, gérez l’Action ID : affichez votre écran de connexion et vérifiez si l’utilisateur s’est connecté.
  3. 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 :

  1. 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.
  2. 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 ?”).
  3. 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.

Conditional actions

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.