Kotlin Multiplatform - Yeni Paywall Builder paywalllarını göster
Paywall Builder ile bir paywall tasarladıysanız, onu mobil uygulama kodunuzda kullanıcıya göstermek için ekstra bir şey yapmanıza gerek yok. Böyle bir paywall, hem ne gösterileceğini hem de nasıl gösterileceğini zaten içerir.
Bu rehber yalnızca yeni Paywall Builder paywallları içindir. Remote config paywallları ve Observer modu ile tasarlanan paywallları gösterme süreci farklıdır.
Remote config paywallları göstermek için bkz. Remote config ile tasarlanan paywallı render etme.
Adapty Kotlin Multiplatform SDK, paywallları iki şekilde göstermenizi sağlar:
- Compose Multiplatform ile
- Compose Multiplatform olmadan
Compose Multiplatform ile
Bir paywall göstermek için, createPaywallView metoduyla oluşturulan view üzerinde view.present() metodunu çağırın. Her view yalnızca bir kez kullanılabilir. Paywall’ı tekrar göstermeniz gerekiyorsa yeni bir view örneği oluşturmak için createPaywallView’ı tekrar çağırın.
Aynı view’ı yeniden oluşturmadan yeniden kullanmak hataya yol açabilir.
import com.adapty.kmp.AdaptyUI
import com.adapty.kmp.models.AdaptyPaywall
import kotlinx.coroutines.launch
viewModelScope.launch {
AdaptyUI.createPaywallView(paywall = paywall).onSuccess { view ->
view.present()
}.onError { error ->
// handle the error
}
}
Dialog göster
Android’de bir paywall görünümü gösterilirken yerel uyarı diyalogları yerine bu metodu kullanın. Android’de normal uyarılar paywall görünümünün arkasında kalır ve kullanıcılar tarafından görülemez. Bu metot, tüm platformlarda diyalogun paywall’ın üzerinde doğru şekilde gösterilmesini sağlar.
import com.adapty.kmp.models.AdaptyUIDialogActionType
import kotlinx.coroutines.launch
viewModelScope.launch {
view.showDialog(
title = "Close paywall?",
content = "You will lose access to exclusive offers.",
primaryActionTitle = "Stay",
secondaryActionTitle = "Close"
).onSuccess { action ->
if (action == AdaptyUIDialogActionType.SECONDARY) {
// User confirmed - close the paywall
view.dismiss()
}
// If primary - do nothing, user stays
}.onError { error ->
// handle the error
}
}
iOS sunum stilini yapılandır
present() metoduna iosPresentationStyle parametresini geçerek paywall’ın iOS’ta nasıl gösterileceğini yapılandırın. Parametre AdaptyUIIOSPresentationStyle.FULLSCREEN (varsayılan) veya AdaptyUIIOSPresentationStyle.PAGESHEET değerlerini alır.
import com.adapty.kmp.AdaptyUI
import com.adapty.kmp.models.AdaptyUIIOSPresentationStyle
import kotlinx.coroutines.launch
viewModelScope.launch {
val view = AdaptyUI.createPaywallView(paywall = paywall).getOrNull()
view?.present(iosPresentationStyle = AdaptyUIIOSPresentationStyle.PAGESHEET)
}
Compose Multiplatform olmadan
createNativePaywallView, io.adapty:adapty-kmp çekirdek modülünün bir parçasıdır. Projeniz Compose Multiplatform kullanmıyorsa io.adapty:adapty-kmp-ui bağımlılığına ihtiyacınız yoktur.
Compose Multiplatform olmadan bir paywall eklemek için createNativePaywallView’ı çağırın. Bu metot, layout’unuza eklediğiniz bir AdaptyNativePaywallView döndürür:
Görünümü kaldır
Görünümü layout’unuzdan kaldırırken dispose()’u çağırın. Bu işlem olay dinleyicisinin kaydını siler ve dahili kaynakları serbest bırakır.
nativeView.dispose()
Özel etiketler
Özel etiketler, farklı senaryolar için ayrı paywalllar oluşturmanıza gerek kalmadan işinizi görür. Kullanıcı verilerine göre dinamik olarak uyum sağlayan tek bir paywall hayal edin. Örneğin, genel bir “Merhaba!” yerine kullanıcıları “Merhaba, John!” veya “Merhaba, Ann!” şeklinde kişisel olarak selamlayabilirsiniz.
Özel etiketleri kullanabileceğiniz bazı durumlar:
- Paywall’da kullanıcının adını veya e-postasını göstermek.
- Satışları artırmak için haftanın gününü göstermek (örneğin, “İyi Perşembeler”).
- Sattığınız ürünler hakkında kişiselleştirilmiş ayrıntılar eklemek (bir fitness programının adı veya VoIP uygulamasında telefon numarası gibi).
Özel etiketler, çeşitli durumlarla uyum sağlayan esnek bir paywall oluşturmanıza yardımcı olur; böylece uygulamanızın arayüzü daha kişisel ve ilgi çekici hale gelir.
Bazı durumlarda uygulamanız, özellikle kullanıcılar AdaptyUI SDK’sının eski bir sürümündeyse, özel etiketi neyle değiştireceğini bilemeyebilir. Bunu önlemek için, bilinmeyen özel etiket içeren satırların yerine geçecek bir geri dönüş metni ekleyin. Aksi takdirde kullanıcılar etiketleri kod olarak görebilir (<USERNAME/>).
Paywall’ınızda özel etiketleri kullanmak için bunları paywall görünümünü oluştururken geçirin:
Özel zamanlayıcılar
Paywall zamanlayıcısı, süreli özel ve sezonsal teklifleri tanıtmak için harika bir araçtır. Ancak bu zamanlayıcının teklifin geçerliliği veya kampanyanın süresiyle bağlantılı olmadığını belirtmek gerekir. Belirlediğiniz değerden sıfıra kadar geri sayan bağımsız bir geri sayımdır. Zamanlayıcı sıfıra ulaştığında hiçbir şey olmaz; sadece sıfırda kalır.
İstediğiniz mesajı oluşturmak için zamanlayıcının önüne ve arkasına metin ekleyebilirsiniz; örneğin: “Teklif bitiyor: 10:00 sn.”
Paywall’ınızda özel zamanlayıcıları kullanmak için bunları paywall görünümünü oluştururken geçirin: