Problèmes courants
Cet article regroupe les problèmes les plus fréquents lors de la création d’un flow dans le Flow & Paywall Builder, chacun accompagné de sa cause et de sa solution.
Un flow refuse de s’afficher en aperçu ou de se publier
Vous pouvez rencontrer les erreurs suivantes lorsque vous tentez d’afficher un aperçu ou de publier le flow :
| Message | Cause et solution |
|---|---|
| No product selected | Une carte produit n’a pas de produit. Sélectionnez-en un ou supprimez la carte. |
| This product no longer exists, This offer no longer exists | Le produit ou l’offre a été supprimé de votre Dashboard. Choisissez-en un autre là où il est utilisé, ou utilisez Replace in N places sur l’entrée Missing dans le panneau Products pour corriger toutes les occurrences sur l’écran en une seule fois. |
| This product is off this screen, This offer is off this screen | Une variable texte, une condition ou une action fait référence à un produit qui ne figure pas dans la liste de l’écran, par exemple après l’avoir supprimé dans le panneau Products. Rajoutez le produit dans le panneau, ou modifiez la référence. |
| Offer required | offer_price, offer_billing_period ou offer_full_duration est utilisé avec un produit qui n’a pas d’offre. Choisissez une offre pour le produit, ou utilisez plutôt une variable prod_*. |
| Product reference is invalid | Une référence de produit est mal formée. Resélectionnez le produit. |
| Purchase action has no product to buy | Une action Purchase n’a pas de produit : soit elle est vide, soit elle pointe vers une carte supprimée. Dans l’onglet Interactions de l’élément, définissez Product sur un produit ou sur products.selectedProduct. |
| Select product action has no product to select | La carte vers laquelle pointait une action Select product a disparu : supprimée, déplacée hors de son groupe de produits, ou placée sur un autre écran. Dans l’onglet Interactions de l’élément, faites pointer l’action vers une carte de cet écran. |
| Flow has no screens, Screen ”…” has no elements | Ajoutez du contenu à l’écran vide, ou supprimez-le. Un flow qui ne contient que du contenu Remote Config est exempté. |
| Invalid interaction action | Une action est incomplète : Open URL sans URL, Navigate to screen sans destination, Set variable sans affectation, Custom sans identifiant d’action, Show alert sans titre ni message, Show ou Hide sans élément, un paiement web Purchase sans URL de paywall web. Ouvrez les interactions de l’élément et complétez ou supprimez l’action. |
| Missing navigation target | Une action Navigate to screen pointe vers un écran qui a été supprimé. Choisissez un écran existant ou supprimez l’action. |
| Missing product target, Invalid product target, Product target on another screen, Ambiguous product target, Select Product inside a component | Une action Select product cible une carte qui a été supprimée, qui ne fait pas partie d’un groupe de produits, qui se trouve sur un autre écran, dont l’identifiant d’élément est partagé avec un élément d’un autre écran, ou qui se trouve dans un pied de page ou en-tête partagé entre plusieurs écrans. Faites pointer l’action vers une carte appartenant à un groupe de produits sur le même écran, avec un identifiant unique. |
| Missing selectable group | Un élément pointe vers un groupe sélectionnable qui n’existe plus. Reconnectez-le ou recréez le groupe. |
| Invalid visibility condition | Une règle de visibilité conditionnelle est incomplète. Complétez-la dans le générateur de conditions. |
| Missing Default Locale Content | Une action Open URL a une URL dans une autre langue mais aucune dans la langue par défaut. Ajoutez l’URL par défaut dans le panneau Localizations. |
| Missing product reference | Un flow plus ancien utilise un produit qui n’est pas enregistré sur l’écran. Ouvrez l’écran et ajoutez le produit dans le panneau Products. |
Prévisualisez le flow dans l’application Adapty régulièrement pendant la construction. Un flow qui ne peut pas être publié ne se chargera pas non plus, et le message d’erreur identifie le problème.
Pour savoir si votre flow est prêt pour la production, exécutez le skill flow-audit. Il vérifie ce que les erreurs de publication ne couvrent pas : boutons inactifs, conformité au store, textes inachevés et couverture des traductions. Pour chaque problème, le rapport indique l’élément et son écran.
La publication échoue avec « Something went wrong » sans détails

La requête de publication a échoué du côté d’Adapty, pas à cause de votre flow. Votre version en ligne reste inchangée. Attendez quelques minutes et publiez à nouveau. Si l’échec persiste, copiez le Request ID affiché dans la notification et envoyez-le à support@adapty.io pour que l’équipe puisse localiser la requête en échec.
Une offre ne s’applique pas lors de l’achat
Le builder vérifie uniquement que l’offre existe toujours dans Adapty. C’est le store qui décide si la réduction s’applique au moment de l’achat : les offres de lancement dépendent de l’éligibilité du client, et les offres promotionnelles App Store nécessitent une clé d’achat intégré valide. Ces deux cas sont traités dans Incohérences de produit et de prix.
Le prix d’une offre est vide dans l’aperçu
L’aperçu du builder ne peut pas accéder aux stores, donc offer_price, offer_billing_period et offer_full_duration affichent le nom de la variable entre accolades au lieu d’une valeur. Ces variables sont résolues lorsque le SDK affiche le flow dans votre application. Pour prévisualiser les conditions qui dépendent du type d’offre, consultez Prévisualiser les produits et offres.
La publication échoue après avoir saisi une couleur hex abrégée
Saisissez chaque couleur sous la forme de six chiffres hexadécimaux, par exemple #FFFFFF. Le champ couleur accepte une valeur plus courte sans jamais la développer : une forme abrégée comme #FFF parvient donc à la configuration du SDK sous une forme invalide et la publication est rejetée. L’opacité n’a rien à voir là-dedans — la même valeur échoue à 100 % d’opacité. Le cas le plus trompeur est une valeur à quatre chiffres : elle est publiée, mais affiche une couleur que vous n’avez pas choisie.
Les modifications typographiques n’atteignent pas un état d’élément
Une fois qu’un état, comme Selected, possède ses propres paramètres typographiques, les modifications apportées à la typographie de l’état Default — y compris l’application d’un style de texte différent — n’affectent pas cet état. Modifiez directement la typographie de l’état concerné.
Les éléments perdent leur style après la suppression d’un style de texte
Supprimer un style de texte ne copie pas ses paramètres dans les éléments qui l’utilisent : ces éléments reviennent à la typographie par défaut. Avant de supprimer un style, réaffectez les éléments concernés à un autre style ou définissez manuellement leur typographie.
Les contrôles de position, taille et espacement sont absents pour un élément
L’élément et son conteneur utilisent tous deux la direction Free. Cela ne laisse qu’une seule position et taille possible : Absolute, avec une largeur et une hauteur fixes. Adapty masque les contrôles pour tout le reste — le bouton Position, la section Spacing, ainsi que les options Fill et Hug. Pour retrouver ces contrôles, changez la Direction de l’élément en Vertical ou Horizontal.
Les conditions et variables se cassent après un changement d’identifiant d’élément
Les conditions et variables texte référencent les éléments par leur Element ID (identifiant d’élément). Si vous modifiez cet identifiant, les références ne sont pas mises à jour automatiquement — elles cessent silencieusement de fonctionner. Définissez l’identifiant avant de l’utiliser comme référence. Si vous devez le modifier, mettez à jour chaque condition et variable qui s’y réfère. Exception : les segments de barre de progression — renommer un segment met automatiquement à jour ses références.
Une condition ou variable renvoie une valeur vide
Le sélecteur de variables liste les champs de tous les écrans, donc une condition ou une variable texte peut faire référence à une saisie que l’utilisateur n’a pas encore remplie. À l’exécution, cette référence renvoie une valeur vide. Ne faites référence qu’aux champs collectés plus tôt dans le flow.
Les utilisateurs voient la valeur initiale d’un tag personnalisé au lieu de celle de votre application
Les utilisateurs voient la valeur initiale d’un tag personnalisé dans les cas suivants :
- Votre application ne passe aucune valeur : Le code qui ouvre le flow ne passe pas de valeur pour le tag, ou l’utilisateur n’a pas mis à jour votre application vers la version qui le fait.
- Le nom ne correspond pas : Le nom dans le code de votre application est différent du nom du tag dans le builder. Les noms sont sensibles à la casse et incluent le groupe. Par exemple, si le groupe
usercontient un tagstreak, le nom exact du tag estuser.streak. - Un autre tag dans le même élément de texte n’a pas de valeur : Si un tag personnalisé dans un élément de texte n’a pas de valeur, tous les tags de cet élément affichent leur valeur initiale. Passez une valeur pour chaque tag personnalisé dans l’élément de texte.
L’application mobile Adapty ne transmet aucune valeur pour les tags personnalisés, donc son aperçu n’affiche que les valeurs initiales. Pour voir les valeurs transmises par votre application, ouvrez le flow dans une version de votre application.
Les utilisateurs ne voient rien à la place d’une balise personnalisée
Les utilisateurs ne voient rien à la place d’une balise personnalisée dans les cas suivants :
- Votre application transmet une chaîne vide : Adapty considère une chaîne vide comme une valeur, donc la valeur initiale n’apparaît pas en tant que solution de repli. Pour afficher la valeur initiale à la place, ne transmettez aucune valeur pour la balise.
- La balise n’a pas de valeur initiale : Pour afficher une solution de repli lorsque votre application ne transmet aucune valeur, saisissez une valeur initiale pour la balise.
L’action Set variable ne change pas le produit sélectionné
Le produit sélectionné n’est pas une variable que vous pouvez affecter, donc Set variable ne peut pas modifier la sélection. Utilisez l’action Select product à la place.
Une image ou une vidéo ne se télécharge pas
Un fichier qui dépasse les limites du Flow & Paywall Builder ne se téléchargera pas. Vérifiez le fichier par rapport aux exigences d’Image et de Vidéo :
| Élément | Formats | Taille maximale | Autres limites |
|---|---|---|---|
| Image | .JPG, .PNG, .WEBP | 20 Mo | — |
| Vidéo | .MP4, .WEBM | 50 Mo | 30 secondes maximum ; 640×640 pixels minimum |
Ces formats ne sont pas pris en charge :
- GIF animés et WEBP animés : pour ajouter du mouvement, utilisez un élément Vidéo à la place.
- SVG : exportez le fichier en PNG ou WEBP. Pour les icônes, vous n’avez rien à uploader — l’élément Icône puise dans la bibliothèque Tabler Icons intégrée.
Un pied de page ne s’affiche pas
Un pied de page s’affiche uniquement sur un écran où le Défilement vertical est activé. Activez le Défilement vertical dans Screen settings > Scroll.