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.

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:

ParametreZorunlulukAçıklama
isPresentedzorunluPaywall ekranının görüntülenip görüntülenmediğini yöneten bir binding.
paywallConfigurationzorunluPaywallı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.
didFailPurchasezorunluAdapty.makePurchase() başarısız olduğunda çağrılır.
didFinishRestorezorunluAdapty.restorePurchases() başarıyla tamamlandığında çağrılır.
didFailRestorezorunluAdapty.restorePurchases() başarısız olduğunda çağrılır.
didFailRenderingzorunluArayüz render edilirken hata oluştuğunda çağrılır. Bu durumda Adapty Destek ile iletişime geçin.
fullScreenisteğe bağlıPaywallın tam ekran mı yoksa modal olarak mı görüneceğini belirler. Varsayılan değer true’dur.
didAppearisteğe bağlıPaywall görünümü gösterildiğinde çağrılır.
didDisappearisteğe bağlıPaywall görünümü kapatıldığında çağrılır.
didPerformActionisteğ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.
didSelectProductisteğ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.
didStartPurchaseisteğe bağlıKullanıcı satın alma sürecini başlattığında çağrılır.
didFinishPurchaseisteğe bağlıAdapty.makePurchase() başarıyla tamamlandığında çağrılır.
didFinishWebPaymentNavigationisteğe bağlıWeb ödeme navigasyonu tamamlandığında çağrılır.
didStartRestoreisteğe bağlıKullanıcı geri yükleme sürecini başlattığında çağrılır.
didFailLoadingProductsisteğ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.
didPartiallyLoadProductsisteğe bağlıÜrünler kısmen yüklendiğinde çağrılır.
showAlertItemisteğe bağlıPaywallın üzerinde uyarı öğelerinin görüntülenmesini yöneten bir binding.
showAlertBuilderisteğe bağlıUyarı görünümünü render etmek için kullanılan bir fonksiyon.
placeholderBuilderisteğ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:

  1. 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:

    ParametreZorunlulukAçıklama
    paywall configurationzorunluPaywallın görsel ayrıntılarını içeren 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.
    delegatezorunluPaywall 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:

    NesneAçıklama
    AdaptyPaywallControllerİstenen paywall ekranını temsil eden nesne
  2. 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.