Récupérer les onboardings dans le SDK Flutter

Warning

Les onboardings sont dépréciés à partir du SDK Adapty v4. Créez des flows à la place : contrairement aux onboardings, qui s’exécutent dans une WebView, les flows s’affichent nativement sur l’appareil — animations plus fluides, aspect natif cohérent, temps de chargement réduits et aucune dépendance à l’environnement WebView.

Après avoir conçu la partie visuelle de votre onboarding avec le builder dans l’Adapty Dashboard, vous pouvez l’afficher dans votre application Flutter. La première étape consiste à récupérer l’onboarding associé au placement et sa configuration d’affichage, comme décrit ci-dessous.

Avant de commencer, assurez-vous que :

  1. Vous avez installé le SDK Flutter Adapty version 3.8.0 ou supérieure.
  2. Vous avez créé un onboarding.
  3. Vous avez ajouté l’onboarding à un placement.

Récupérer un onboarding

Lorsque vous créez un onboarding avec notre éditeur no-code, il est stocké sous forme de conteneur de configuration que votre application doit récupérer et afficher. Ce conteneur gère l’ensemble de l’expérience : le contenu affiché, la manière dont il est présenté, et la façon dont les interactions utilisateur (comme les réponses à un quiz ou les saisies de formulaire) sont traitées. Il assure également le suivi automatique des événements analytiques, ce qui vous dispense d’implémenter un suivi des vues séparé.

Pour de meilleures performances, récupérez la configuration de l’onboarding tôt afin de laisser suffisamment de temps aux images de se télécharger avant d’être affichées aux utilisateurs.

Pour récupérer un onboarding, utilisez la méthode getOnboarding :

try {
  final onboarding = await Adapty().getOnboarding(placementId: "YOUR_PLACEMENT_ID");
} on AdaptyError catch (e) {
    //handle error
} catch (e) { 
    //handle error
}

Ensuite, appelez la méthode createOnboardingView pour obtenir la vue que vous afficherez.

Warning

Le résultat de la méthode createOnboardingView ne peut être utilisé qu’une seule fois. Si vous avez besoin de l’utiliser à nouveau, appelez de nouveau la méthode createOnboardingView. L’appeler deux fois sans recréer peut entraîner l’erreur AdaptyUIError.viewAlreadyPresented.


try {
    final onboardingView = await Adapty().createOnboardingView(onboarding: onboarding);
} on AdaptyError catch (e) { 
    //handle error
} catch (e) { 
    //handle error
}

Paramètres :

ParamètrePrésenceDescription
placementIdobligatoireL’identifiant du Placement souhaité. Il s’agit de la valeur que vous avez spécifiée lors de la création d’un placement dans l’Adapty Dashboard.
locale

optionnel

défaut : en

L’identifiant de la localisation de l’onboarding. Ce paramètre doit être un code de langue composé d’un ou deux sous-tags séparés par le caractère tiret (-). Le premier sous-tag correspond à la langue, le second à la région.

Exemple : en désigne l’anglais, pt-br représente le portugais du Brésil.

fetchPolicydéfaut : .reloadRevalidatingCacheData

Par défaut, le SDK tente de charger les données depuis le serveur et retourne les données en cache en cas d’échec. Nous recommandons cette option car elle garantit que vos utilisateurs reçoivent toujours les données les plus récentes.

Cependant, si vous pensez que vos utilisateurs sont souvent confrontés à une connexion instable, envisagez d’utiliser .returnCacheDataElseLoad pour retourner les données en cache si elles existent. Dans ce cas, les utilisateurs n’obtiendront peut-être pas les toutes dernières données, mais ils bénéficieront de temps de chargement plus rapides, quelle que soit la qualité de leur connexion. Le cache est mis à jour régulièrement, il est donc sûr de l’utiliser pendant la session pour éviter les requêtes réseau.

Notez que le cache reste intact au redémarrage de l’application et n’est effacé qu’à la réinstallation de l’application ou lors d’un nettoyage manuel.

Le SDK Adapty stocke les onboardings localement sur deux couches : le cache mis à jour régulièrement décrit ci-dessus et les onboardings de secours. Nous utilisons également un CDN pour récupérer les onboardings plus rapidement et un serveur de secours indépendant au cas où le CDN serait inaccessible. Ce système est conçu pour garantir que vous disposez toujours de la dernière version de vos onboardings, tout en assurant la fiabilité même lorsque la connexion internet est limitée.

loadTimeoutdéfaut : 5 sec

Cette valeur limite le délai d’attente de cette méthode. Si le délai est dépassé, les données en cache ou le fallback local seront retournés.

Notez que dans de rares cas, cette méthode peut expirer légèrement après le délai spécifié dans loadTimeout, car l’opération peut reposer sur différentes requêtes en arrière-plan.

Paramètres de réponse

ParamètreDescription
OnboardingUn objet AdaptyOnboarding contenant : l’identifiant et la configuration de l’onboarding, le Remote Config, ainsi que plusieurs autres propriétés.

Accélérer la récupération de l’onboarding avec l’onboarding de l’audience par défaut

En règle générale, les onboardings sont récupérés presque instantanément, vous n’avez donc pas à vous soucier d’accélérer ce processus. Cependant, si vous avez de nombreuses audiences et onboardings et que vos utilisateurs ont une connexion internet faible, la récupération d’un onboarding peut prendre plus de temps que souhaité. Dans ces situations, vous pouvez afficher un onboarding par défaut pour garantir une expérience utilisateur fluide plutôt que de ne rien afficher du tout.

Pour y remédier, vous pouvez utiliser la méthode getOnboardingForDefaultAudience, qui récupère l’onboarding du placement spécifié pour l’audience All Users. Il est toutefois essentiel de comprendre que l’approche recommandée est de récupérer l’onboarding via la méthode getOnboarding, comme décrit dans la section Récupérer l’onboarding ci-dessus.

Warning

Privilégiez getOnboarding plutôt que getOnboardingForDefaultAudience, car cette dernière présente des limitations importantes :

  • Problèmes de compatibilité : peut créer des difficultés lors de la prise en charge de plusieurs versions d’application, nécessitant soit des designs rétrocompatibles, soit d’accepter que les anciennes versions s’affichent incorrectement.
  • Aucune personnalisation : affiche uniquement le contenu pour l’audience « Tous les utilisateurs », sans ciblage basé sur le pays, l’attribution ou les attributs personnalisés.

Si la rapidité de récupération compense ces inconvénients pour votre cas d’usage, utilisez getOnboardingForDefaultAudience comme indiqué ci-dessous. Sinon, utilisez getOnboarding comme décrit ci-dessus.

try {
    final onboarding = await Adapty().getOnboardingForDefaultAudience(placementId: 'YOUR_PLACEMENT_ID');
} on AdaptyError catch (adaptyError) {
    // handle error
} catch (e) {
    // handle unknown error
}

Paramètres :

ParamètrePrésenceDescription
placementIdrequisL’identifiant du Placement souhaité. Il s’agit de la valeur que vous avez spécifiée lors de la création d’un placement dans l’Adapty Dashboard.
locale

optionnel

défaut : en

L’identifiant de la localisation de l’onboarding. Ce paramètre doit être un code de langue composé d’un ou deux sous-tags séparés par le caractère moins (-). Le premier sous-tag correspond à la langue, le second à la région.

Exemple : en désigne l’anglais, pt-br représente le portugais brésilien.

fetchPolicydéfaut : .reloadRevalidatingCacheData

Par défaut, le SDK tente de charger les données depuis le serveur et renvoie les données en cache en cas d’échec. Nous recommandons cette option, car elle garantit que vos utilisateurs reçoivent toujours les données les plus récentes.

Cependant, si vous pensez que vos utilisateurs ont une connexion internet instable, envisagez d’utiliser .returnCacheDataElseLoad pour renvoyer les données en cache si elles existent. Dans ce cas, les utilisateurs pourraient ne pas obtenir les toutes dernières données, mais ils bénéficieront de temps de chargement plus rapides, quelle que soit la qualité de leur connexion. Le cache est mis à jour régulièrement, il est donc sûr de l’utiliser en cours de session pour éviter les requêtes réseau.

Notez que le cache est conservé lors du redémarrage de l’application et n’est effacé que lors d’une réinstallation ou via un nettoyage manuel.

Le SDK Adapty stocke les onboardings localement en deux couches : le cache régulièrement mis à jour décrit ci-dessus et les onboardings de secours. Nous utilisons également un CDN pour récupérer les onboardings plus rapidement, ainsi qu’un serveur de secours indépendant en cas d’inaccessibilité du CDN. Ce système est conçu pour vous garantir toujours la dernière version de vos onboardings tout en assurant la fiabilité, même lorsque la connexion internet est limitée.