Flow aksiyonlarına yanıt verme - Android

Adapty Flow Builder veya Paywall Builder kullanarak flow’lar veya paywall’lar oluşturuyorsanız, butonları doğru şekilde ayarlamak kritik öneme sahiptir:

  1. Builder’da bir düğme ekleyin ve ona önceden tanımlanmış bir eylem atayın ya da özel bir eylem kimliği oluşturun.
  2. Atadığınız her eylemi işlemek için uygulamanıza kod yazın.

Bu kılavuz, özel ve önceden tanımlanmış eylemleri kodunuzda nasıl yöneteceğinizi gösterir.

Yalnızca satın almalar, yenileme işlemleri, flow/paywall kapatma ve URL açma otomatik olarak işlenir. 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 butonu eklemek için:

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

Android SDK’da close eylemi, varsayılan olarak flow veya paywallı kapatmayı tetikler. Ancak gerekirse bu davranışı kodunuzda değiştirebilirsiniz. Örneğin, bir flow’un kapatılması başka bir flow’un açılmasını tetikleyebilir.

override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
    when (action) {
        AdaptyUI.Action.Close -> (context as? Activity)?.onBackPressed() // default behavior
    }
}

Flow ve paywalllardan 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 yönetin.

Flow veya paywallınızdan bir 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 tarayıcıda açan openUrl eylemi için bir işleyici uygulayın.

Android SDK’da openUrl eylemi varsayılan olarak URL’yi açar. Ancak gerekirse bu davranışı kodunuzda değiştirebilirsiniz.

override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
   when (action) {    
       is AdaptyUI.Action.OpenUrl -> {
           val intent = Intent(Intent.ACTION_VIEW, Uri.parse(action.url)) // default behavior
           context.startActivity(intent)
       }
   }
}

Özel eylemleri yönetme

Başka eylemleri yöneten bir buton eklemek için:

  1. Builder’da bir buton ekleyin, ona Custom eylemini atayın ve bir ID verin.
  2. Uygulama kodunuzda, oluşturduğunuz eylem ID’si için bir işleyici uygulayın.

Örneğin, başka bir abonelik teklifi setiiniz veya tek seferlik satın almalarınız varsa, başka bir flow ya da paywall görüntüleyecek bir buton ekleyebilirsiniz:

override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
   when (action) {
       is AdaptyUI.Action.Custom -> {
           if (action.customId == "openNewPaywall") {
               // Display another flow or paywall
           }
       }
   }
}

Adapty paywall builder kullanarak paywall oluşturuyorsanız, düğmeleri doğru şekilde ayarlamak çok önemlidir:

  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 uygulamanıza kod yazın.

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

Yalnızca satın almalar, geri yüklemeler, paywall kapatmaları ve URL açma işlemleri otomatik olarak işlenir. Diğer tüm düğme eylemleri, uygulama kodunda uygun yanıt uygulaması gerektirir.

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.

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

override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
    when (action) {
        AdaptyUI.Action.Close -> (context as? Activity)?.onBackPressed() // default behavior
    }
}

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), paywall builder’da bir Link öğesi ekleyin ve bunu Open URL eylemiyle butonları işlediğiniz gibi yönetin.

Paywall’ınızdan bir bağlantı açan buton eklemek için (örneğin, Terms of use veya Privacy policy):

  1. Paywall builder’da bir buton 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.

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

override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
   when (action) {    
       is AdaptyUI.Action.OpenUrl -> {
           val intent = Intent(Intent.ACTION_VIEW, Uri.parse(action.url)) // default behavior
           context.startActivity(intent)
       }
   }
}

Uygulamaya giriş yapma

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

  1. Paywall builder’da bir buton ekleyin ve Login eylemini atayın.
  2. Uygulama kodunuzda, kullanıcınızı tanımlayan login eylemi için bir işleyici uygulayın.
override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
   when (action) {
       AdaptyUI.Action.Login -> {
           val intent = Intent(context, LoginActivity::class.java)
           context.startActivity(intent)
       }
   }
}

Özel eylemleri yönetme

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

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

Örneğin, farklı bir abonelik teklifi grubunuz veya tek seferlik satın almalarınız varsa, başka bir paywall görüntüleyecek bir düğme ekleyebilirsiniz:

override fun onActionPerformed(action: AdaptyUI.Action, context: Context) {
   when (action) {
       is AdaptyUI.Action.Custom -> {
           if (action.customId == "openNewPaywall") {
               // Display another paywall
           }
       }
   }
}