Optimiser la récupération des paywalls dans le SDK iOS

Une récupération de paywall fiable sur iOS repose sur trois éléments : un rendu rapide, le retour du paywall ciblé par audience, et un repli élégant 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 iOS.

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 lancement.La pré-récupération en masse bloque le thread principal et provoque un écran noir pendant la salve.
Appelez getPaywall 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 onProfileUpdate.Appeler getPaywall dans App.init().L’attribution n’est pas encore disponible. Le paywall se résout sur l’audience par défaut et ignore 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 timeout, 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.

Optimiser pour une mauvaise connectivité

Pour les marchés avec une connectivité systématiquement mauvaise (zones rurales, transports en commun, régions affectées par le routage) :

  • Définissez fetchPolicy: .returnCacheDataElseLoad sur chaque récupération sauf la toute première.
  • Configurez un paywall de secours pour chaque placement dans le tableau de bord Adapty.
  • Définissez loadTimeout entre 3 et 5 secondes et acceptez le paywall de secours lorsque le timeout se déclenche.
  • Ne conditionnez pas l’affichage du paywall à getProfile(). Appelez getPaywall indépendamment pour qu’un profil lent ne bloque pas l’interface.