Flutter SDK'da paywall çekme işlemini optimize edin

Flutter’da güvenilir bir paywall çekme işlemi üç şey yapar: hızlı render eder, kitleye özel paywall’ı döndürür ve ağ yavaş olduğunda sorunsuz bir şekilde yedek davranışa geçer. Aşağıdaki kurallar bunu başarmanın zamanlama, önbellekleme ve yedek kalıplarını kapsar.

Bu kurallar, Adapty().activate() ve Adapty().identify() işlemlerinin tamamlanmış olduğunu varsayar. Ayrıntılar için bkz. Flutter SDK’da çağrı sırası.

Kurallar ve dikkat edilmesi gereken noktalar

Bunu yapınBunu yapmayınNeden
Göstermek üzere olduğunuz placement’ı getirin.Başlatma sırasında tüm placement’ları eş zamanlı olarak önceden getirin.Toplu önceden getirme işlemi ana iş parçacığını engeller ve yoğunluk sırasında siyah ekrana yol açar.
getPaywall’ı attribution’ın çözülmesine fırsat verdikten sonra çağırın — örneğin activate’den 1–2 saniye sonra veya didUpdateProfileStream tetiklendikten sonra.getPaywall’ı runApp’ten önce main() içinde çağırın.Attribution henüz gelmemiştir. Paywall varsayılan kitleye göre çözümlenir ve segment ile ASA kişiselleştirmesini sessizce atlar.
Her placement için bir loadTimeout belirleyin ve bir yedek paywall yapılandırın.getPaywall’ı süresiz olarak bekleyin.Zaman aşımı olmadan, bağlantısı zayıf kullanıcılar ağ çözümlenene kadar boş ekran görür ya da uygulamayı kapatır.
Paywall ve ürünleri getirme sayfasında fetchPolicy ve loadTimeout parametre referanslarına, Placement’lar sayfasında ise doğru placement’ı seçmeye ilişkin bilgilere ulaşabilirsiniz.

Kötü bağlantı için ayarlama

Sürekli kötü bağlantı yaşanan pazarlar için (kırsal alanlar, ulaşım güzergahları, yönlendirme sorunlarından etkilenen bölgeler):

  • İlk fetch dışında her fetch işleminde fetchPolicy: AdaptyPaywallFetchPolicy.returnCacheDataElseLoad kullanın.
  • Adapty Kontrol Paneli’nde her placement için bir yedek paywall yapılandırın.
  • loadTimeout değerini 3–5 saniyeye ayarlayın ve zaman aşımı gerçekleştiğinde yedek paywalle geçin.
  • Paywall görüntülemeyi getProfile() yanıtına bağlamayın. Yavaş bir profilin arayüzü bloke etmemesi için getPaywall işlemini bağımsız olarak çağırın.