Optimiser la récupération des flows et paywalls dans le SDK Unity

Une récupération fiable d’un flow ou d’un paywall sur Unity repose sur trois éléments : un affichage rapide, le retour de la variante ciblée selon l’audience, et un basculement en douceur lorsque le réseau est lent. Les règles ci-dessous couvrent le timing, la mise en cache et les patterns de secours pour y parvenir.

Tip

Les règles supposent que Adapty.Activate() et Adapty.Identify() ont déjà été résolues. Consultez Ordre des appels dans le SDK Unity.

Règles et pièges

À faireÀ ne pas fairePourquoi
Récupérez le placement que vous êtes sur le point d’afficher.Précharger tous les placements en parallèle au lancement.Le préchargement en masse bloque le fil principal et provoque un écran noir pendant la rafale.
Récupérez GetFlow après que l’attribution a eu le temps de se résoudre — par exemple, 1 à 2 secondes après Activate ou après le déclenchement de OnLoadLatestProfile.Appeler GetFlow dans Awake().L’attribution n’est pas encore arrivée. Le flow se résout par rapport à l’audience par défaut et contourne silencieusement les segments et la personnalisation ASA.
Définissez un loadTimeout et configurez un paywall de secours pour chaque placement.Attendre indéfiniment sur GetFlow.Sans délai d’attente, les utilisateurs avec une mauvaise connexion voient un écran vide jusqu’à ce que le réseau réponde — ou ferment l’application.

Consultez Récupérer les paywalls et les produits pour la référence des paramètres fetchPolicy et loadTimeout, et Placements pour choisir le bon placement.

Afficher les médias du premier écran depuis le bundle de l’application

Un flow télécharge ses images et vidéos depuis Adapty. Pour afficher instantanément les médias du premier écran, servez-les depuis le bundle de l’application. C’est une bonne façon de réutiliser des médias déjà inclus dans votre app, comme les visuels d’un onboarding natif existant.

  1. Dans le Flow & Paywall Builder, définissez un identifiant de média personnalisé sur l’image ou la vidéo. Le fichier que vous y chargez reste utilisé comme fallback.
  2. Ajoutez le fichier à votre projet Unity.
  3. Lors de la création de la vue du flow, transmettez le fichier du bundle pour cet identifiant avec SetCustomAssets :
// "welcome_video" is the custom media ID set in the Flow & Paywall Builder
var bundledAssets = new Dictionary<string, AdaptyCustomAsset>
{
    { "welcome_video", AdaptyCustomAsset.LocalVideoFile("custom_assets/videos/welcome.mp4") }
};

var parameters = new AdaptyUICreateFlowViewParameters()
    .SetCustomAssets(bundledAssets);

AdaptyUI.CreateFlowView(flow, parameters, (view, error) => {
    // handle the result
});

Les fichiers intégrés augmentent la taille de téléchargement de votre application, alors n’intégrez que les médias visibles dès le premier écran.

Les médias non intégrés s’affichent quand même immédiatement : la mise en page du flow inclut une petite copie basse résolution de chaque image, y compris l’image fixe d’une vidéo, et l’affiche jusqu’au chargement complet du fichier.

Pour la référence complète de customAssets, consultez Personnaliser les assets.

Optimiser pour les connexions défaillantes

Pour les marchés où la connectivité est régulièrement mauvaise (zones rurales, transports en commun, régions touchées par des problèmes de routage) :

  • Définissez fetchPolicy sur AdaptyPlacementFetchPolicy.ReturnCacheDataElseLoad à chaque requête, sauf la toute première.
  • Configurez un paywall de secours pour chaque placement dans l’Adapty Dashboard.
  • Définissez loadTimeout entre 3 et 5 secondes et acceptez le paywall de secours si le délai expire.
  • Ne bloquez pas l’affichage du flow sur GetProfile. Appelez GetFlow indépendamment pour qu’un profil lent ne bloque pas l’interface.