iOS SDK'da remote config paywallları için paywall ve ürün çekme

Remote config ve özel paywallları uygulamanızda göstermeden önce, bunlara ait bilgileri çekmeniz gerekir. Bu konunun remote config ve özel paywalllarla ilgili olduğunu unutmayın. Flow Builder veya Paywall Builder ile özelleştirilmiş flow’ları veya paywallları çekme rehberi için uygulamanızda flow ve paywallları çekme rehberleri sayfalarına bakın.

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.

Mobil uygulamanızda flow 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 ekleyin.

  3. Adapty Kontrol Paneli’nde placement’lar oluşturun ve flow ya da paywall’ınızı placement’a ekleyin.

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

Flow bilgilerini getirme

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

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

Important

Ürün ID’lerini koda sabit olarak yazmayın. Koda sabit olarak yazmanız gereken tek ID, placement ID’sidir. Flow’lar 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 ele almalıdır; bir flow bugün iki ürün döndürüyorsa yarın üç döndürebilir, tüm ürünleri kod değişikliği yapmadan göstermeniz gerekir.

ParametreZorunlulukAçıklama
placementIdzorunluPlacement tanımlayıcısı. Adapty Kontrol Paneli’nde bir placement oluştururken belirttiğiniz değerdir.
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 verilere ulaşmasını sağladığından bu seçeneği öneriyoruz.

Ancak kullanıcılarınızın istikrarsız bir internet bağlantısıyla çalıştığını düşünüyorsanız, önbellekte veri varsa onu döndürmek için .returnCacheDataElseLoad kullanmayı değerlendirin. Bu senaryoda kullanıcılar en güncel verilere ulaşamayabilir; ancak internet bağlantısı ne kadar zayıf olursa olsun daha hızlı yükleme süreleri yaşarlar. Önbellek düzenli olarak güncellenir, bu nedenle ağ isteklerini azaltmak amacıyla oturum boyunca kullanmak güvenlidir.

Önbelleğin uygulama yeniden başlatıldığında silinmediğini, yalnızca uygulama kaldırıldığında veya manuel temizleme yapıldığında 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, CDN’e ulaşılamadığında ise bağımsız bir yedek sunucu kullanırız.

loadTimeoutvarsayılan: 5 sn

Bu değer, metodun zaman aşımı süresini 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 içinde belirtilenden biraz daha geç zaman aşımına uğrayabileceğini unutmayın; çünkü işlem arka planda farklı isteklerden oluşabilir.

Note

v4’te locale parametresi getFlow’dan çıkarılarak getFlowConfiguration’a taşındı (yalnızca AdaptyUI ile render edilirken kullanılır). Özel paywalllar için tüm mevcut locale’ler flow.remoteConfigs içinde birlikte döndürülür; kullanıcının cihazıyla veya uygulamanızın ayarıyla eşleşen locale’i seçin.

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

Yanıt parametreleri:

ParametreAçıklama
FlowPlacement, tanımlayıcılar (id, variationId), ad, bir remoteConfigs dizisi (yapılandırılmış her locale için bir giriş) ve bir hasViewConfiguration bayrağı içeren AdaptyFlow nesnesi. Flow için ürünleri çekmek üzere getPaywallProducts(flow:) metodunu çağırın.

Ürünleri Getir

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

Yanıt parametreleri:

ParametreAçıklama
ProductsAdaptyPaywallProduct nesnelerinin listesi: ürün tanımlayıcısı, ürün adı, fiyat, para birimi, abonelik süresi ve diğer çeşitli özellikler.
Kendi paywall tasarımınızı uygularken AdaptyPaywallProduct nesnesindeki bu özelliklere ihtiyaç duyacaksınız. Aşağıda en sık kullanılan özellikler açıklanmaktadır; tüm mevcut özellikler için bağlantılı belgeye bakın.
ÖzellikAçıklama
BaşlıkÜrünün başlığını görüntülemek için product.localizedTitle kullanın. Yerelleştirme, cihazın dil ayarı değil, kullanıcının seçtiği mağaza ülkesine göre yapılır.
FiyatFiyatın yerelleştirilmiş sürümünü görüntülemek için product.localizedPrice kullanın. Bu yerelleştirme cihazın dil bilgisine göre yapılır. Fiyata sayı olarak da erişebilirsiniz: product.price. Değer yerel para birimi cinsinden sağlanır. İlgili para birimi sembolünü almak için product.currencySymbol kullanın.
Abonelik DönemiDönemi (örn. hafta, ay, yıl vb.) görüntülemek için product.localizedSubscriptionPeriod kullanın. Bu yerelleştirme cihazın dil ayarına göre yapılır. Abonelik dönemini programatik olarak almak için product.subscriptionPeriod kullanın. Buradan unit enum’una erişerek uzunluğu (gün, hafta, ay, yıl veya bilinmiyor) öğrenebilirsiniz. numberOfUnits değeri ise dönem birimi sayısını verir. Örneğin üç aylık bir abonelik için unit özelliğinde .month, numberOfUnits özelliğinde 3 görürsünüz.
Başlangıç TeklifiBir aboneliğin başlangıç teklifi içerip içermediğini rozet veya başka bir göstergeyle belirtmek için product.subscriptionOffer özelliğine bakın. Bu nesne içinde aşağıdaki yararlı özellikler yer alır:
offerType: Teklif türü; önceden tanımlı değerler introductory, promotional ve winBack’tir (SDK 4.1 ve sonrasında enum yerine açık bir struct olduğundan switch kullanımında default dalı gerekir). Ücretsiz denemeler ve başlangıç indirimli abonelikler introductory türündedir.
price: İndirimli fiyat, sayı olarak. Ücretsiz denemeler için burada 0 değerini arayın.
localizedPrice: Kullanıcının dil ayarına göre biçimlendirilmiş indirim fiyatı.
localizedNumberOfPeriods: Teklifin süresini cihazın dil ayarına göre yerelleştirilmiş biçimde açıklayan bir dize. Örneğin üç günlük deneme teklifi bu alanda 3 days olarak gösterilir.
subscriptionPeriod: Alternatif olarak, teklif döneminin ayrıntılarını bu özellikle alabilirsiniz. Teklifler için önceki bölümde açıklananla aynı şekilde çalışır.
localizedSubscriptionPeriod: Kullanıcının dil ayarına göre biçimlendirilmiş abonelik dönemi.
Note

v4’te, getPaywallProducts(flow:) tarafından döndürülen tüm ürünler artık teklif uygunluk bilgisini içermektedir. v3’teki ayrı getPaywallProductsWithoutDeterminingOffer çağrısı kaldırılmıştır.

Varsayılan kitle flow’u ile flow getirme hızını artırın

Genellikle flow’lar neredeyse anında getirilir, bu yüzden bu süreci hızlandırmak için endişelenmenize gerek yoktur. Ancak çok sayıda kitle ve placement’ınız varsa ve kullanıcılarınızın internet bağlantısı zayıfsa, bir flow’un getirilmesi istediğinizden daha uzun sürebilir. Böyle durumlarda, hiçbir şey göstermek 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 All Users kitlesi için flow’u getiren getFlowForDefaultAudience metodunu kullanabilirsiniz. Ancak, önerilen yaklaşımın yukarıdaki Flow bilgisini getirme bölümünde ayrıntılı olarak açıklandığı gibi getFlow metoduyla flow’u getirmek olduğunu anlamak kritik önem taşır.

Warning

Neden getFlow kullanmanızı öneriyoruz

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

  • Olası geriye dönük uyumluluk sorunları: Farklı uygulama sürümleri (mevcut ve gelecekteki) için farklı flow’lar göstermeniz gerekiyorsa, bazı 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 edilemeyen flow’larla sorun yaşayabileceğini kabul etmeniz gerekecektir.
  • Hedefleme kaybı: Tüm kullanıcılar All Users kitlesi için tasarlanmış aynı flow’u görür; bu da ülkelere, pazarlama attribution verisine veya kendi özel niteliklerinize dayalı kişiselleştirilmiş hedeflemeyi kaybetmeniz anlamına gelir. Bu dezavantajları kabul edip daha hızlı flow getirme işleminden yararlanmak istiyorsanız, getFlowForDefaultAudience metodunu aşağıdaki şekilde kullanın. Aksi takdirde, yukarıda açıklanan getFlow metodunu kullanmaya devam edin.
ParametreZorunlulukAçıklama
placementIdzorunluPlacement tanımlayıcısı. Adapty Kontrol Paneli’nde placement oluştururken belirttiğiniz değerdir.
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 veriye ulaşmasını sağladığından bu seçeneği öneriyoruz.

Ancak kullanıcılarınızın kararsız bir internet bağlantısıyla sık karşılaştığını düşünüyorsanız, önbellekte veri varsa onu döndürmek için .returnCacheDataElseLoad seçeneğini kullanabilirsiniz. Bu durumda kullanıcılar en güncel veriye 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üncellendiğinden, ağ isteklerini azaltmak amacıyla oturum boyunca güvenle kullanılabilir.

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

Remote config ve özel paywallları göstermeden önce, bunlarla ilgili bilgileri almanız gerekir. Bu konunun remote config ve özel paywalllar ile ilgili olduğunu unutmayın. Paywall Builder ile özelleştirilmiş paywallları getirme konusunda rehberlik için uygulamanızda Paywall Builder paywalllarını nasıl getireceğinize dair kılavuzlar sayfalarına bakın.

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.

Mobil uygulamanızda paywall ve ürün çekmeye 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’a ekleyin.

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

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

Paywall bilgilerini çekme

Adapty’de bir ürün, hem App Store hem de Google Play’den ürünlerin birleşimini temsil eder. Bu çapraz platform ürünler, belirli mobil uygulama placement’larında gösterebilmek için paywallara entegre edilir.

Ürünleri gösterebilmek için getPaywall metodunu kullanarak placement’larınızdan birinden bir Paywall almanız gerekir.

Important

Ürün ID’lerini koda gömmayın. Koda gömmeniz 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önetebilmeli; bugün iki ürün döndüren bir paywall yarın üç ürün döndürüyorsa, kod değişikliğine gerek kalmadan hepsini göstermelidir.

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 dili, ikincisi ise bölgeyi belirtir.

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

Yerel ayar kodları ve kullanım önerileri 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 önbellekteki veriyi döndürür. Kullanıcılarınızın her zaman en güncel veriye ulaşmasını sağladığından bu seçeneği öneriyoruz.

Ancak kullanıcılarınızın internet bağlantısının kararsız olduğunu düşünüyorsanız, önbellekte veri varsa onu döndürmek için .returnCacheDataElseLoad seçeneğini kullanabilirsiniz. Bu durumda kullanıcılar en güncel veriye her zaman ulaşamayabilir, ancak internet bağlantısından bağımsız olarak daha hızlı yükleme süreleri yaşarlar. Önbellek düzenli olarak güncellenir; bu nedenle oturum sırasında gereksiz ağ isteklerinden kaçınmak için güvenle kullanılabilir.

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

Adapty SDK, paywallları iki katmanda depolar: yukarıda açıklanan düzenli olarak güncellenen önbellek ve yedek paywalllar. Paywallları daha hızlı çekmek için CDN, CDN’e ulaşılamadığı durumlarda ise bağımsız bir yedek sunucu kullanılır. Bu sistem, internet bağlantısının zayıf olduğu durumlarda bile paywalllarınızın en güncel sürümünü almanızı sağlamak için tasarlanmıştır.

loadTimeoutvarsayılan: 5 sn

Bu değer, metodun zaman aşımı süresini 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 metod, işlem arka planda farklı isteklerden oluşabileceğinden loadTimeout’ta belirtilenden biraz daha geç zaman aşımına uğrayabilir.

Ürün kimliklerini sabit kodlamayın! Paywall’lar 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ı ele aldığından emin olun.

Örneğin, başlangıçta 2 ürün getiriyorsanız, uygulamanız o 2 ürünü göstermelidir. Ancak daha sonra 3 ürün getirirseniz, herhangi bir kod değişikliği gerektirmeksizin uygulamanız 3 ürünü de göstermelidir. Sabit kodlamanız gereken tek şey placement ID’sidir.

Yanıt parametreleri:

ParametreAçıklama
PaywallÜrün ID’lerinin listesini, paywall tanımlayıcısını, remote config’i ve diğer çeşitli özellikleri içeren bir AdaptyPaywall nesnesi.

Ürünleri çekme

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

Yanıt parametreleri:

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

Kendi paywall tasarımınızı uygularken, AdaptyPaywallProduct nesnesindeki bu özelliklere ihtiyaç duyacaksınız. Aşağıda en sık kullanılan özellikler gösterilmektedir; mevcut tüm özellikler hakkında ayrıntılı bilgi için bağlantılı belgeye bakın.

ÖzellikAçıklama
BaşlıkÜrünün başlığını göstermek için product.localizedTitle kullanın. Yerelleştirmenin, cihazın yerel ayarına değil, kullanıcının seçtiği mağaza ülkesine göre yapıldığını unutmayın.
FiyatFiyatın yerelleştirilmiş sürümünü göstermek için product.localizedPrice kullanın. Bu yerelleştirme, cihazın yerel ayar bilgisine göre yapılır. Fiyata sayısal olarak product.price üzerinden de erişebilirsiniz. Değer, yerel para biriminde sağlanır. İlgili para birimi sembolünü almak için product.currencySymbol kullanın.
Abonelik DönemiDönemi (örn. hafta, ay, yıl vb.) göstermek için product.localizedSubscriptionPeriod kullanın. Bu yerelleştirme, cihazın yerel ayarına göre yapılır. Abonelik dönemine programatik olarak erişmek için product.subscriptionPeriod kullanın. Buradan, uzunluğu (gün, hafta, ay, yıl veya bilinmiyor) elde etmek için unit enum’una erişebilirsiniz. numberOfUnits değeri ise dönem birimi sayısını verir. Örneğin üç aylık bir abonelik için unit özelliğinde .month, numberOfUnits özelliğinde ise 3 görürsünüz.
Başlangıç TeklifiBir aboneliğin başlangıç teklifi içerip içermediğini göstermek üzere rozet veya başka bir gösterge kullanmak için product.subscriptionOffer özelliğine bakın. Bu nesnenin içinde aşağıdaki yararlı özellikler bulunur:
offerType: introductory, promotional ve winBack şeklinde önceden tanımlanmış değerlere sahip teklif türü (SDK 4.1 ve sonrasında enum yerine açık bir struct olduğundan, üzerinde switch kullanırken default dalı gereklidir). Ücretsiz denemeler ve başlangıçtaki indirimli abonelikler introductory türünde olacaktır.
price: İndirimli fiyat, sayısal olarak. Ücretsiz denemeler için burada 0 değerini arayın.
localizedPrice: Kullanıcının yerel ayarına göre biçimlendirilmiş indirim fiyatı.
localizedNumberOfPeriods: Teklifin süresini cihazın yerel ayarına göre yerelleştirilmiş biçimde açıklayan bir dize. Örneğin üç günlük bir deneme teklifi bu alanda 3 days olarak görünür.
subscriptionPeriod: Alternatif olarak, teklif döneminin ayrıntılarını bu özellikle alabilirsiniz. Teklifler için önceki bölümde açıklananla aynı şekilde çalışır.
localizedSubscriptionPeriod: Kullanıcının yerel ayarına göre biçimlendirilmiş abonelik dönemi.

iOS’ta başlangıç teklifi uygunluğunu kontrol etme

getPaywallProducts metodu varsayılan olarak başlangıç, promosyon ve geri kazanma teklifleri için uygunluğu kontrol eder. SDK teklif uygunluğunu belirlemeden önce ürünleri göstermeniz gerekiyorsa, bunun yerine getPaywallProductsWithoutDeterminingOffer metodunu kullanın.

Note

İlk ürünleri gösterdikten sonra, ürünleri doğru teklif uygunluk bilgileriyle güncellemek için normal getPaywallProducts metodunu çağırmayı unutmayın.

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

Paywalllar genellikle neredeyse anında çekilir, bu yüzden bu süreci hızlandırma konusunda 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, paywall çekme işlemi beklenenden daha uzun sürebilir. Böyle durumlarda hiç paywall göstermemek yerine kullanıcı deneyimini sorunsuz tutmak için varsayılan bir paywall görüntülemek isteyebilirsiniz.

Bu sorunu çözmek için All Users kitlesine ait belirtilen placement’ın paywall’ını çeken getPaywallForDefaultAudience metodunu kullanabilirsiniz. Ancak önerilen yaklaşımın, yukarıdaki Paywall Bilgilerini Çekme bölümünde açıklandığı gibi getPaywall metodunu kullanmak olduğunu bilmeniz önemlidir.

Warning

Neden getPaywall kullanmanızı öneriyoruz

getPaywallForDefaultAudience metodunun bazı önemli dezavantajları vardır:

  • Geriye dönük uyumluluk sorunları: Farklı uygulama sürümleri için farklı paywalllar göstermeniz gerekiyorsa zorluklarla karşılaşabilirsiniz. Ya mevcut (eski) sürümü destekleyen paywalllar tasarlamanız ya da mevcut (eski) sürümdeki kullanıcıların düzgün render edilemeyen paywalllarla karşılaşabileceğini kabul etmeniz gerekir.
  • Hedefleme kaybı: Tüm kullanıcılar All Users kitlesi için tasarlanmış aynı paywall’ı görür; bu da ülkeye, pazarlama attribution’ına veya kendi özel niteliklerinize dayalı kişiselleştirilmiş hedeflemeyi kaybetmeniz anlamına gelir.

Bu dezavantajları kabul ederek daha hızlı paywall çekme avantajından yararlanmak istiyorsanız getPaywallForDefaultAudience metodunu aşağıdaki gibi kullanabilirsiniz. Aksi hâlde yukarıda açıklanan getPaywall metodunu kullanmaya devam edin.

Note

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

ParametreZorunlulukAçıklama
placementIdzorunluPlacement 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ştirme 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 dili, ikincisi bölgeyi belirtir.

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

Yerel ayar kodları ve kullanım önerileri 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 önbellekteki veriyi 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 kullanmanızı öneririz.

Ancak kullanıcılarınızın internet bağlantısının kararsız olduğunu düşünüyorsanız, önbellekte veri varsa onu döndürmek için .returnCacheDataElseLoad seçeneğini kullanabilirsiniz. Bu durumda kullanıcılar en güncel veriye ulaşamayabilir, ancak internet bağlantısından bağımsız olarak daha hızlı yükleme süreleri yaşar. Önbellek düzenli olarak güncellenir, bu nedenle oturum boyunca gereksiz ağ isteklerini önlemek amacıyla güvenle kullanılabilir.

Önbellek, uygulama yeniden başlatıldığında korunur; yalnızca uygulama yeniden yüklendiğinde veya manuel temizleme yapıldığında sıfırlanır.