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:

ParametreVarlıkAçıklama
flowConfigurationzorunluFlow’un görsel ayrıntılarını içeren bir AdaptyUI.FlowConfiguration nesnesi sağlayın. Yüklemek için AdaptyUI.getFlowConfiguration(flow) metodunu kullanın. Daha fazla ayrıntı için Görünüm yapılandırmasını getir konusuna bakın.
productsisteğe bağlıEkrandaki ürünlerin gösterim 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ı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ı işle konusuna bakın.
insetsisteğe bağlı

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

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

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

customAssetsisteğe bağlıFlow veya paywallınızdaki görselleri ve videoları çalışma zamanında değiştirmek için bir AdaptyCustomAssets nesnesi geçin. Daha fazla ayrıntı için Varlıkları özelleştir konusuna bakın.
tagResolveristeğe bağlıFlow’un özel etiketleri için uygulamanızın değerlerini döndüren bir AdaptyUiTagResolver. Ayrıntılar için Flow’lara veri aktar konusunu okuyun.
timerResolveristeğe bağlıÖzel zamanlayıcı işlevselliği kullanacaksanız çözümleyiciyi buraya geçin.
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 kullanın

Flow’daki her özel etiket için uygulamanızın değerini döndüren bir AdaptyUiTagResolver oluşturun:

Bu örnekte username, flow’unuzdaki özel bir etiketin adıdır. Kullanıcılar etiketi yerine “DragonSlayer42” görecektir.

Resolver’ı AdaptyUI.getFlowView, AdaptyFlowView.showFlow veya AdaptyFlowScreen’in tagResolver parametresine geçirin.

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>