Optimiser la récupération des paywalls dans le SDK React Native

Une récupération fiable d’un paywall dans React Native fait trois choses : un affichage rapide, le retour du paywall ciblé par audience, et un repli gracieux quand le réseau est lent. Les règles ci-dessous couvrent le timing, la mise en cache et les stratégies de secours pour y parvenir.

Ces règles supposent que adapty.activate() et adapty.identify() ont déjà été résolus. Consultez Ordre d’appel dans le SDK React Native.

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 en parallèle au démarrage.Le pré-chargement en masse bloque le thread JS et produit un écran noir pendant la rafale.
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 au montage du composant racine.L’attribution n’est pas encore arrivée. Le paywall se résout contre l’audience par défaut et contourne silencieusement les segments et la personnalisation ASA.
Définissez un loadTimeoutMs et configurez un paywall de secours pour chaque placement.Attendre getPaywall indéfiniment.Sans timeout, les utilisateurs sur une connexion médiocre 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 loadTimeoutMs, et Placements pour choisir le bon placement.

Optimiser pour les connexions médiocres

Pour les marchés avec une connectivité régulièrement médiocre (zones rurales, transports, 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 l’Adapty Dashboard.
  • Définissez loadTimeoutMs à 3–5 secondes et acceptez le paywall de secours quand 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.