React Native SDK'da remote config paywall'ları için paywall'ları ve ürünleri getirme

Remote config ve özel paywall’ları sergilemeden önce, onlar hakkındaki bilgileri getirmeniz gerekir. Lütfen bu konunun remote config ve özel paywall’lara atıfta bulunduğunu unutmayın. Flow Builder veya Paywall Builder’da özelleştirilen flow’ları veya paywall’ları getirmeyle ilgili yönergeler için Flow Builder flow’larını ve Paywall Builder paywall’larını ve yapılandırmalarını getirme bölümüne başvurun.

Adapty SDK’nın bir mobil uygulamaya nasıl entegre edildiğini gerçek bir örnekle görmek ister misiniz? Tam kurulumu, paywall’ların gösterimini, satın alma işlemlerini ve diğer temel işlevleri içeren örnek uygulamalarımıza göz atın.

Mobil uygulamanızda flow’ları ve ürünleri getirmeye başlamadan önce (genişletmek için tıklayın)
  1. Adapty Kontrol Paneli’nde ürünlerinizi oluşturun.

  2. Adapty Kontrol Paneli’nde bir flow veya paywall oluşturun ve ürünleri ona dahil edin.

  3. Adapty Kontrol Paneli’nde placement’lar oluşturun ve flow’unuzu veya paywall’ınızı placement’a dahil edin.

  4. Mobil uygulamanızda Adapty SDK’yı yükleyin.

Flow bilgilerini getirme

Adapty’de bir ürün, hem App Store hem de Google Play’deki ürünlerin bir kombinasyonu olarak işlev görür. Bu platformlar arası ürünler flow’lara ve paywall’lara entegre edilir; böylece onları belirli mobil uygulama placement’larında sergileyebilirsiniz.

Ürünleri görüntülemek için, getFlow metoduyla placement’larınızdan birinden bir AdaptyFlow almanız gerekir.

Ürün ID’lerini koda gömmeyin (hardcode). Koda gömmeniz gereken tek ID, placement ID’sidir. Flow’lar uzaktan yapılandırılır, bu yüzden ürünlerin sayısı ve mevcut teklifler her an değişebilir. Uygulamanız bu değişiklikleri dinamik olarak yönetmelidir—bir flow bugün iki, yarın üç ürün döndürürse, kod değişikliği olmadan hepsini gösterin.

try {
    const id = 'YOUR_PLACEMENT_ID';

    const flow = await adapty.getFlow(id);
    // the requested flow
} catch (error) {
    // handle the error
}
ParametreZorunluAçıklama
placementIdgerekliPlacement’ın tanımlayıcısı. Bu, Adapty Kontrol Paneli’nizde bir placement oluştururken belirttiğiniz değerdir.
fetchPolicyvarsayılan: .reloadRevalidatingCacheData

Varsayılan olarak SDK, verileri sunucudan yüklemeye çalışır ve başarısızlık durumunda önbelleğe alınmış verileri döndürür. Bu varyantı öneririz çünkü kullanıcılarınızın her zaman en güncel verileri almasını sağlar.

Ancak kullanıcılarınızın istikrarsız internetle uğraştığını düşünüyorsanız, önbelleğe alınmış veriler varsa onları döndürmek için .returnCacheDataElseLoad kullanmayı düşünün. Bu senaryoda kullanıcılar mutlak en son verileri alamayabilir, ancak internet bağlantıları ne kadar kötü olursa olsun daha hızlı yükleme süreleri yaşarlar. Önbellek düzenli olarak güncellenir, bu yüzden ağ isteklerinden kaçınmak için oturum sırasında kullanmak güvenlidir.

Uygulamayı yeniden başlattığınızda önbelleğin bozulmadan kaldığını ve yalnızca uygulama yeniden yüklendiğinde veya manuel temizlik yoluyla temizlendiğini unutmayın.

Adapty SDK, flow’ları ve paywall’ları iki katmanda saklar: yukarıda açıklanan düzenli olarak güncellenen önbellek ve yedek paywall’lar . Ayrıca flow’ları ve paywall’ları daha hızlı getirmek için CDN’i ve CDN erişilemez olduğunda bağımsız bir yedek sunucuyu kullanırız. Bu sistem, internet bağlantısının zayıf olduğu durumlarda bile güvenilirliği sağlarken her zaman flow’larınızın en son sürümünü almanızı garanti etmek için tasarlanmıştır.

loadTimeoutMsvarsayılan: 5 sn

Bu değer, bu metodun zaman aşımını sınırlar. Zaman aşımına ulaşılırsa, önbelleğe alınmış veriler veya yerel yedek döndürülür.

Nadir durumlarda bu metodun, işlem alt katmanda farklı isteklerden oluşabileceği için loadTimeout’ta belirtilenden biraz daha geç zaman aşımına uğrayabileceğini unutmayın.

v4’te getFlow artık locale parametresi almaz. Özel paywall’lar için, mevcut tüm locale’ler flow’un remote config’inde (flow.remoteConfigs) döndürülür—kullanıcının cihazına veya uygulama ayarına uyanı seçin.

Ürün ID’lerini koda gömmeyin (hardcode)! Flow’lar uzaktan yapılandırıldığından, mevcut ürünler, ürün sayısı ve özel teklifler (ücretsiz denemeler gibi) zaman içinde değişebilir. Kodunuzun bu senaryoları yönettiğinden emin olun. Örneğin, başlangıçta 2 ürün getirirseniz, uygulamanız bu 2 ürünü göstermelidir. Ancak daha sonra 3 ürün getirirseniz, uygulamanız herhangi bir kod değişikliği gerektirmeden 3’ünü de göstermelidir. Koda gömmeniz gereken tek şey placement ID’sidir.

Yanıt parametreleri:

ParametreAçıklama
FlowPlacement’ı, tanımlayıcıları (id, variationId), adı, paywall varyasyonlarını (paywalls) ve bir remoteConfigs dizisini (yapılandırılmış her locale için bir girdi) içeren bir AdaptyFlow nesnesi. Flow için ürünleri getirmek üzere getPaywallProducts(flow) çağırın.

Ürünleri getirme

Flow’a sahip olduğunuzda, ona karşılık gelen ürün dizisini sorgulayabilirsiniz:

try {
    // ...flow
    const products = await adapty.getPaywallProducts(flow);
  // the requested products list
} catch (error) {
    // handle the error
}

Yanıt parametreleri:

ParametreAçıklama
ProductsÜrün tanımlayıcısı, ürün adı, fiyat, para birimi, abonelik süresi ve diğer birkaç özelliği içeren AdaptyPaywallProduct nesnelerinin listesi.

Kendi paywall tasarımınızı uygularken AdaptyPaywallProduct nesnesindeki bu özelliklere erişmeniz gerekecektir. Aşağıda en sık kullanılan özellikler gösterilmektedir; mevcut tüm özellikler için bağlantılı belgeye başvurun.

ÖzellikAçıklama
TitleÜrünün başlığını görüntülemek için product.localizedTitle kullanın. Yerelleştirmenin, cihazın locale’inden ziyade kullanıcıların seçtiği mağaza ülkesine dayandığını unutmayın.
PriceFiyatın yerelleştirilmiş bir sürümünü görüntülemek için product.price?.localizedString kullanın. Bu yerelleştirme, cihazın locale bilgisine dayanır. Fiyata product.price?.amount kullanarak bir sayı olarak da erişebilirsiniz. Değer yerel para biriminde sağlanır. İlgili para birimi sembolünü almak için product.price?.currencySymbol kullanın.
Subscription PeriodSüreyi (örneğin hafta, ay, yıl vb.) görüntülemek için product.subscription?.localizedSubscriptionPeriod kullanın. Bu yerelleştirme, cihazın locale’ine dayanır. Abonelik süresini programatik olarak getirmek için product.subscription?.subscriptionPeriod kullanın. Oradan, uzunluğu almak için unit özelliğine erişebilirsiniz (yani ‘day’, ‘week’, ‘month’, ‘year’ veya ‘unknown’). numberOfUnits değeri size süre birimi sayısını verir. Örneğin, üç aylık bir abonelik için, unit özelliğinde 'month' ve numberOfUnits özelliğinde 3 görürsünüz.
Introductory OfferBir aboneliğin başlangıç teklifi içerdiğini gösteren bir rozet veya başka bir gösterge görüntülemek için, product.subscription?.offer?.phases özelliğine göz atın. Bu, en fazla iki indirim aşaması içerebilen bir listedir: ücretsiz deneme aşaması ve başlangıç fiyatı aşaması. Her aşama nesnesinde şu yararlı özellikler bulunur:
paymentMode: 'free_trial', 'pay_as_you_go', 'pay_up_front' ve 'unknown' değerlerine sahip bir dize. Ücretsiz denemeler 'free_trial' türünde olur.
price: Bir sayı olarak indirimli fiyat. Ücretsiz denemeler için burada 0 arayın.
localizedNumberOfPeriods: Teklifin uzunluğunu açıklayan, cihazın locale’i kullanılarak yerelleştirilmiş bir dize. Örneğin, üç günlük bir deneme teklifi bu alanda '3 days' gösterir.
subscriptionPeriod: Alternatif olarak, teklif döneminin ayrıntılarını bu özellikle ayrı ayrı alabilirsiniz. Teklifler için önceki bölümde açıklandığı şekilde çalışır.
localizedSubscriptionPeriod: Kullanıcının locale’i için biçimlendirilmiş bir indirim abonelik süresi.

Varsayılan kitle flow’uyla flow getirmeyi hızlandırma

Genellikle flow’lar neredeyse anında getirilir, bu yüzden bu süreci hızlandırma konusunda endişelenmenize gerek yoktur. Ancak çok sayıda kitleniz ve placement’ınız olduğu ve kullanıcılarınızın zayıf internet bağlantısı olduğu durumlarda, bir flow’u getirmek istediğinizden daha uzun sürebilir. Bu tür durumlarda, hiçbir şey göstermemek yerine sorunsuz bir kullanıcı deneyimi sağlamak için varsayılan bir flow görüntülemek isteyebilirsiniz.

Bunu çözmek için, belirtilen placement’ın flow’unu All Users kitlesi için getiren getFlowForDefaultAudience metodunu kullanabilirsiniz. Ancak, önerilen yaklaşımın yukarıdaki Flow bilgilerini getirme bölümünde ayrıntılı olarak açıklandığı gibi flow’u getFlow metoduyla getirmek olduğunu anlamak çok önemlidir.

getFlow kullanmanızı neden öneriyoruz

getFlowForDefaultAudience metodu birkaç önemli dezavantajla birlikte gelir:

  • Olası geriye dönük uyumluluk sorunları: Farklı uygulama sürümleri (mevcut ve gelecekteki) için farklı flow’lar göstermeniz gerekiyorsa, zorluklarla karşılaşabilirsiniz. Ya mevcut (eski) sürümü destekleyen flow’lar tasarlamanız ya da mevcut (eski) sürüme sahip kullanıcıların render edilmemiş flow’larla sorun yaşayabileceğini kabul etmeniz gerekir.
  • Hedefleme kaybı: Tüm kullanıcılar All Users kitlesi için tasarlanmış aynı flow’u görür; bu da kişiselleştirilmiş hedeflemeyi kaybettiğiniz anlamına gelir (ülkelere, pazarlama attribution’ına veya kendi özel niteliklerinize dayalı olanlar dahil).

Daha hızlı flow getirmeden yararlanmak için bu dezavantajları kabul etmeye istekliyseniz, getFlowForDefaultAudience metodunu aşağıdaki gibi kullanın. Aksi takdirde, yukarıda açıklanan getFlow’a bağlı kalın.

try {
    const id = 'YOUR_PLACEMENT_ID';

    const flow = await adapty.getFlowForDefaultAudience(id);
  // the requested flow
} catch (error) {
    // handle the error
}
ParametreZorunluAçıklama
placementIdgerekliPlacement’ın tanımlayıcısı. Bu, Adapty Kontrol Paneli’nizde bir placement oluştururken belirttiğiniz değerdir.
fetchPolicyvarsayılan: .reloadRevalidatingCacheData

Varsayılan olarak SDK, verileri sunucudan yüklemeye çalışır ve başarısızlık durumunda önbelleğe alınmış verileri döndürür. Bu varyantı öneririz çünkü kullanıcılarınızın her zaman en güncel verileri almasını sağlar.

Ancak kullanıcılarınızın istikrarsız internetle uğraştığını düşünüyorsanız, önbelleğe alınmış veriler varsa onları döndürmek için .returnCacheDataElseLoad kullanmayı düşünün. Bu senaryoda kullanıcılar mutlak en son verileri alamayabilir, ancak internet bağlantıları ne kadar kötü olursa olsun daha hızlı yükleme süreleri yaşarlar. Önbellek düzenli olarak güncellenir, bu yüzden ağ isteklerinden kaçınmak için oturum sırasında kullanmak güvenlidir.

Uygulamayı yeniden başlattığınızda önbelleğin bozulmadan kaldığını ve yalnızca uygulama yeniden yüklendiğinde veya manuel temizlik yoluyla temizlendiğini unutmayın.

Remote config ve özel paywall’ları sergilemeden önce, onlar hakkındaki bilgileri getirmeniz gerekir. Lütfen bu konunun remote config ve özel paywall’lara atıfta bulunduğunu unutmayın. Paywall Builder ile özelleştirilen paywall’lar için paywall getirmeyle ilgili yönergeler için Paywall Builder paywall’larını ve yapılandırmalarını getirme bölümüne başvurun.

Adapty SDK’nın bir mobil uygulamaya nasıl entegre edildiğini gerçek bir örnekle görmek ister misiniz? Tam kurulumu, paywall’ların gösterimini, satın alma işlemlerini ve diğer temel işlevleri içeren örnek uygulamalarımıza göz atın.

Mobil uygulamanızda paywall’ları ve ürünleri getirmeye başlamadan önce (genişletmek için tıklayın)
  1. Adapty Kontrol Paneli’nde ürünlerinizi oluşturun.

  2. Adapty Kontrol Paneli’nde bir paywall oluşturun ve ürünleri paywall’ınıza dahil edin.

  3. Adapty Kontrol Paneli’nde placement’lar oluşturun ve paywall’ınızı placement’a dahil edin.

  4. Mobil uygulamanızda Adapty SDK’yı yükleyin.

Paywall bilgilerini çekme

Adapty’de bir ürün, App Store ve Google Play’deki ürünlerin bir kombinasyonudur. Bu çapraz platform ürünler paywallara entegre edilerek belirli mobil uygulama placement’larında gösterilmesini sağlar.

Ürünleri görüntüleyebilmek için getPaywall metoduyla placement’larınızdan birinden bir Paywall almanız gerekir.

Ürün ID’lerini doğrudan koda yazmayın. Doğrudan koda yazmanız gereken tek ID, placement ID’sidir. Paywalllar uzaktan yapılandırıldığından ürün sayısı ve mevcut teklifler her an değişebilir. Uygulamanız bu değişiklikleri dinamik olarak yönetmelidir; bugün iki ürün döndüren bir paywall yarın üç ürün döndürüyorsa, kod değişikliği yapmadan hepsini göstermelisiniz.

try {
    const id = 'YOUR_PLACEMENT_ID';
    const locale = 'en';

    const paywall = await adapty.getPaywall(id, locale);
    // the requested paywall
} catch (error) {
    // handle the error
}
ParametreZorunlulukAçıklama
placementIdzorunluPlacement’ın tanımlayıcısı. Adapty Kontrol Paneli’nde placement oluştururken belirttiğiniz değerdir.
locale

isteğe bağlı

varsayılan: en

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

Örnek: en İngilizce, pt-br Brezilya Portekizcesini temsil eder.

Yerel kod hakkında daha fazla bilgi için Yerelleştirmeler ve yerel kodlar sayfasına bakın.

fetchPolicyvarsayılan: .reloadRevalidatingCacheData

SDK varsayılan olarak sunucudan veri yüklemeye çalışır ve 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 verilere erişmesini sağladığı için bu seçeneği öneriyoruz.

Ancak kullanıcılarınızın kararsız bir internet bağlantısıyla uğraştığını düşünüyorsanız, önbelleğe alınmış veri mevcutsa onu döndürmek için .returnCacheDataElseLoad kullanmayı düşünebilirsiniz. Bu senaryoda kullanıcılar en son verilere ulaşamayabilir, 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ğ isteklerinden kaçınmak için oturum sırasında kullanmak güvenlidir.

Önbelleğin uygulama yeniden başlatıldığında bozulmadan kaldığını ve yalnızca uygulama yeniden yüklendiğinde veya manuel temizlik yapıldığında temizlendiğini unutmayın.

Adapty SDK, paywallları iki katmanda saklar: yukarıda açıklanan düzenli güncellenen önbellek ve yedek paywalllar. Paywallları daha hızlı çekmek için CDN ve CDN’e ulaşılamadığında bağımsız bir yedek sunucu da kullanıyoruz. Bu sistem, internet bağlantısının yetersiz olduğu durumlarda bile güvenilirliği sağlarken her zaman en güncel paywall sürümünü almanızı garantilemek için tasarlanmıştır.

loadTimeoutMsvarsayılan: 5 sn

Bu değer, metodun zaman aşımını sınırlar. Zaman aşımına ulaşılırsa önbelleğe alınmış veri veya yerel yedek döndürülür.

Nadir durumlarda bu metodun loadTimeout’ta belirtilenden biraz daha geç zaman aşımına uğrayabileceğini unutmayın; çünkü işlem arka planda farklı isteklerden oluşabilir.

Ürün ID’lerini doğrudan koda yazmayın! Paywalllar uzaktan yapılandırıldığından mevcut ürünler, ürün sayısı ve özel teklifler (ücretsiz deneme gibi) zaman içinde değişebilir. Kodunuzun bu senaryoları yönettiğinden emin olun.
Örneğin, başlangıçta 2 ürün alıyorsanız uygulamanız o 2 ürünü göstermelidir. Ancak daha sonra 3 ürün alırsanız uygulamanız herhangi bir kod değişikliği gerektirmeden 3 ürünü de göstermelidir. Doğrudan koda yazmanız gereken tek şey placement ID’sidir.

Yanıt parametreleri:

ParametreAçıklama
PaywallÜrün ID’leri listesi, paywall tanımlayıcısı, remote config ve diğer birkaç özelliği içeren AdaptyPaywall nesnesi.

Ürünleri çekme

Paywall’ı aldıktan sonra ona karşılık gelen ürün dizisini sorgulayabilirsiniz:

try {
    // ...paywall
    const products = await adapty.getPaywallProducts(paywall);
  // the requested products list
} catch (error) {
    // handle the error
}

Yanıt parametreleri:

ParametreAçıklama
ProductsŞunları içeren AdaptyPaywallProduct nesnelerinin listesi: ürün tanımlayıcısı, ürün adı, fiyat, para birimi, abonelik uzunluğu ve diğer birkaç özellik.

Kendi paywall tasarımınızı uygularken, muhtemelen AdaptyPaywallProduct nesnesindeki bu özelliklere erişmeniz gerekecek. Aşağıda en yaygın kullanılan özellikler gösterilmiştir, ancak mevcut tüm özelliklerle ilgili tam ayrıntılar için bağlantılı belgeye bakın.

ÖzellikAçıklama
TitleÜrünün başlığını görüntülemek için product.localizedTitle kullanın. Yerelleştirmenin, cihazın locale’inden ziyade kullanıcıların seçtiği mağaza ülkesine dayandığını unutmayın.
PriceFiyatın yerelleştirilmiş bir sürümünü görüntülemek için product.price?.localizedString kullanın. Bu yerelleştirme, cihazın locale bilgisine dayanır. Fiyata product.price?.amount kullanarak bir sayı olarak da erişebilirsiniz. Değer yerel para biriminde sağlanır. İlgili para birimi sembolünü almak için product.price?.currencySymbol kullanın.
Subscription PeriodSüreyi (örneğin hafta, ay, yıl vb.) görüntülemek için product.subscription?.localizedSubscriptionPeriod kullanın. Bu yerelleştirme, cihazın locale’ine dayanır. Abonelik süresini programatik olarak getirmek için product.subscription?.subscriptionPeriod kullanın. Oradan, uzunluğu almak için unit özelliğine erişebilirsiniz (yani ‘day’, ‘week’, ‘month’, ‘year’ veya ‘unknown’). numberOfUnits değeri size süre birimi sayısını verir. Örneğin, üç aylık bir abonelik için, unit özelliğinde 'month' ve numberOfUnits özelliğinde 3 görürsünüz.
Introductory OfferBir aboneliğin başlangıç teklifi içerdiğini gösteren bir rozet veya başka bir gösterge görüntülemek için, product.subscription?.offer?.phases özelliğine göz atın. Bu, en fazla iki indirim aşaması içerebilen bir listedir: ücretsiz deneme aşaması ve başlangıç fiyatı aşaması. Her aşama nesnesinde şu yararlı özellikler bulunur:
paymentMode: 'free_trial', 'pay_as_you_go', 'pay_up_front' ve 'unknown' değerlerine sahip bir dize. Ücretsiz denemeler 'free_trial' türünde olur.
price: Bir sayı olarak indirimli fiyat. Ücretsiz denemeler için burada 0 arayın.
localizedNumberOfPeriods: Teklifin uzunluğunu açıklayan, cihazın locale’i kullanılarak yerelleştirilmiş bir dize. Örneğin, üç günlük bir deneme teklifi bu alanda '3 days' gösterir.
subscriptionPeriod: Alternatif olarak, teklif döneminin ayrıntılarını bu özellikle ayrı ayrı alabilirsiniz. Teklifler için önceki bölümde açıklandığı şekilde çalışır.
localizedSubscriptionPeriod: Kullanıcının locale’i için biçimlendirilmiş bir indirim abonelik süresi.

Varsayılan kitle paywall’ıyla paywall çekmeyi hızlandırma

Normalde paywalllar neredeyse anında çekilir, bu nedenle bu süreci hızlandırmak için endişelenmenize gerek yoktur. Ancak çok sayıda kitle ve paywall’ınız varsa ve kullanıcılarınızın internet bağlantısı zayıfsa, bir paywall çekme işlemi istediğinizden daha uzun sürebilir. Bu durumlarda, hiç paywall göstermemek yerine sorunsuz bir kullanıcı deneyimi sağlamak için varsayılan bir paywall görüntülemek isteyebilirsiniz.

Bunu çözmek için, belirtilen placement’ın Tüm Kullanıcılar kitlesi için paywall’ını çeken getPaywallForDefaultAudience metodunu kullanabilirsiniz. Ancak önerilen yaklaşımın, yukarıdaki Paywall Bilgilerini Çekme bölümünde açıklandığı gibi getPaywall metoduyla paywall çekmek olduğunu anlamak önemlidir.

Neden getPaywall kullanmanızı öneriyoruz

getPaywallForDefaultAudience metodunun birkaç önemli dezavantajı vardır:

  • Potansiyel geriye dönük uyumluluk sorunları: Farklı uygulama sürümleri (mevcut ve gelecekteki) için farklı paywalllar göstermeniz gerekiyorsa sorunlarla karşılaşabilirsiniz. Ya mevcut (eski) sürümü destekleyen paywalllar tasarlamak zorunda kalırsınız ya da mevcut (eski) sürüme sahip kullanıcıların render edilmeyen paywalllarla karşılaşabileceğini kabul edersiniz.
  • Hedefleme kaybı: Tüm kullanıcılar Tüm Kullanıcılar kitlesi için tasarlanmış aynı paywall’ı görür; bu da kişiselleştirilmiş hedeflemeyi (ülkelere, pazarlama attribution’ına veya kendi özel özelliklerinize göre hedefleme dahil) kaybettiğiniz anlamına gelir.

Daha hızlı paywall çekme avantajından yararlanmak için bu dezavantajları kabul etmeye hazırsanız, aşağıdaki gibi getPaywallForDefaultAudience metodunu kullanın. Aksi takdirde yukarıda açıklanan getPaywall metoduna bağlı kalın.

try {
    const id = 'YOUR_PLACEMENT_ID';
    const locale = 'en';

    const paywall = await adapty.getPaywallForDefaultAudience(id, locale);
  // the requested paywall
} catch (error) {
    // handle the error
}

getPaywallForDefaultAudience metodu React Native SDK 2.11.2 sürümünden itibaren kullanılabilir.

ParametreZorunlulukAçıklama
placementIdzorunluPlacement’ın tanımlayıcısı. Adapty Kontrol Paneli’nde placement oluştururken belirttiğiniz değerdir.
locale

isteğe bağlı

varsayılan: en

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

Örnek: en İngilizce, pt-br Brezilya Portekizcesini temsil eder.

Yerel kod hakkında daha fazla bilgi için Yerelleştirmeler ve yerel kodlar sayfasına bakın.

fetchPolicyvarsayılan: .reloadRevalidatingCacheData

SDK varsayılan olarak sunucudan veri yüklemeye çalışır ve 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 verilere erişmesini sağladığı için bu seçeneği öneriyoruz.

Ancak kullanıcılarınızın kararsız bir internet bağlantısıyla uğraştığını düşünüyorsanız, önbelleğe alınmış veri mevcutsa onu döndürmek için .returnCacheDataElseLoad kullanmayı düşünebilirsiniz. Bu senaryoda kullanıcılar en son verilere ulaşamayabilir, 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ğ isteklerinden kaçınmak için oturum sırasında kullanmak güvenlidir.

Önbelleğin uygulama yeniden başlatıldığında bozulmadan kaldığını ve yalnızca uygulama yeniden yüklendiğinde veya manuel temizlik yapıldığında temizlendiğini unutmayın.