Flow ve paywallları görüntüleme - Android

Display flows and paywalls
Flow'lar Flow & Paywall Builder ile oluşturulur — cihazda natif olarak render edilir, WebView gerekmez
Eski Paywall Builder paywall'ları Eski Paywall Builder ile oluşturulmuş tüm içerik

Adapty tarafından oluşturulan bir flow veya eski Paywall Builder’da oluşturulan bir paywall varsa, bunu kullanıcıya göstermek için mobil uygulama kodunuzda ayrıca render etmeniz gerekmez. Böyle bir flow veya paywall, içinde neyin gösterileceğini ve nasıl gösterileceğini zaten içerir.

Warning

Bu rehber, Adapty tarafından render edilen flow’lar ve paywall’lar için geçerlidir. Remote config paywall’lar ve Observer modu için süreç farklıdır.

Aşağıda kullanılan flowConfiguration nesnesini almak için bkz. Flow’ları ve paywall’ları al.

İstek parametreleri:

ParametreZorunlulukAçıklama
flowConfigurationzorunluFlow’un görsel ayrıntılarını içeren bir AdaptyUI.FlowConfiguration nesnesi sağlayın. Bunu yüklemek için AdaptyUI.getFlowConfiguration(flow) metodunu kullanın. Daha fazla ayrıntı için Görünüm yapılandırmasını getirme konusuna bakın.
productsisteğe bağlıEkrandaki ürünlerin görüntülenme süresini optimize etmek için bir AdaptyPaywallProduct dizisi sağlayın. null değeri geçilirse AdaptyUI gerekli ürünleri otomatik olarak getirir.
eventListeneristeğe bağlıFlow olaylarını izlemek için bir AdaptyFlowEventListener sağlayın. Kullanım kolaylığı açısından AdaptyFlowDefaultEventListener sınıfını genişletmeniz önerilir. Daha fazla ayrıntı için Flow ve paywall olaylarını yönetme konusuna bakın.
insetsisteğe bağlı

Inset’ler, tıklanabilir öğelerin sistem çubuklarının arkasında gizlenmesini önlemek için flow’un etrafındaki boşluklardır.

Varsayılan: Unspecified — bu, Adapty’nin inset’leri otomatik olarak ayarlayacağı anlamına gelir; bu ayar uçtan uca flow’lar için mükemmel çalışır.

Flow’unuz uçtan uca değilse özel inset’ler ayarlamak isteyebilirsiniz. Bunun nasıl yapılacağını aşağıdaki Flow inset’lerini değiştirme bölümünde okuyabilirsiniz.

customAssetsisteğe bağlıFlow veya paywall’unuzdaki görselleri ve videoları çalışma zamanında değiştirmek için bir AdaptyCustomAssets nesnesi geçirin. Daha fazla ayrıntı için Varlıkları özelleştirme konusuna bakın.
tagResolveristeğe bağlıFlow metnindeki özel etiketleri çözümlemek için AdaptyUiTagResolver kullanın. Bu çözümleyici bir etiket parametresi alır ve bunu karşılık gelen bir dizeye dönüştürür.
timerResolveristeğe bağlıÖzel zamanlayıcı işlevselliği kullanacaksanız çözümleyiciyi buraya geçirin.
Tip

Adapty SDK’nın bir mobil uygulamaya nasıl entegre edildiğini gerçek dünyadan bir örnekle görmek ister misiniz? Paywall gösterme, satın alma yapma ve diğer temel işlevler dahil olmak üzere tam kurulumu sergileyen örnek uygulamalarımıza göz atın.

Flow inset’lerini değiştirme

Inset’ler, flow’un etrafındaki boşluklardır ve tıklanabilir öğelerin sistem çubuklarının arkasında gizlenmesini önler. Adapty varsayılan olarak inset’leri otomatik olarak ayarlar; bu, kenardan kenara flow’larda mükemmel çalışır.

Flow’unuz kenardan kenara değilse, özel inset’ler ayarlamak isteyebilirsiniz:

  • AdaptyFlowView üst durum çubuğuyla da alt gezinme çubuğuyla da çakışmıyorsa AdaptyFlowInsets.None kullanın.
  • Flow’unuz üst durum çubuğuyla çakışıyor ancak altla çakışmıyorsa gibi daha özel durumlar için yalnızca bottomInset değerini aşağıdaki örnekte gösterildiği gibi 0 olarak ayarlayabilirsiniz:

Geliştirici tanımlı zamanlayıcı kullanımı

Mobil uygulamanızda geliştirici tanımlı zamanlayıcılar kullanmak için bir timerResolver nesnesi oluşturun; bu nesne, özel zamanlayıcıları flow oluşturulduğunda yerlerine geçecek string değerlerle eşleştiren bir sözlük veya haritadır. İşte bir örnek:

Bu örnekte, CUSTOM_TIMER_NY, Adapty kontrol panelinde ayarladığınız geliştirici tanımlı zamanlayıcının Timer ID’sidir. timerResolver, uygulamanızın zamanlayıcıyı doğru değerle (örneğin 13d 09h 03m 34s gibi — zamanlayıcının bitiş zamanından, yani Yılbaşı gibi bir tarihten, mevcut zamanın çıkarılmasıyla hesaplanan) dinamik olarak güncellemesini sağlar.

Özel etiketleri kullanma

Mobil uygulamanızda özel etiketler kullanmak için bir tagResolver nesnesi oluşturun; bu nesne, özel etiketleri flow oluşturulduğunda onların yerine geçecek string değerlerle eşleştiren bir sözlük ya da haritadır. İşte bir örnek:

Bu örnekte, USERNAME Adapty kontrol panelinde <USERNAME/> olarak girdiğiniz özel bir etikettir. tagResolver, uygulamanızın bu özel etiketi dinamik olarak belirtilen değerle—örneğin John—değiştirmesini sağlar.

tagResolver’ı flow’unuzu sunmadan hemen önce oluşturup doldurmanızı öneririz. Hazır olduğunda, flow’u sunmak için kullandığınız AdaptyUI metoduna iletin.

Flow yükleme göstergesi rengini değiştirme

Yükleme göstergesinin varsayılan rengini aşağıdaki şekilde geçersiz kılabilirsiniz:


<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">

    <item name="adapty_progressIndicatorColor">@color/yourColor</item>
</style>

Paywall Builder ile özelleştirilmiş bir paywall oluşturduysanız, kullanıcıya göstermek için mobil uygulama kodunuzda bu paywall’ı oluşturma konusunda endişelenmenize gerek yoktur. Böyle bir paywall, hem paywall içinde nelerin gösterileceğini hem de nasıl gösterileceğini içerir.

Warning

Bu kılavuz yalnızca Adapty SDK 3.x için eski Paywall Builder’da oluşturulmuş paywallları kapsar. SDK v3.0 gerektirir. SDK 2.x veya öncesi için oluşturulmuş bir paywall, remote config paywall veya Observer mode içindeki bir paywall sunmak farklı şekilde çalışır.

Aşağıda kullanılan viewConfiguration nesnesini almak için bkz. Paywall Builder paywalllerini ve yapılandırmalarını getirme.

İstek parametreleri:

ParametreVarlıkAçıklama
viewConfigurationzorunluPaywallın görsel ayrıntılarını içeren bir AdaptyUI.LocalizedViewConfiguration nesnesi sağlayın. Bunu yüklemek için Adapty.getViewConfiguration(paywall) metodunu kullanın. Daha fazla bilgi için Paywallın görsel yapılandırmasını getirme konusuna bakın.
productsisteğe bağlıEkrandaki ürünlerin görüntülenme zamanlamasını optimize etmek için bir AdaptyPaywallProduct dizisi sağlayın. null geçilirse AdaptyUI gerekli ürünleri otomatik olarak getirir.
eventListeneristeğe bağlıPaywall olaylarını izlemek için bir AdaptyUiEventListener sağlayın. Kullanım kolaylığı açısından AdaptyUiDefaultEventListener’ı genişletmeniz önerilir. Daha fazla bilgi için Paywall olaylarını yönetme konusuna bakın.
insetsisteğe bağlı

Insets, tıklanabilir öğelerin sistem çubuklarının arkasına gizlenmesini önleyen paywall etrafındaki boşluklardır.

Varsayılan: UNSPECIFIED — bu, Adapty’nin inset’leri otomatik olarak ayarlayacağı anlamına gelir; bu ayar kenardan kenara paywalllar için mükemmel çalışır.

Paywallınız kenardan kenara değilse özel inset’ler ayarlamak isteyebilirsiniz. Bunun nasıl yapılacağını aşağıdaki Paywall inset’lerini değiştirme bölümünde okuyabilirsiniz.

personalizedOfferResolveristeğe bağlıKişiselleştirilmiş fiyatlandırmayı (daha fazla bilgi) belirtmek için AdaptyUiPersonalizedOfferResolver uygulayın ve AdaptyPaywallProduct’ı, ürünün fiyatı kişiselleştirilmişse true, değilse false olarak eşleyen kendi mantığınızı geçirin.
tagResolveristeğe bağlıPaywall metnindeki özel etiketleri çözümlemek için AdaptyUiTagResolver kullanın. Bu çözümleyici bir etiket parametresi alır ve bunu karşılık gelen bir dizeye dönüştürür. Daha fazla bilgi için Paywall Builder’daki Özel Etiketler konusuna bakın.
timerResolveristeğe bağlıÖzel zamanlayıcı işlevselliği kullanacaksanız çözümleyiciyi buraya geçirin.
Tip

Adapty SDK’nın bir mobil uygulamaya nasıl entegre edildiğini gerçek dünyadan bir örnekle görmek ister misiniz? Paywall gösterme, satın alma yapma ve diğer temel işlevler dahil olmak üzere tam kurulumu sergileyen örnek uygulamalarımıza göz atın.

Paywall insets’lerini değiştirme

Insets, tıklanabilir öğelerin sistem çubukları arkasında gizlenmesini engelleyen paywall etrafındaki boşluklardır. Varsayılan olarak Adapty, kenar-kenara paywalllar için harika çalışan insets’leri otomatik olarak ayarlar.

Paywallınız kenar-kenara değilse özel insets ayarlamak isteyebilirsiniz:

  • AdaptyPaywallView ile ne durum çubuğu ne de gezinme çubuğu çakışmıyorsa AdaptyPaywallInsets.NONE kullanın.
  • Paywallınız üst durum çubuğuyla çakışıyor ama alt kısımla çakışmıyorsa gibi daha özel durumlarda, aşağıdaki örnekte gösterildiği gibi yalnızca bottomInset’i 0 olarak ayarlayabilirsiniz:

Geliştirici tanımlı zamanlayıcı kullanma

Mobil uygulamanızda geliştirici tanımlı zamanlayıcılar kullanmak için bir timerResolver nesnesi oluşturun; bu nesne, özel zamanlayıcıları paywall oluşturulduğunda onların yerine geçecek string değerleriyle eşleştiren bir sözlük ya da haritadır. İşte bir örnek:

Bu örnekte, CUSTOM_TIMER_NY, Adapty kontrol panelinde ayarladığınız geliştirici tanımlı zamanlayıcının Timer ID’sidir. timerResolver, uygulamanızın zamanlayıcıyı doğru değerle dinamik olarak güncellemesini sağlar; örneğin 13d 09h 03m 34s (zamanlayıcının bitiş zamanı, Yeni Yıl günü gibi, eksi mevcut zaman olarak hesaplanır).

Özel etiketleri kullanma

Mobil uygulamanızda özel etiketler kullanmak için bir tagResolver nesnesi oluşturun; bu nesne, özel etiketleri paywall render edildiğinde onların yerini alacak dize değerleriyle eşleştiren bir sözlük veya haritadır. İşte bir örnek:

Bu örnekte USERNAME, Adapty kontrol panelinde <USERNAME/> olarak girdiğiniz özel bir etikettir. tagResolver, uygulamanızın bu özel etiketi dinamik olarak belirtilen değerle (örneğin John) değiştirmesini sağlar.

tagResolver’ı paywall’ı göstermeden hemen önce oluşturup doldurmanızı öneririz. Hazır olduğunda, paywall’ı sunmak için kullandığınız AdaptyUI metoduna aktarın.

Yükleme göstergesinin rengini değiştirme

Yükleme göstergesinin varsayılan rengini aşağıdaki şekilde geçersiz kılabilirsiniz:


<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">

    <item name="adapty_progressIndicatorColor">@color/yourColor</item>
</style>