iOS SDK'da Observer modunda Paywall Builder paywalllarını gösterme
Paywall Builder kullanarak bir paywall özelleştirdiyseniz, kullanıcıya göstermek için onu mobil uygulama kodunuzda render etmeniz gerekmez. Bu tür bir paywall, hem paywall içinde neyin gösterileceğini hem de nasıl gösterileceğini içerir.
Bu bölüm yalnızca Observer mode için geçerlidir. Observer mode kullanmıyorsanız iOS - Paywall Builder paywalllarını gösterme sayfasına bakın.
Paywall göstermeye başlamadan önce (Genişletmek için tıklayın)
- Adapty’nin Google Play ve App Store ile başlangıç entegrasyonunu kurun.
- Adapty SDK’yı yükleyip yapılandırın.
observerModeparametresinitrueolarak ayarladığınızdan emin olun. Framework’e özgü talimatlarımıza bakın: iOS. - Adapty Kontrol Paneli’nde ürünler oluşturun.
- Adapty Kontrol Paneli’nde paywall’ları yapılandırın, ürünleri atayın ve Paywall Builder ile özelleştirin.
- Adapty Kontrol Paneli’nde placement’lar oluşturun ve paywall’larınızı atayın.
- Mobil uygulama kodunuzda Paywall Builder paywall’larını ve yapılandırmalarını alın.
-
AdaptyObserverModeResolvernesnesini uygulayın:func observerMode(didInitiatePurchase product: AdaptyPaywallProduct, onStartPurchase: @escaping () -> Void, onFinishPurchase: @escaping () -> Void) { // use the product object to handle the purchase // use the onStartPurchase and onFinishPurchase callbacks to notify AdaptyUI about the process of the purchase }
The observerMode(didInitiatePurchase:onStartPurchase:onFinishPurchase:) olayı, kullanıcının bir satın alma başlattığını size bildirir. Bu callback’e yanıt olarak kendi özel satın alma akışınızı tetikleyebilirsiniz.
observerModeDidInitiateRestorePurchases(onStartRestore:onFinishRestore:) olayı, kullanıcının bir geri yükleme başlattığını size bildirir. Bu geri çağırım yanıtında özel geri yükleme akışınızı tetikleyebilirsiniz.
Ayrıca, satın alma veya geri yükleme sürecini AdaptyUI’ya bildirmek için aşağıdaki geri çağırımları çağırmayı unutmayın. Bu, yükleyiciyi göstermek gibi uygun paywall davranışı için gereklidir:
| Callback | Açıklama |
|---|---|
| onStartPurchase() | Satın alma işleminin başladığını AdaptyUI’a bildirmek için bu callback çağrılmalıdır. |
| onFinishPurchase() | Satın alma işleminin tamamlandığını AdaptyUI’a bildirmek için bu callback çağrılmalıdır. |
| onStartRestore() | Geri yükleme işleminin başladığını AdaptyUI’a bildirmek için bu callback çağrılmalıdır. |
| onFinishRestore() | Geri yükleme işleminin tamamlandığını AdaptyUI’a bildirmek için bu callback çağrılmalıdır. |
-
Bir paywall yapılandırma nesnesi oluşturun:
do { let paywallConfiguration = try AdaptyUI.getPaywallConfiguration( forPaywall: <paywall object>, observerModeResolver: <AdaptyObserverModeResolver> ) } catch { // handle the error }İstek parametreleri:
Parametre Zorunluluk Açıklama Paywall zorunlu İstenen paywall için bir controller edinmek amacıyla kullanılan AdaptyPaywallnesnesi.ObserverModeResolver zorunlu Önceki adımda uyguladığınız AdaptyObserverModeResolvernesnesi. -
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 bir AdaptyUI.PaywallConfiguration nesnesi. 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 bir AdaptyPaywallControllerDelegate. Daha fazla bilgi için Paywall olaylarını yönetme konusuna bakın. |
| Döndürür: |
| Nesne | Açıklama |
|---|---|
| AdaptyPaywallController | İstenen paywall ekranını temsil eden bir nesne |
Nesne başarıyla oluşturulduktan sonra şu şekilde gösterebilirsiniz:
present(visualPaywall, animated: true)Satın alma işlemlerini paywall’larla ilişkilendirmeyi unutmayın. Aksi takdirde, Adapty satın almanın hangi paywall’dan geldiğini belirleyemez.
Görsel paywall’ı cihaz ekranında göstermek için SwiftUI’da .paywall modifier’ını kullanın:
@State var paywallPresented = false
var body: some View {
Text("Hello, AdaptyUI!")
.paywall(
isPresented: $paywallPresented,
paywallConfiguration: <paywall configuration object>,
didPerformAction: { action in
switch action {
case .close:
paywallPresented = false
default:
// Handle other actions
break
}
},
didFinishRestore: { profile in /* access level'i kontrol et ve kapat */ },
didFailRestore: { error in /* hatayı işle */ },
didFailRendering: { error in paywallPresented = false }
)
}İstek parametreleri:
| Parametre | Zorunluluk | Açıklama |
|---|---|---|
| Paywall Configuration | zorunlu | Paywallın görsel ayrıntılarını içeren bir AdaptyUI.PaywallConfiguration nesnesi. AdaptyUI.getPaywallConfiguration(forPaywall:locale:) metodunu kullanın. Daha fazla bilgi için Paywall Builder paywall’larını ve yapılandırmalarını getirme konusuna bakın. |
| Products | isteğe bağlı | Ekranda ürünlerin görüntülenme zamanlamasını optimize etmek için bir AdaptyPaywallProducts dizisi sağlayın. nil değeri geçilirse AdaptyUI gerekli ürünleri otomatik olarak getirir. |
| TagResolver | isteğe bağlı | Özel etiketlerin ve çözümlenmiş değerlerinin bir sözlüğünü tanımlayın. Özel etiketler, paywall içeriğinde yer tutucu olarak işlev görür ve paywall içinde kişiselleştirilmiş içerik sunmak amacıyla belirli dizelerle dinamik olarak değiştirilir. Daha fazla bilgi için Paywall Builder’da özel etiketler konusuna bakın. |
| ObserverModeResolver | isteğe bağlı | Bir önceki adımda uyguladığınız AdaptyObserverModeResolver nesnesi |
| Closure parametreleri: |
| Closure parametresi | Açıklama |
|---|---|
| didFinishRestore | Adapty.restorePurchases() başarılı olursa bu callback çağrılır. |
| didFailRestore | Adapty.restorePurchases() başarısız olursa bu callback çağrılır. |
| didFailRendering | Arayüz oluşturma sırasında bir hata oluşursa bu callback çağrılır. |
| Diğer closure parametreleri için iOS - Olayları Yönetme konusuna bakın. |
Satın alma işlemlerini paywall’larla ilişkilendirmeyi unutmayın. Aksi takdirde Adapty, satın alma işleminin hangi paywall’dan geldiğini belirleyemez.
Paywall’ları sunmaya başlamadan önce (Genişletmek için tıklayın)
- Adapty’nin Google Play ile ve App Store ile ilk entegrasyonunu kurun.
- Adapty SDK’yı kurun ve yapılandırın.
observerModeparametresinitrueolarak ayarladığınızdan emin olun. Framework’e özel talimatlarımıza göz atın: iOS, React Native, Flutter ve Unity. - Adapty Kontrol Paneli’nde ürün oluşturun.
- Adapty Kontrol Paneli’nde paywall’lar oluşturun, ürünleri bunlara atayın ve Paywall Builder ile özelleştirin.
- Adapty Kontrol Paneli’nde placement’lar oluşturun ve paywall’larınızı bunlara atayın.
- Mobil uygulama kodunuzda Paywall Builder paywall’larını ve yapılandırmalarını alın.
AdaptyObserverModeDelegatenesnesini uygulayın:
func paywallController(_ controller: AdaptyPaywallController,
didInitiatePurchase product: AdaptyPaywallProduct,
onStartPurchase: @escaping () -> Void,
onFinishPurchase: @escaping () -> Void) {
// satın alma işlemini yönetmek için product nesnesini kullanın
// satın alma sürecini AdaptyUI'ya bildirmek için onStartPurchase ve onFinishPurchase callback'lerini kullanın
}paywallController(_:didInitiatePurchase:onStartPurchase:onFinishPurchase:) eventi, kullanıcının bir satın alma işlemi başlattığını size bildirir. Bu eventi yanıtlayarak kendi özel satın alma akışınızı tetikleyebilirsiniz.
Ayrıca, satın alma sürecini AdaptyUI’a bildirmek için aşağıdaki callback’leri çağırmayı unutmayın. Bu, yükleyiciyi göstermek gibi paywall’un düzgün çalışması için gereklidir:
| Callback | Açıklama |
|---|---|
| onStartPurchase | Satın alma işleminin başladığını AdaptyUI’ya bildirmek için bu callback çağrılmalıdır. |
| onFinishPurchase | Satın alma işleminin tamamlandığını AdaptyUI’ya bildirmek için bu callback çağrılmalıdır. |
- Görüntülemek istediğiniz görsel paywall’ı
.paywallController(for:products:viewConfiguration:delegate:observerModeDelegate:)metodunu kullanarak başlatın:
import Adapty
import AdaptyUI
let visualPaywall = AdaptyUI.paywallController(
for: <paywall object>,
products: <paywall products array>,
viewConfiguration: <LocalizedViewConfiguration>,
delegate: <AdaptyPaywallControllerDelegate>
observerModeDelegate: <AdaptyObserverModeDelegate>
)İstek parametreleri:
| Parametre | Zorunluluk | Açıklama |
|---|---|---|
| Paywall | zorunlu | İstenen paywall için controller almak amacıyla kullanılan AdaptyPaywall nesnesi. |
| Products | isteğe bağlı | Ürünlerin ekranda görüntülenme zamanlamasını optimize etmek için AdaptyPaywallProducts dizisi sağlayın. nil geçilirse AdaptyUI gerekli ürünleri otomatik olarak çeker. |
| ViewConfiguration | zorunlu | Paywallın görsel ayrıntılarını içeren AdaptyUI.LocalizedViewConfiguration nesnesi. AdaptyUI.getViewConfiguration(paywall: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. |
| ObserverModeDelegate | zorunlu | Önceki adımda uyguladığınız AdaptyObserverModeDelegate nesnesi. |
| TagResolver | isteğe bağlı | Özel etiketlerin ve bunların çözümlenmiş değerlerinin bulunduğu bir sözlük tanımlayın. Özel etiketler, paywall içeriğinde yer tutucu işlevi görerek paywall içinde kişiselleştirilmiş içerik sunmak amacıyla belirli dizelerle dinamik olarak değiştirilir. Daha fazla bilgi için Paywall Builder’da özel etiketler konusuna bakın. |
| Döndürdükleri: |
| Nesne | Açıklama |
|---|---|
| AdaptyPaywallController | İstenen paywall ekranını temsil eden bir nesne |
Nesne başarıyla oluşturulduktan sonra şu şekilde görüntüleyebilirsiniz:
present(visualPaywall, animated: true)Satın alma işlemlerini paywall’larla ilişkilendirmeyi unutmayın. Aksi takdirde Adapty, satın almanın hangi paywall’dan geldiğini belirleyemez.
Görsel paywall’ı cihaz ekranında göstermek için SwiftUI’da .paywall modifier’ını kullanın:
@State var paywallPresented = false
var body: some View {
Text("Hello, AdaptyUI!")
.paywall(
isPresented: $paywallPresented,
paywall: <paywall object>,
configuration: <LocalizedViewConfiguration>,
didPerformAction: { action in
switch action {
case .close:
paywallPresented = false
default:
// Diğer aksiyonları işle
break
}
},
didFinishRestore: { profile in /* access level'ı kontrol et ve kapat */ },
didFailRestore: { error in /* hatayı işle */ },
didFailRendering: { error in paywallPresented = false },
observerModeDidInitiatePurchase: { product, onStartPurchase, onFinishPurchase in
// satın almayı işlemek için ürün nesnesini kullan
// satın alma sürecini AdaptyUI'ya bildirmek için onStartPurchase ve onFinishPurchase callback'lerini kullan
},
)
}The input appears to be empty or contains only a heading “Request parameters:” with no actual MDX content to translate. Please provide the full MDX documentation content you’d like translated from English to Turkish.
| Parametre | Zorunluluk | Açıklama |
|---|---|---|
| Paywall | zorunlu | İstenen paywall için bir controller elde etmek amacıyla kullanılan AdaptyPaywall nesnesi. |
| Product | isteğe bağlı | Ekranda ürünlerin görüntülenme zamanlamasını optimize etmek için AdaptyPaywallProducts dizisi sağlayın. nil geçilirse AdaptyUI gerekli ürünleri otomatik olarak çeker. |
| Configuration | zorunlu | Paywall’ın görsel ayrıntılarını içeren AdaptyUI.LocalizedViewConfiguration nesnesi. AdaptyUI.getViewConfiguration(paywall:locale:) metodunu kullanın. Daha fazla bilgi için Paywall Builder paywall’larını ve yapılandırmalarını çekme konusuna bakın. |
| TagResolver | isteğe bağlı | Özel etiketler ve bunların çözümlenmiş değerlerinden oluşan bir sözlük tanımlayın. Özel etiketler, paywall içeriğinde yer tutucu görevi görür ve kişiselleştirilmiş içerik sunmak amacıyla belirli dizelerle dinamik olarak değiştirilir. Daha fazla bilgi için Paywall Builder’da özel etiketler konusuna bakın. |
| Closure parametreleri: | ||
| Closure parametresi | Açıklama | |
| :---------------------------------- | :----------------------------------------------------------------------------------------------- | |
| didFinishRestore | Adapty.restorePurchases() başarılı olursa bu callback çağrılır. | |
| didFailRestore | Adapty.restorePurchases() başarısız olursa bu callback çağrılır. | |
| didFailRendering | Arayüz oluşturma sırasında bir hata oluşursa bu callback çağrılır. | |
| observerModeDidInitiatePurchase | Kullanıcı bir satın alma işlemi başlattığında bu callback çağrılır. | |
| Diğer closure parametreleri için iOS - Olayları işleme konusuna bakın. |
Satın alma işlemlerini paywall’larla ilişkilendirmeyi unutmayın. Aksi takdirde Adapty, satın almanın hangi paywall’dan geldiğini belirleyemez.