Récupérer les onboardings dans le SDK Capacitor

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 Adapty Dashboard, vous pouvez l’afficher dans votre application Capacitor. 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, vérifiez que :

  1. Vous avez créé un onboarding.
  2. Vous avez ajouté l’onboarding à un placement.

Récupérer l’onboarding

Lorsque vous créez un onboarding avec notre éditeur no-code, il est stocké sous forme de conteneur avec une configuration que votre application doit récupérer et afficher. Ce conteneur gère l’ensemble de l’expérience — le contenu affiché, sa présentation et le traitement des interactions utilisateur (comme les réponses à un quiz ou les saisies de formulaire). Le conteneur suit également automatiquement les événements analytiques, ce qui vous évite d’implémenter un suivi des vues séparément.

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

Pour obtenir un onboarding, utilisez la méthode getOnboarding :


try {
  const onboarding = await adapty.getOnboarding({ 
    placementId: 'YOUR_PLACEMENT_ID', 
    locale: 'en',
    params: {
      fetchPolicy: 'reload_revalidating_cache_data', // Load from server, fallback to cache
      loadTimeoutMs: 5000 // 5 second timeout
    }
  });
  console.log('Onboarding fetched successfully');
} catch (error) {
  console.error('Failed to fetch onboarding:', error);
}

Ensuite, appelez la méthode createOnboardingView pour créer une instance de vue.

Warning

Le résultat de la méthode createOnboardingView ne peut être utilisé qu’une seule fois. Si vous en avez besoin à nouveau, appelez à nouveau la méthode createOnboardingView.


if (onboarding.hasViewConfiguration) {
  try {
    const view = await createOnboardingView(onboarding);
    console.log('Onboarding view created successfully');
  } catch (error) {
    console.error('Failed to create onboarding view:', error);
  }
} else {
  // Use your custom logic
  console.log('Onboarding does not have view configuration');
}

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

par défaut : en

L’identifiant de la localisation de l’onboarding. Ce paramètre doit être un code de langue composé d’une ou deux sous-balises séparées par le caractère moins (-). La première sous-balise correspond à la langue, la seconde à la région.

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

Consultez Localisations et codes de langue pour plus d’informations sur les codes de langue et notre façon de les utiliser.

params.fetchPolicy

optionnel

par défaut : 'reload_revalidating_cache_data'

Par défaut, le SDK essaie 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 disposent toujours des données les plus récentes.

Cependant, si vous pensez que vos utilisateurs ont une connexion internet instable, envisagez d’utiliser 'return_cache_data_else_load' pour renvoyer les données en cache si elles existent. Dans ce cas, les utilisateurs n’auront peut-être pas les toutes dernières données, mais les temps de chargement seront 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 après un redémarrage de l’application et n’est effacé que lors d’une réinstallation ou d’un nettoyage manuel.

params.loadTimeoutMs

optionnel

par défaut : 5000 ms

Cette valeur limite le délai d’attente (en millisecondes) pour cette méthode. Si le délai est dépassé, les données en cache ou le fallback local sont renvoyés.

Notez que dans de rares cas, cette méthode peut expirer légèrement après la valeur spécifiée dans loadTimeoutMs, car l’opération peut comprendre différentes requêtes en interne.

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 général, 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 disposent d’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 n’afficher aucun onboarding.

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 problèmes lors de la prise en charge de plusieurs versions de l’application, nécessitant soit des designs rétrocompatibles, soit d’accepter que les anciennes versions s’affichent incorrectement.
  • Pas de 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 une récupération plus rapide compense ces inconvénients pour votre cas d’usage, utilisez getOnboardingForDefaultAudience comme indiqué ci-dessous. Sinon, utilisez getOnboarding comme décrit ci-dessus.


try {
  const onboarding = await adapty.getOnboardingForDefaultAudience({ 
    placementId: 'YOUR_PLACEMENT_ID', 
    locale: 'en',
    params: {
      fetchPolicy: 'reload_revalidating_cache_data' // Load from server, fallback to cache
    }
  });
  console.log('Default audience onboarding fetched successfully');
} catch (error) {
  console.error('Failed to fetch default audience onboarding:', error);
}

Paramètres :

ParamètrePrésenceDescription
placementIdrequisL’identifiant du Placement souhaité. C’est la valeur que vous avez indiquée lors de la création d’un placement dans l’Adapty Dashboard.
locale

optionnel

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

Consultez Localisations et codes de langue pour plus d’informations sur les codes de langue et la façon dont nous recommandons de les utiliser.

params.fetchPolicy

optionnel

par défaut : 'reload_revalidating_cache_data'

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.

Toutefois, si vous pensez que vos utilisateurs sont souvent confrontés à une connexion instable, envisagez d’utiliser 'return_cache_data_else_load' pour renvoyer les données en cache lorsqu’elles sont disponibles. Dans ce cas, les utilisateurs n’auront peut-être pas accès aux toutes dernières données, mais les temps de chargement seront plus rapides, quelle que soit la qualité de leur connexion. Le cache est mis à jour régulièrement, il est donc sans risque de l’utiliser pendant la session pour éviter des requêtes réseau.

Notez que le cache est conservé après un redémarrage de l’application et n’est effacé qu’en cas de réinstallation ou de nettoyage manuel.