Flow ve paywallları görüntüleme - iOS
Bir flow veya paywall oluştturduysanız, bunu kullanıcıya göstermek için mobil uygulama kodunuzda ayrıca render etmenize gerek yok. Söz konusu flow veya paywall, içinde neyin gösterileceğini ve nasıl gösterileceğini zaten içeriyor.
Aşağıda kullanılan AdaptyUI.FlowConfiguration nesnesini edinmek için Flow ve paywallları getir sayfasına bakın.
SwiftUI’da flow ve paywallları sunma
Modal görünüm olarak sunma
Bir flow veya paywall’ı cihaz ekranında modal görünüm olarak göstermek için SwiftUI’da .flow değiştiricisini kullanın. Minimum çağrı için isPresented, flowConfiguration ve dört zorunlu callback gereklidir:
.flow(
isPresented: $flowPresented,
flowConfiguration: <AdaptyUI.FlowConfiguration>,
didFailPurchase: { _, _ in /* handle the error */ },
didFinishRestore: { _ in /* check access level and dismiss */ },
didFailRestore: { _ in /* handle the error */ },
didReceiveError: { _ in flowPresented = false }
)Daha fazla kontrol için didPerformAction gibi isteğe bağlı callbackler ekleyerek buton tıklamalarını yönetebilir ve didFinishPurchase ile başarılı satın alımları yakalayabilirsiniz:
@State var flowPresented = false // ensure that you manage this variable state and set it to `true` at the moment you want to show the flow or paywall
var body: some View {
Text("Hello, AdaptyUI!")
.flow(
isPresented: $flowPresented,
flowConfiguration: <AdaptyUI.FlowConfiguration>,
didPerformAction: { action in
switch action {
case .close:
flowPresented = false
default:
// Handle other actions
break
}
},
didFailPurchase: { product, error in /* handle the error */ },
didFinishRestore: { profile in /* check access level and dismiss */ },
didFailRestore: { error in /* handle the error */ },
didReceiveError: { error in flowPresented = false }
)
}Parametreler:
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| isPresented | zorunlu | Flow veya paywall ekranının gösterilip gösterilmediğini yöneten bir binding. |
| flowConfiguration | zorunlu | Flow veya paywallın görsel ayrıntılarını içeren AdaptyUI.FlowConfiguration nesnesi. AdaptyUI.getFlowConfiguration(forFlow:) metodunu kullanın. Daha fazla bilgi için Flow ve paywallları getir sayfasına 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. |
| didReceiveError | zorunlu | Bir render hatası veya flow scriptinden kaynaklanan çalışma zamanı hatası oluştuğunda çağrılır (örneğin, bir JavaScript istisnası, AdaptyUIError kodu 4105). Render hataları için Adapty Destek ile iletişime geçin. |
| fullScreen | isteğe bağlı | Flow veya paywallın tam ekran modunda mı yoksa bir sheet olarak mı görüneceğini belirler. Varsayılan değer true. |
| didAppear | isteğe bağlı | Flow veya paywall görünümü sunulduğunda çağrılır. |
| didDisappear | isteğe bağlı | Flow veya 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. İki action ID önceden tanımlıdır: close ve openURL; diğerleri özeldir ve builder’da ayarlanabilir. |
| didSelectProduct | isteğe bağlı | Kullanıcı veya sistem tarafından satın alım için bir ürün seçildiğinde ç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üklenirken 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ı | Flow veya paywallın üzerinde alert öğelerinin gösterimini yöneten bir binding. |
| showAlertBuilder | isteğe bağlı | Alert görünümünü render eden bir fonksiyon. |
| placeholderBuilder | isteğe bağlı | Flow veya paywall yüklenirken placeholder görünümünü render eden bir fonksiyon. Varsayılan olarak bir ProgressView kullanılır. |
Parametreler hakkında daha fazla bilgi için iOS - Olayları yönetme konusuna bakın.
Modal olmayan görünüm olarak sunma
Flow ve paywallları, uygulamanızın navigasyon akışında navigation destination veya satır içi görünüm olarak da sunabilirsiniz. SwiftUI görünümlerinizde doğrudan AdaptyFlowView kullanın:
AdaptyFlowView(
flowConfiguration: <AdaptyUI.FlowConfiguration>,
didFailPurchase: { product, error in
// Handle purchase failure
},
didFinishRestore: { profile in
// Handle successful restore
},
didFailRestore: { error in
// Handle restore failure
},
didReceiveError: { error in
// Handle the error (rendering or JS exception from the flow script).
}
)UIKit’te flow ve paywallları sunma
Flow veya paywall’ı cihaz ekranında göstermek için şu adımları izleyin:
-
Göstermek istediğiniz görsel flow’u
AdaptyUI.flowController(with:delegate:)metodunu kullanarak başlatın:import AdaptyUI let visualFlow = try AdaptyUI.flowController( with: <AdaptyUI.FlowConfiguration>, delegate: <AdaptyFlowControllerDelegate> )İstek parametreleri:
Parametre Durum Açıklama flowConfiguration zorunlu Flow veya paywallın görsel ayrıntılarını içeren AdaptyUI.FlowConfigurationnesnesi.AdaptyUI.getFlowConfiguration(forFlow:)metodunu kullanın. Daha fazla bilgi için Flow ve paywallları getir konusuna bakın.delegate zorunlu Flow ve paywall olaylarını dinlemek için AdaptyFlowControllerDelegate. Daha fazla bilgi için Flow & paywall olaylarını yönetme konusuna bakın.Döndürür:
Nesne Açıklama AdaptyFlowController İstenen flow veya paywall ekranını temsil eden nesne. -
Nesne başarıyla oluşturulduktan sonra cihaz ekranında gösterebilirsiniz:
present(visualFlow, animated: true)
Adapty SDK’nın bir mobil uygulamaya nasıl entegre edildiğine dair gerçek dünya örneği görmek ister misiniz? Paywall gösterme, satın alma yapma ve diğer temel işlevleri içeren tam kurulumu gösteren örnek uygulamalarımıza göz atın.
Paywall Builder kullanarak bir paywall özelleştirdiyseniz, bunu kullanıcıya göstermek için mobil uygulama kodunuzda ayrıca render etmenize gerek yok. Söz konusu paywall, içinde neyin gösterileceğini ve nasıl gösterileceğini zaten içeriyor.
Aşağıda kullanılan AdaptyUI.PaywallConfiguration nesnesini edinmek için Paywall Builder paywalllarını ve konfigürasyonlarını getir sayfasına bakın.
SwiftUI’da paywallları sunma
Modal görünüm olarak sunma
Görsel paywall’ı cihaz ekranında modal görünüm olarak göstermek için SwiftUI’da .paywall değiştiricisini kullanın:
@State var paywallPresented = false // ensure that you manage this variable state and set it to `true` at the moment you want to show the paywall
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 | Zorunlu | Açıklama |
|---|---|---|
| isPresented | zorunlu | Paywall ekranının gösterilip gösterilmediğ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 konfigürasyonlarını getir 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şursa çağrılır. Bu durumda Adapty Destek ile iletişime geçin. |
| fullScreen | isteğe bağlı | Paywallın tam ekran modunda mı yoksa bir modal olarak mı görüneceğini belirler. Varsayılan değer true. |
| didAppear | isteğe bağlı | Paywall görünümü sunulduğunda ç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ı action ID’leri vardır. İki action ID önceden tanımlıdır: close ve openURL; diğerleri özeldir ve builder’da ayarlanabilir. |
| didSelectProduct | isteğe bağlı | Kullanıcı veya sistem tarafından satın alım için bir ürün seçildiğinde ç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üklenirken 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 alert öğelerinin gösterimini yöneten bir binding. |
| showAlertBuilder | isteğe bağlı | Alert görünümünü render eden bir fonksiyon. |
| placeholderBuilder | isteğe bağlı | Paywall yüklenirken placeholder görünümünü render eden bir fonksiyon. |
Parametreler hakkında daha fazla bilgi için iOS - Olayları yönetme konusuna bakın.
Modal olmayan görünüm olarak sunma
Paywallları, uygulamanızın navigasyon akışında navigation destination veya satır içi görünüm olarak da sunabilirsiniz. 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ı sunma
Görsel paywall’ı cihaz ekranında göstermek için şu adımları izleyin:
-
Göstermek istediğiniz görsel paywall’ı
.paywallController(for:products:viewConfiguration:delegate:)metodunu kullanarak başlatın:import AdaptyUI let visualPaywall = AdaptyUI.paywallController( with: <paywall configuration object>, delegate: <AdaptyPaywallControllerDelegate> )İstek parametreleri:
Parametre Durum 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 konfigürasyonlarını getir konusuna bakın.delegate zorunlu Paywall olaylarını dinlemek için 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 nesne. -
Nesne başarıyla oluşturulduktan sonra cihaz ekranında gösterebilirsiniz:
present(visualPaywall, animated: true)
Adapty SDK’nın bir mobil uygulamaya nasıl entegre edildiğine dair gerçek dünya örneği görmek ister misiniz? Paywall gösterme, satın alma yapma ve diğer temel işlevleri içeren tam kurulumu gösteren örnek uygulamalarımıza göz atın.