Firebase Remote Config yükleme stratejileri

Firebase Remote Config, sunucudan yeni değerlerin nasıl ve ne zaman alınacağı ve uygulamanızda etkinleştirileceği konusunda çok esneklik sağlar. Böylece görünür yapılandırma değişikliklerinin zamanlamasını kontrol ederek kaliteli bir son kullanıcı deneyimi sağlayabilirsiniz. Uygulama başlatılırken fetchAndActivate() ile yeni değerler getirebilir ve Remote Config'inizin yeni bir sürümü yayınlandıktan sonra en son parametre değerlerini otomatik olarak getirmek için tamamlayıcı bir yöntem olarak gerçek zamanlı Remote Config'i kullanabilirsiniz.

Bu kılavuzda birkaç yükleme stratejisi ele alınmış ve uygulamanız için en iyi seçeneği belirlemeyle ilgili temel hususlar ele alınmıştır.

1. Strateji: Yükleme sırasında getirme ve etkinleştirme

Bu stratejide uygulamanız, Remote Config'den yeni değerler almak ve bunları yükleme işlemi biter bitmez etkinleştirmek için ilk başlatıldığında fetchAndActivate() yöntemini çağırır. Bu basit yaklaşım, kullanıcı arayüzünde önemli görsel değişikliklere neden olmayan yapılandırma değişiklikleri için uygundur. Kullanıcı arayüzünüzün kullanıcılar tarafından kullanıldığı sırada belirgin bir şekilde değişebileceği durumlarda bu durumdan kaçınılmalıdır.

Uygulamanız fetchAndActivate() çağrısından sonra, addOnConfigUpdateListener işlevini çağırarak parametre değeri güncellemelerini gerçek zamanlı olarak dinlemeye başlayabilir. Bu yöntem, parametre değerlerinde yapılan sunucu tarafı güncellemelerini dinlemeye başlar, bunları otomatik olarak getirir ve ardından işleyiciyi çağırır. Yeni değerleri işleyicide etkinleştirmek basit bir stratejidir. Ancak, fetchAndActivate() konusunda belirtildiği gibi, hassas kullanıcı arayüzleri için hemen etkinleştirme işleminden kaçınılmalıdır.

2. Strateji: Yükleme ekranının arkasında etkinleştirme

1. stratejide karşılaşılan olası kullanıcı arayüzü sorununun çözümü olarak, yükleme ekranını kullanabilirsiniz. Uygulamanızı hemen başlatmak yerine, bir yükleme ekranı gösterin ve tamamlama işleyicinizde fetchAndActivate öğesini çağırın. Hemen ardından, yine geri arama veya bildirim kullanarak yükleme ekranını kapatın ve kullanıcının uygulamanızla etkileşim kurmaya başlamasını sağlayın.

Bu stratejiyi kullanırsanız yükleme ekranına zaman aşımı eklemeniz önerilir. Remote Config'in bir dakikalık zaman aşımı, kullanıcılar için kaliteli bir uygulama başlatma deneyimi için fazla uzun olabilir.

addOnConfigUpdateListener çağrısı yaparak gerçek zamanlı Remote Config güncellemelerini dinlemek bu stratejiye uygun olur. Yükleme ekranı görüntülendiğinde işleyiciyi ekleyin, ardından uygulamanızda Remote Config değerlerinin önemli görsel değişikliklere neden olmayacağı bir veya daha fazla noktada activate() kullanın.

3. Strateji: Bir sonraki startup için yeni değerler yükleme

Uygulamanızın bir sonraki başlangıcında etkinleştirilecek yeni yapılandırma değerleri yüklemek, etkili bir stratejidir. Bu stratejide, uygulamanız, yeni yapılandırma değerleri getirmeye çalışmadan önce, getirilen değerleri etkinleştirir ve yeni yapılandırma değerlerini daha önce getirmiş (ancak henüz etkinleştirilmemiş) olabilir. Bu stratejinin işlem sırası:

  1. Başlangıçta, önceden getirilen değerleri hemen etkinleştirin. Bu işlem, önceki bir oturumda sunucudan indirdiğiniz tüm değerleri uygular ve neredeyse anında gerçekleşir.
  2. Kullanıcı, uygulamanızla etkileşim kurarken varsayılan minimum getirme aralığına göre yeni değerler getirmek ve gerçek zamanlı bir yapılandırma güncelleme dinleyicisi eklemek için eşzamansız bir çağrı başlatın. Gerçek zamanlı dinleyici, uygulamanız çalışırken sunucuda yayınlanan tüm değerleri otomatik olarak getirir. Gerçek zamanlı güncellemeler, minimum getirme aralığı ayarını atlar.
  3. Tamamlama işleyicide veya getirme çağrısı için geri aramada hiçbir şey yapmayın. Uygulamanız, indirilen değerleri uygulama tekrar başlatıldığında etkinleştirene kadar saklar.

Bu stratejiyle kullanıcının bekleme süresi büyük ölçüde en aza indirilir. Getirme ve gerçek zamanlı dinleyici stratejilerinin, uygulama yaşam döngüsünde gerektiği şekilde activate() çağrılarıyla birleştirilmesi, kullanıcıların uygulamanızla etkileşimde bulunurken Remote Config'den en yeni değerlere ulaşmasını sağlar.

Anti-stratejiler yükleniyor

Yüklemenin artıları ve eksileri konulu yukarıdaki tartışmadan anlamış olabileceğiniz gibi, kaçınılması gereken birkaç kullanım kalıbı vardır.

  • Uygulama veya işle ilgili güçlü nedenleriniz olmadığı sürece, kullanıcı arayüzünü görüntülerken veya arayüzle etkileşimde bulunurken (örneğin, yeni sona eren bir promosyonla ilgili seçenekleri kaldırmak gibi) kullanıcı arayüzünü güncellemeyin veya değiştirmeyin.
  • Aynı anda çok sayıda getirme isteği göndermeyin. Bu durum, sunucunun uygulamanızı yavaşlatmasına neden olabilir. Güncellemeleri sık sık almanız gerekiyorsa gerçek zamanlı Remote Config'i kullanın. Çoğu üretim senaryosunda kısıtlama riski düşük olsa da aktif geliştirme sırasında sorun yaşanabilir. Gerçek zamanlı Remote Config bu kullanım alanı için tasarlanmıştır. Kısıtlama kılavuzuna göz atın.
  • Remote Config değerlerini elde etmek için ağ bağlantısına güvenmeyin. Uygulamanızın her zaman beklendiği gibi davranması için uygulama içi varsayılan parametre değerlerini ayarlayın. İndirilen şablon varsayılanlarını kullanarak uygulama ve Remote Config arka uç varsayılan değerlerini düzenli olarak senkronize edebilirsiniz.

Sonraki adımlar

Bu üç temel strateji, yapılandırma değerlerini yükleme yöntemlerinin tam bir listesini içermez. İhtiyaçlarınıza göre çok daha gelişmiş stratejiler geliştirebilirsiniz.

Yapılandırma değerlerini getirmek ve etkinleştirmeye yönelik belirli çağrılar hakkında daha fazla bilgi edinmek için platformunuzun API referansına göz atın.