Flow aksiyonlarına yanıt verme - iOS

Adapty Flow Builder veya Paywall Builder kullanarak flow veya paywall oluşturuyorsanız, butonları doğru şekilde yapılandırmanız kritik önem taşır:

  1. Paywall Builder’da bir düğme ekleyin ve ona önceden var olan bir eylem atayın ya da özel bir eylem ID’si oluşturun.
  2. Atadığınız her eylemi işlemek için uygulama kodunuzu yazın.

Bu kılavuz, özel ve önceden var olan eylemlerin kodunuzda nasıl işleneceğini gösterir.

Yalnızca flow/paywall kapanışları ve URL açma işlemleri otomatik olarak yönetilir. Diğer tüm düğme eylemleri, uygulama kodunda uygun bir yanıt uygulaması gerektirir.

Flow ve paywallları kapatma

Flow veya paywallınıza bir kapatma düğmesi eklemek için:

  1. Builder’da bir düğme ekleyin ve Close eylemini atayın.
  2. Uygulama kodunuzda close eylemi için bir handler uygulayın.

iOS SDK’da close eylemi, flow veya paywall’ı varsayılan olarak kapatır. Ancak gerekirse bu davranışı kodunuzda geçersiz kılabilirsiniz. Örneğin, bir flow’u kapatmak başka bir flow’u açmayı tetikleyebilir.

.flow(
    isPresented: $flowPresented,
    flowConfiguration: flowConfiguration,
    didPerformAction: { action in
        switch action {
        case .close:
            flowPresented = false // flow veya paywall'ı kapat
        default:
            break
        }
    },
    didFailPurchase: { product, error in /* hatayı işle */ },
    didFinishRestore: { profile in /* access level'ı kontrol et ve kapat */ },
    didFailRestore: { error in /* hatayı işle */ },
    didFailRendering: { error in flowPresented = false }
)

Flow ve paywall’lardan URL açma

Bir grup bağlantı eklemek istiyorsanız (örneğin, kullanım koşulları ve satın alma geri yükleme), builder’da bir Link öğesi ekleyin ve bunu Open URL eylemiyle düğmelerle aynı şekilde ele alın.

Flow veya paywall’ınızdan bağlantı açan bir düğme eklemek için (örneğin, Terms of use veya Privacy policy):

  1. Builder’da bir düğme ekleyin, Open URL eylemini atayın ve açmak istediğiniz URL’yi girin.
  2. Uygulama kodunuzda, alınan URL’yi bir tarayıcıda açan openURL eylemi için bir işleyici uygulayın.

iOS SDK’da openURL eylemi, varsayılan olarak URL’yi açmayı tetikler. Ancak gerekirse bu davranışı kodunuzda geçersiz kılabilirsiniz.

.flow(
    isPresented: $flowPresented,
    flowConfiguration: flowConfiguration,
    didPerformAction: { action in
        switch action {
        case let .openURL(url):
            UIApplication.shared.open(url, options: [:]) // varsayılan davranış
        default:
            break
        }
    },
    didFailPurchase: { product, error in /* hatayı işle */ },
    didFinishRestore: { profile in /* access level'ı kontrol et ve kapat */ },
    didFailRestore: { error in /* hatayı işle */ },
    didFailRendering: { error in flowPresented = false }
)

Özel eylemleri yönetme

Başka eylemleri yönetecek bir düğme eklemek için:

  1. Oluşturucuda bir düğme ekleyin, Custom eylemini atayın ve bir ID belirleyin.
  2. Uygulama kodunuzda, oluşturduğunuz eylem ID’si için bir işleyici uygulayın.

Örneğin, başka bir abonelik teklifi seti ya da tek seferlik satın alma seçenekleriniz varsa, başka bir flow veya paywall açacak bir düğme ekleyebilirsiniz:

.flow(
    isPresented: $flowPresented,
    flowConfiguration: flowConfiguration,
    didPerformAction: { action in
        switch action {
        case let .custom(id):
            if id == "openNewPaywall" {
                // Display another flow or paywall
            }
        default:
            break
        }
    },
    didFailPurchase: { product, error in /* handle the error */ },
    didFinishRestore: { profile in /* check access level and dismiss */ },
    didFailRestore: { error in /* handle the error */ },
    didFailRendering: { error in flowPresented = false }
)

Adapty paywall builder kullanarak paywall oluşturuyorsanız, butonları doğru şekilde yapılandırmanız kritik önem taşır:

  1. Paywall builder’da bir buton ekleyin ve bu butona mevcut bir eylem atayın ya da özel bir eylem ID’si oluşturun.
  2. Atadığınız her eylemi uygulamanızın kodunda işleyecek kodu yazın.

Bu kılavuz, özel ve mevcut eylemleri kodunuzda nasıl ele alacağınızı gösterir.

Yalnızca satın almalar, geri yüklemeler, paywall kapanmaları ve URL açma işlemleri otomatik olarak yönetilir. Diğer tüm buton eylemleri için uygulama kodunda uygun yanıt implementasyonu gereklidir.

Paywallları kapatma

Paywallınızı kapatacak bir düğme eklemek için:

  1. Paywall builder’da bir düğme ekleyin ve Close eylemini atayın.
  2. Uygulama kodunuzda, paywall’ı kapatan close eylemi için bir işleyici uygulayın.

iOS SDK’da close eylemi, varsayılan olarak paywall’ı kapatmayı tetikler. Ancak gerekirse bu davranışı kodunuzda geçersiz kılabilirsiniz. Örneğin, bir paywall’ı kapatmak başka bir paywall’ın açılmasını tetikleyebilir.

func paywallController(_ controller: AdaptyPaywallController,
                       didPerform action: AdaptyUI.Action) {
    switch action {
        case .close:
            controller.dismiss(animated: true) // default behavior
            break
    }
}

Paywalllardan URL açma

Bir grup bağlantı eklemek istiyorsanız (ör. kullanım koşulları ve satın alma geri yükleme), paywall builder’da bir Link öğesi ekleyin ve bunu Open URL eylemine sahip düğmelerle aynı şekilde yönetin.

Paywallınızdan bağlantı açan bir düğme eklemek için (ör. Kullanım Koşulları veya Gizlilik Politikası):

  1. Paywall builder’da bir düğme ekleyin, Open URL eylemini atayın ve açmak istediğiniz URL’yi girin.
  2. Uygulama kodunuzda, alınan URL’yi tarayıcıda açan openUrl eylemi için bir işleyici uygulayın.

iOS SDK’da openUrl eylemi, varsayılan olarak URL’yi açmayı tetikler. Ancak gerekirse bu davranışı kodunuzda geçersiz kılabilirsiniz.

func paywallController(_ controller: AdaptyPaywallController,
                       didPerform action: AdaptyUI.Action) {
    switch action {
        case let .openURL(url):
            UIApplication.shared.open(url, options: [:]) // default behavior
        break
    }
}

Uygulamaya giriş yapma

Kullanıcıların uygulamanıza giriş yapmasını sağlayan bir düğme eklemek için:

  1. Paywall builder’da bir düğme ekleyin ve Login eylemini atayın.
  2. Uygulama kodunuzda, kullanıcınızı tanımlayan login eylemi için bir işleyici uygulayın.
func paywallController(_ controller: AdaptyPaywallController,
                      didPerform action: AdaptyUI.Action) {
   switch action {
       case .login:
           // Show a login screen
           let loginVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "LoginViewController")
           controller.present(loginVC, animated: true)
   }
}

Özel eylemleri yönetme

Diğer eylemleri yöneten bir düğme eklemek için:

  1. Paywall builder’da bir düğme ekleyin, Custom eylemini atayın ve bir ID belirleyin.
  2. Uygulama kodunuzda, oluşturduğunuz eylem ID’si için bir işleyici uygulayın.

Örneğin, başka bir abonelik teklifi veya tek seferlik satın alma seçeneğiniz varsa başka bir paywall görüntüleyen bir düğme ekleyebilirsiniz:

func paywallController(_ controller: AdaptyPaywallController,
                      didPerform action: AdaptyUI.Action) {
   switch action {
       case let .custom(id):
           if id == "openNewPaywall" {
              // Başka bir paywall göster
              }
           }
           break
   }
}