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ın | Bunu yapmayın | Neden |
|---|---|---|
| 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.returnCacheDataElseLoadkullanın. - Adapty Kontrol Paneli’nde her placement için bir yedek paywall yapılandırın.
loadTimeoutdeğ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çingetPaywallişlemini bağımsız olarak çağırın.