Optimiser la récupération des paywalls dans le SDK Kotlin Multiplatform

Une récupération fiable de paywall sur Kotlin Multiplatform repose sur trois points : un affichage rapide, le retour du paywall ciblé par audience, et un repli gracieux en cas de réseau lent. Les règles ci-dessous couvrent le timing, la mise en cache et les patterns de secours pour y parvenir.

Ces règles supposent que Adapty.activate() et Adapty.identify() ont déjà été résolus. Voir Ordre d’appel dans le SDK Kotlin Multiplatform.

Les conseils ci-dessous utilisent les noms de méthodes de la v3. Dans le SDK v4, getPaywall est renommé en getFlow (voir le guide de migration) — chaque règle s’applique sans changement.

Règles et pièges

À faireÀ éviterPourquoi
Récupérez le placement que vous êtes sur le point d’afficher.Pré-charger tous les placements simultanément au démarrage.Le pré-chargement en masse bloque le thread principal et provoque un écran noir pendant la rafale.
Appelez getPaywall une fois 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 setOnProfileUpdatedListener.Appeler getPaywall au démarrage de l’application.L’attribution n’est pas encore arrivée. Le paywall se résout sur 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 getPaywall.Sans délai d’expiration, les utilisateurs avec une mauvaise connectivité voient un écran blanc jusqu’à ce que le réseau réponde — ou ferment l’application.

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

Optimiser pour une mauvaise connectivité

Pour les marchés avec une connectivité constamment faible (zones rurales, transports, régions affectées par le routage) :

  • Définissez fetchPolicy = AdaptyPaywallFetchPolicy.ReturnCacheDataElseLoad sur chaque récupération 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 lorsque le délai expire.
  • Ne conditionnez pas l’affichage du paywall à Adapty.getProfile(). Appelez getPaywall indépendamment pour qu’un profil lent ne bloque pas l’interface.