---
title: "Kotlin Multiplatform SDK'da paywall getirmeyi optimize etme"
description: "Adapty paywalllerini güvenilir şekilde getirin: Kotlin Multiplatform için zamanlama, önbellekleme ve yedek desenler."
---

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.
:::tip
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ı](kmp-sdk-call-order).
:::
## Kurallar ve tuzaklar \{#rules-and-pitfalls\}
| Yapılacak | Yapılmayacak | 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, 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](fallback-paywalls) 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](fetch-paywalls-and-products-kmp) sayfasına, doğru placement seçimi için ise [Placement'lar](placements) sayfasına bakın.
## Zayıf bağlantı için ayarlamalar \{#tune-for-poor-connectivity\}

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](fallback-paywalls) 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.