Android SDK'da onboarding'leri alma

Warning

Onboardings, Adapty SDK v4 itibarıyla kullanımdan kaldırılmıştır. Bunun yerine flow oluşturun: onboarding’lerin WebView içinde çalışmasının aksine, flow’lar cihazda yerel olarak render edilir — daha akıcı animasyonlar, tutarlı bir yerel görünüm, daha hızlı yükleme süreleri ve WebView bağımlılığı olmadan çalışma.

Adapty Kontrol Paneli’nde builder ile onboarding’in görsel kısmını tasarladıktan sonra, onu Android uygulamanızda gösterebilirsiniz. Bu sürecin ilk adımı, onboarding’i placement ile ilişkilendirmek ve aşağıda açıklanan görünüm yapılandırmasını almaktır.

Başlamadan önce şunları sağlayın:

  1. Adapty Android SDK sürüm 3.8.0 veya daha yüksek sürümü yüklemiş olun.
  2. Bir onboarding oluşturmuş olun.
  3. Onboarding’i bir placement’a eklemiş olun.

Onboarding’i çekme

Kodsuz builder’ımızla bir onboarding oluşturduğunuzda, bu onboarding uygulamanızın çekip göstermesi gereken bir yapılandırma içeren container olarak saklanır. Bu container tüm deneyimi yönetir — hangi içeriğin görüneceğini, nasıl sunulacağını ve kullanıcı etkileşimlerinin (quiz yanıtları veya form girişleri gibi) nasıl işleneceğini belirler. Container ayrıca analitik olaylarını otomatik olarak takip eder, dolayısıyla ayrıca görüntüleme takibi eklemeniz gerekmez.

En iyi performans için, kullanıcılara göstermeden önce görsellerin yüklenmesine yeterli zaman tanımak amacıyla onboarding yapılandırmasını erken aşamada çekin.

Onboarding almak için getOnboarding metodunu kullanın:

Adapty.getOnboarding("YOUR_PLACEMENT_ID") { result ->
    when (result) {
        is AdaptyResult.Success -> {
            val onboarding = result.value
            // the requested onboarding
        }
        is AdaptyResult.Error -> {
            val error = result.error
            // handle the error
        }
    }
}

Parametreler:

ParametreZorunlulukAçıklama
placementIdzorunluİstenen Placement tanımlayıcısı. Bu, Adapty Kontrol Paneli’nde bir placement oluştururken belirttiğiniz değerdir.
locale

isteğe bağlı

varsayılan: en

Onboarding yerelleştirmesinin tanımlayıcısı. Bu parametre, eksi (-) karakteriyle ayrılmış bir veya iki alt etiketten oluşan bir dil kodu olmalıdır. İlk alt etiket dil içindir, ikincisi bölge içindir.

Örnek: en İngilizce anlamına gelir, pt-br Brezilya Portekizcesini temsil eder.

Yerel ayar kodları ve bunların nasıl kullanılması gerektiği hakkında daha fazla bilgi için Yerelleştirmeler ve yerel ayar kodları sayfasına bakın.

fetchPolicyvarsayılan: .reloadRevalidatingCacheData

SDK varsayılan olarak sunucudan veri yüklemeye çalışır; başarısız olursa önbelleğe alınmış veriyi döndürür. Kullanıcılarınızın her zaman en güncel veriyi almasını sağladığı için bu seçeneği öneriyoruz.

Ancak kullanıcılarınızın kararsız bir internet bağlantısıyla karşılaştığını düşünüyorsanız, önbelleğe alınmış veri mevcutsa onu döndürmek için .returnCacheDataElseLoad seçeneğini kullanmayı düşünebilirsiniz. Bu senaryoda kullanıcılar en son veriyi alamayabilir; ancak internet bağlantısı ne kadar kesintili olursa olsun daha hızlı yükleme süreleri yaşarlar. Önbellek düzenli olarak güncellenir, bu nedenle ağ isteklerini önlemek amacıyla oturum sırasında güvenle kullanılabilir.

Önbelleğin uygulama yeniden başlatıldığında bozulmadan kaldığını ve yalnızca uygulama yeniden yüklendiğinde ya da manuel temizleme yapıldığında silindiğini unutmayın.

Adapty SDK, onboarding’leri yerel olarak iki katmanda depolar: yukarıda açıklanan düzenli olarak güncellenen önbellek ve yedek onboarding’ler. Onboarding’leri daha hızlı getirmek için CDN, CDN’e ulaşılamadığında ise bağımsız bir yedek sunucu kullanıyoruz. Bu sistem, internet bağlantısının yetersiz olduğu durumlarda bile güvenilirliği sağlarken onboarding’lerinizin her zaman en güncel sürümünü almanızı garanti edecek şekilde tasarlanmıştır.

loadTimeoutvarsayılan: 5 sn

Bu değer, söz konusu yöntem için zaman aşımını sınırlar. Adapty sunucusu zamanında yanıt vermezse veya hata döndürürse SDK, önbelleğe alınmış onboarding’i döndürür. Önbellekte hiçbir şey yoksa ve sunucu zaman aşımına uğradıysa ya da sunucu hatası döndürdüyse SDK, yedek sunucudan (yalnızca placement’ın All Users kitlesine hizmet veren bir CDN kopyası) onboarding ister. Son çare olarak SDK, onboarding’i yedek dosyanızdan döndürür.

SDK v3, aynı üç kaynağı farklı bir sırayla kullanır.

İşlem arka planda farklı isteklerden oluşabileceğinden, bu yöntemin nadir durumlarda loadTimeout içinde belirtilenden biraz daha geç zaman aşımına uğrayabileceğini unutmayın.

Android için: TimeInterval’ı uzantı işlevleriyle oluşturabilirsiniz (örneğin 5.seconds, burada .seconds değeri import com.adapty.utils.seconds kaynağından gelir) ya da TimeInterval.seconds(5) şeklinde kullanabilirsiniz. Sınır koymamak için TimeInterval.INFINITE kullanın.

Yanıt parametreleri:

ParametreAçıklama
OnboardingOnboarding tanımlayıcısı ve yapılandırması, remote config ve diğer çeşitli özellikleri içeren bir AdaptyOnboarding nesnesi.

Varsayılan kitle onboarding’i ile onboarding çekmeyi hızlandırma

Onboarding’ler genellikle neredeyse anında çekilir, dolayısıyla bu süreci hızlandırma konusunda endişelenmenize gerek yoktur. Ancak çok sayıda kitle ve onboarding’iniz olduğunda ve kullanıcılarınızın internet bağlantısı zayıf olduğunda, onboarding’i çekmek istediğinizden daha uzun sürebilir. Bu gibi durumlarda, hiç onboarding göstermemek yerine sorunsuz bir kullanıcı deneyimi sağlamak için varsayılan bir onboarding görüntülemek isteyebilirsiniz.

Bunu çözmek için, belirtilen placement’ın All Users kitlesi için onboarding’i çeken getOnboardingForDefaultAudience metodunu kullanabilirsiniz. Ancak önerilen yaklaşımın, yukarıdaki Onboarding’i Çekme bölümünde açıklandığı gibi getOnboarding metodu ile onboarding çekmek olduğunu unutmamak önemlidir.

Warning

getOnboardingForDefaultAudience yerine getOnboarding kullanmayı değerlendirin; çünkü ikincisinin önemli kısıtlamaları vardır:

  • Uyumluluk sorunları: Birden fazla uygulama sürümünü desteklerken sorun yaratabilir; geriye dönük uyumlu tasarımlar yapmanızı ya da eski sürümlerin yanlış görüntüleneceğini kabul etmenizi gerektirebilir.
  • Kişiselleştirme yok: Yalnızca “All Users” kitlesi için içerik gösterir; ülke, attribution veya özel niteliklere dayalı hedeflemeyi ortadan kaldırır.

Kullanım durumunuzda daha hızlı çekme bu dezavantajlardan ağır basıyorsa aşağıda gösterildiği gibi getOnboardingForDefaultAudience kullanın. Aksi takdirde yukarıda açıklandığı gibi getOnboarding kullanın.

Adapty.getOnboardingForDefaultAudience("YOUR_PLACEMENT_ID") { result ->
    when (result) {
        is AdaptyResult.Success -> {
            val onboarding = result.value
            // Handle successful onboarding retrieval
        }
        is AdaptyResult.Error -> {
            val error = result.error
            // Handle error case
        }
    }
}

Parametreler:

ParametreZorunlulukAçıklama
placementIdzorunluİstenen Placement’ın tanımlayıcısı. Bu, Adapty Kontrol Paneli’nde placement oluştururken belirttiğiniz değerdir.
locale

isteğe bağlı

varsayılan: en

Onboarding yerelleştirmesinin tanımlayıcısı. Bu parametrenin, eksi (-) karakteriyle ayrılmış bir veya iki alt etiketten oluşan bir dil kodu olması beklenir. İlk alt etiket dil için, ikincisi bölge içindir.

Örnek: en İngilizce anlamına gelir, pt-br Brezilya Portekizcesini temsil eder.

Yerel ayar kodları ve bunların nasıl kullanılmasını önerdiğimiz hakkında daha fazla bilgi için Yerelleştirmeler ve yerel ayar kodları sayfasına bakın.

fetchPolicyvarsayılan: .reloadRevalidatingCacheData

SDK varsayılan olarak sunucudan veri yüklemeye çalışır; başarısız olursa önbelleğe alınmış verileri döndürür. Kullanıcılarınızın her zaman en güncel verilere ulaşmasını sağladığından bu seçeneği öneriyoruz.

Ancak kullanıcılarınızın kararsız internet bağlantısıyla karşılaştığını düşünüyorsanız, önbellekte veri varsa bunu döndürmek için .returnCacheDataElseLoad kullanmayı değerlendirin. Bu senaryoda kullanıcılar en güncel veriye her zaman ulaşamayabilir, ama internet bağlantısı ne kadar zayıf olursa olsun daha hızlı yükleme süreleriyle karşılaşırlar. Önbellek düzenli olarak güncellenir, bu nedenle ağ isteklerinden kaçınmak için oturum boyunca kullanmak güvenlidir.

Önbelleğin uygulama yeniden başlatıldığında bozulmadığını, yalnızca uygulama yeniden yüklendiğinde veya manuel temizlik yapıldığında silindiğini unutmayın.

Adapty SDK onboarding’leri yerel olarak iki katmanda saklar: yukarıda açıklanan düzenli güncellenen önbellek ve yedek onboarding’ler. Onboarding’leri daha hızlı çekmek için CDN, CDN’e erişilemeyen durumlarda ise bağımsız bir yedek sunucu kullanıyoruz. Bu sistem, internet bağlantısının yetersiz olduğu durumlarda bile güvenilirliği sağlarken onboarding’lerinizin her zaman en güncel sürümünü almanızı sağlamak için tasarlanmıştır.