iOS SDK'da yeni Paywall Builder paywalllarını gösterme
Paywall Builder ile bir paywall özelleştirdiyseniz, bunu kullanıcıya göstermek için mobil uygulama kodunuzda ayrıca render etmenize gerek yoktur. Böyle bir paywall, hem paywall içinde nelerin gösterileceğini hem de nasıl gösterileceğini barındırır.
Bu kılavuz yeni Paywall Builder paywallları içindir. Paywallları gösterme süreci; farklı Paywall Builder sürümleriyle tasarlanan paywalllar, remote config paywalllar ve Observer modu için farklılık gösterir.
- Remote config paywalllarını göstermek için bkz. Remote config ile tasarlanan paywallı render etme.
- Observer modu paywalllarını göstermek için bkz. iOS - Observer modunda Paywall Builder paywalllarını gösterme
Aşağıda kullanılan AdaptyUI.PaywallConfiguration nesnesini edinmek için bkz. Paywall Builder paywalllarını ve yapılandırmalarını getirme.
SwiftUI’da paywallları gösterme
Modal görünüm olarak gösterme
Görsel paywallı cihaz ekranında modal görünüm olarak göstermek için SwiftUI’da .paywall modifier’ını kullanın:
@State var paywallPresented = false // bu değişkenin durumunu yönettiğinizden ve paywallı göstermek istediğiniz anda `true` olarak ayarladığınızdan emin olun
var body: some View {
Text("Hello, AdaptyUI!")
.paywall(
isPresented: $paywallPresented,
paywallConfiguration: <AdaptyUI.PaywallConfiguration>,
didPerformAction: { action in
switch action {
case .close:
paywallPresented = false
default:
// Handle other actions
break
}
},
didFinishPurchase: { product, profile in paywallPresented = false },
didFailPurchase: { product, error in /* handle the error */ },
didFinishRestore: { profile in /* check access level and dismiss */ },
didFailRestore: { error in /* handle the error */ },
didFailRendering: { error in paywallPresented = false }
)
}
Parametreler:
| Parametre | Zorunluluk | Açıklama |
|---|---|---|
| isPresented | zorunlu | Paywall ekranının görüntülenip görüntülenmediğini yöneten bir binding. |
| paywallConfiguration | zorunlu | Paywallın görsel ayrıntılarını içeren AdaptyUI.PaywallConfiguration nesnesi. AdaptyUI.paywallConfiguration(for:products:viewConfiguration:observerModeResolver:tagResolver:timerResolver:) metodunu kullanın. Daha fazla bilgi için Paywall Builder paywalllarını ve yapılandırmalarını getirme konusuna bakın. |
| didFailPurchase | zorunlu | Adapty.makePurchase() başarısız olduğunda çağrılır. |
| didFinishRestore | zorunlu | Adapty.restorePurchases() başarıyla tamamlandığında çağrılır. |
| didFailRestore | zorunlu | Adapty.restorePurchases() başarısız olduğunda çağrılır. |
| didFailRendering | zorunlu | Arayüz render edilirken hata oluştuğunda çağrılır. Bu durumda Adapty Destek ile iletişime geçin. |
| fullScreen | isteğe bağlı | Paywallın tam ekran mı yoksa modal olarak mı görüneceğini belirler. Varsayılan değer true’dur. |
| didAppear | isteğe bağlı | Paywall görünümü gösterildiğinde çağrılır. |
| didDisappear | isteğe bağlı | Paywall görünümü kapatıldığında çağrılır. |
| didPerformAction | isteğe bağlı | Kullanıcı bir butona tıkladığında çağrılır. Farklı butonların farklı aksiyon ID’leri vardır. close ve openURL olmak üzere iki aksiyon ID’si önceden tanımlıdır; diğerleri özel olup builder’da ayarlanabilir. |
| didSelectProduct | isteğe bağlı | Bir ürün satın alma için seçildiğinde (kullanıcı veya sistem tarafından) bu callback çağrılır. |
| didStartPurchase | isteğe bağlı | Kullanıcı satın alma sürecini başlattığında çağrılır. |
| didFinishPurchase | isteğe bağlı | Adapty.makePurchase() başarıyla tamamlandığında çağrılır. |
| didFinishWebPaymentNavigation | isteğe bağlı | Web ödeme navigasyonu tamamlandığında çağrılır. |
| didStartRestore | isteğe bağlı | Kullanıcı geri yükleme sürecini başlattığında çağrılır. |
| didFailLoadingProducts | isteğe bağlı | Ürün yükleme sırasında hata oluştuğunda çağrılır. Yüklemeyi yeniden denemek için true döndürün. |
| didPartiallyLoadProducts | isteğe bağlı | Ürünler kısmen yüklendiğinde çağrılır. |
| showAlertItem | isteğe bağlı | Paywallın üzerinde uyarı öğelerinin görüntülenmesini yöneten bir binding. |
| showAlertBuilder | isteğe bağlı | Uyarı görünümünü render etmek için kullanılan bir fonksiyon. |
| placeholderBuilder | isteğe bağlı | Paywall yüklenirken yer tutucu görünümü render etmek için kullanılan bir fonksiyon. |
Parametreler hakkında daha fazla bilgi için iOS - Olayları yönetme konusuna bakın.
Modal olmayan görünüm olarak gösterme
Paywallları uygulamanızın navigasyon akışı içinde navigasyon hedefleri veya satır içi görünümler olarak da gösterebilirsiniz. SwiftUI görünümlerinizde doğrudan AdaptyPaywallView kullanın:
AdaptyPaywallView(
paywallConfiguration: <AdaptyUI.PaywallConfiguration>,
didFailPurchase: { product, error in
// Handle purchase failure
},
didFinishRestore: { profile in
// Handle successful restore
},
didFailRestore: { error in
// Handle restore failure
},
didFailRendering: { error in
// Handle rendering error
}
)
UIKit’te paywallları gösterme
Görsel paywallı cihaz ekranında göstermek için şu adımları izleyin:
-
Görüntülemek istediğiniz görsel paywallı
.paywallController(for:products:viewConfiguration:delegate:)metodunu kullanarak başlatın:import Adapty import AdaptyUI let visualPaywall = AdaptyUI.paywallController( with: <paywall configuration object>, delegate: <AdaptyPaywallControllerDelegate> )İstek parametreleri:
Parametre Zorunluluk Açıklama paywall configuration zorunlu Paywallın görsel ayrıntılarını içeren AdaptyUI.PaywallConfigurationnesnesi.AdaptyUI.getPaywallConfiguration(forPaywall:locale:)metodunu kullanın. Daha fazla bilgi için Paywall Builder paywalllarını ve yapılandırmalarını getirme konusuna bakın.delegate zorunlu Paywall olaylarını dinlemek için kullanılan AdaptyPaywallControllerDelegate. Daha fazla bilgi için Paywall olaylarını yönetme konusuna bakın.Dönen değer:
Nesne Açıklama AdaptyPaywallController İstenen paywall ekranını temsil eden nesne -
Nesne başarıyla oluşturulduktan sonra cihaz ekranında görüntüleyebilirsiniz:
present(visualPaywall, animated: true)
Adapty SDK’nın bir mobil uygulamaya nasıl entegre edildiğini gerçek bir örnekle görmek ister misiniz? Tam kurulumu, paywall’ların gösterimini, satın alma işlemlerini ve diğer temel işlevleri içeren örnek uygulamalarımıza göz atın.