Kotlin Multiplatform SDK'da paywall getirmeyi optimize etme

Kotlin Multiplatform’da güvenilir bir paywall getirme işlemi üç şeyi yapar: hızlı render eder, kitleye göre hedeflenmiş paywall’ı döndürür ve ağ yavaş olduğunda sorunsuz biçimde yedek seçeneğe geçer. Aşağıdaki kurallar bunları sağlamak için zamanlama, önbellekleme ve yedek desenlerini kapsar.

Bu kurallar, Adapty.activate() ve Adapty.identify() fonksiyonlarının zaten tamamlanmış olduğunu varsayar. Bakınız: Kotlin Multiplatform SDK’da çağrı sırası.

Kurallar ve tuzaklar

YapılacakYapılmayacakNeden
Göstermek üzere olduğunuz placement’ı getirin.Başlatma sırasında tüm placement’ları eş zamanlı olarak önceden getirin.Toplu önceden getirme, ana thread’i bloke eder ve bu sürede siyah ekran görünür.
getPaywall’ı attribution çözümlendikten sonra çağırın — örneğin activate’ten 1–2 saniye sonra veya setOnProfileUpdatedListener tetiklendikten sonra.getPaywall’ı uygulama başlangıcında ç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’ın sonucunu süresiz bekleyin.Zaman aşımı olmadan, bağlantısı zayıf kullanıcılar ağ çözümlenene kadar boş ekranla karşılaşır — ya da uygulamayı kapatır.
fetchPolicy ve loadTimeout parametre referansı için Paywall’ları ve ürünleri getirme sayfasına, doğru placement seçimi için ise Placement’lar sayfasına bakın.

Zayıf bağlantı için ayarlamalar

Sürekli zayıf bağlantı yaşanan pazarlar (kırsal alanlar, toplu taşıma güzergahları, yönlendirme sorunları olan bölgeler) için:

  • Her fetch işleminde (ilk fetch hariç) 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 saniye olarak ayarlayın ve zaman aşımı gerçekleştiğinde yedek paywalle geçin.
  • Paywall gösterimini Adapty.getProfile() çağrısına bağlamayın. Yavaş bir profil yüklemesinin arayüzü bloke etmemesi için getPaywall çağrısını bağımsız olarak yapın.