Uygulamanızda parametreleri tanımlamak ve değerlerini bulutta güncellemek için Firebase Remote Config'ü kullanabilirsiniz. Böylece, uygulama güncellemesi dağıtmadan uygulamanızın görünümünü ve davranışını değiştirebilirsiniz. Bu kılavuzda, başlangıç adımlarını adım adım uygulayabilir ve bazı örnek kodları inceleyebilirsiniz. Bu örnek kodların tümü firebase/quickstart-js GitHub deposundan klonlanabilir veya indirilebilir.
1. Adım: Remote Config SDK'sını ekleyip başlatın
Henüz yapmadıysanız Firebase JS SDK'sını yükleyin ve Firebase'i başlatın.
Remote Config JS SDK'sını ekleyin ve Remote Config'yi başlatın:
Web
import { initializeApp } from "firebase/app"; import { getRemoteConfig } from "firebase/remote-config"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Remote Config and get a reference to the service const remoteConfig = getRemoteConfig(app);
Web
import firebase from "firebase/compat/app"; import "firebase/compat/remote-config"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Remote Config and get a reference to the service const remoteConfig = firebase.remoteConfig();
Bu nesne, uygulama içi varsayılan parametre değerlerini depolamak, güncellenmiş parametre değerlerini Remote Config arka ucundan almak ve getirilen değerlerin uygulamanıza ne zaman sunulacağını kontrol etmek için kullanılır.
2. adım: Minimum getirme aralığını ayarlayın
Geliştirme sırasında, minimum getirme aralığını nispeten düşük bir değere ayarlamak önerilir. Daha fazla bilgi için Düşük hızlandırma bölümüne bakın.
Web
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
Web
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
3. Adım: Uygulama içi varsayılan parametre değerlerini ayarlayın
Uygulamanızın Remote Config arka ucuna bağlanmadan önce istenen şekilde davranması ve arka uçta ayarlanmamışsa varsayılan değerlerin kullanılabilmesi için Remote Config nesnesinde uygulama içi varsayılan parametre değerleri ayarlayabilirsiniz.
Web
remoteConfig.defaultConfig = { "welcome_message": "Welcome" };
Web
remoteConfig.defaultConfig = { "welcome_message": "Welcome" };
Remote Config arka uç parametre değerlerini daha önce yapılandırdıysanız tüm varsayılan değerleri içeren oluşturulmuş bir JSON dosyasını indirip uygulama paketinize ekleyebilirsiniz:
REST
curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=JSON -o remote_config_defaults.json
Firebase konsol
- Parametreler sekmesinde Menü'yü açın ve Varsayılan değerleri indir'i seçin.
- İstendiğinde Web için.json'i etkinleştirin ve ardından Dosyayı indir'i tıklayın.
Aşağıdaki örneklerde, uygulamanızda varsayılan değerleri içe aktarıp ayarlayabileceğiniz iki farklı yöntem gösterilmektedir. İlk örnekte, uygulama paketinize dahil edilen varsayılanlar dosyasına HTTP isteği gönderen fetch
işlevi kullanılmaktadır:
const rcDefaultsFile = await fetch('remote_config_defaults.json'); const rcDefaultsJson = await rcDefaultsFile.json(); remoteConfig.defaultConfig = rcDefaultsJson;
Bir sonraki örnekte, değerleri derleme zamanında uygulamanıza derleyen require
kullanılır:
let rcDefaults = require('./remote_config_defaults.json'); remoteConfig.defaultConfig = rcDefaults;
4. adım: Uygulamanızda kullanılacak parametre değerlerini alın
Artık Remote Config nesnesinden parametre değerleri alabilirsiniz. Daha sonra arka uçta değerler ayarlar, getirir ve etkinleştirirseniz bu değerler uygulamanız tarafından kullanılabilir.Bu değerleri almak için parametre anahtarını bağımsız değişken olarak sağlayarak getValue()
yöntemini çağırın.
Web
import { getValue } from "firebase/remote-config"; const val = getValue(remoteConfig, "welcome_messsage");
Web
const val = remoteConfig.getValue("welcome_messsage");
5. adım: Parametre değerlerini ayarlayın
Firebase konsolunu veya Remote Config arka uç API'lerini kullanarak, istediğiniz koşullu mantığa veya kullanıcı hedeflemesine göre uygulama içi değerleri geçersiz kılan yeni sunucu tarafı varsayılan değerler oluşturabilirsiniz. Bu bölümde, bu değerleri oluşturmak için Firebase konsol adımlarında size yol gösterilir.
- Firebase konsolunda projenizi açın.
- Remote Config kontrol panelini görüntülemek için menüden Remote Config'i seçin.
- Uygulamanızda tanımladığınız parametrelerle aynı ada sahip parametreler tanımlayın. Her parametre için bir varsayılan değer (bu değer, uygulama içi varsayılan değeri geçersiz kılar) ve koşullu değerler de ayarlayabilirsiniz. Daha fazla bilgi için Remote Config Parametreleri ve Koşulları başlıklı makaleyi inceleyin.
6. adım: Değerleri getirin ve etkinleştirin
- Remote Config arka ucundan parametre değerlerini almak için
fetchConfig()
yöntemini çağırın. Arka uçta ayarladığınız tüm değerler getirilir ve Remote Config nesnesinde önbelleğe alınır. - Getirilen parametre değerlerini uygulamanızda kullanılabilir hale getirmek için
activate()
yöntemini çağırın.
Değerleri tek bir çağrıda almak ve etkinleştirmek istediğiniz durumlarda bu örnekte gösterildiği gibi fetchAndActivate()
değerini kullanın:
Web
import { fetchAndActivate } from "firebase/remote-config"; fetchAndActivate(remoteConfig) .then(() => { // ... }) .catch((err) => { // ... });
Web
remoteConfig.fetchAndActivate() .then(() => { // ... }) .catch((err) => { // ... });
Güncellenen bu parametre değerleri uygulamanızın davranışını ve görünümünü etkilediği için alınan değerleri, kullanıcınızın sorunsuz bir deneyim yaşamasını sağlayacak bir zamanda (ör. kullanıcı uygulamanızı bir sonraki açışında) etkinleştirmeniz gerekir. Daha fazla bilgi ve örnek için Remote Config yükleme stratejilerine bakın.
Kısıtlama
Bir uygulama kısa süre içinde çok fazla getirme işlemi yaparsa getirme çağrıları sınırlanabilir. Bu gibi durumlarda SDK bir FETCH_THROTTLE
hatası oluşturur.
Bu hatayı yakalayıp eksponansiyel geri yükleme modunda yeniden denemeniz ve sonraki getirme istekleri arasında daha uzun aralıklar beklemeniz önerilir.
Uygulama geliştirme sırasında, uygulamanızı geliştirip test ederken hızlı bir şekilde iterasyon yapabilmek için önbelleği çok sık (saatte birkaç kez) yenilemek isteyebilirsiniz. Çok sayıda geliştiricinin bulunduğu bir projede hızlı iterasyon yapmak için uygulamanıza geçici olarak minimum getirme aralığı (Settings.minimumFetchIntervalMillis
) düşük bir mülk ekleyebilirsiniz.
Remote Config için varsayılan ve önerilen üretim getirme aralığı 12 saattir. Bu, aslında kaç getirme çağrısı yapıldığından bağımsız olarak yapılandırmaların 12 saatlik bir zaman aralığında arka uçtan bir defadan fazla getirilmeyeceği anlamına gelir. Daha açık belirtmek gerekirse, minimum getirme aralığı aşağıdaki sırayla belirlenir:
Settings.minimumFetchIntervalMillis
içindeki parametre.- Varsayılan değer 12 saattir.
Sonraki adımlar
Henüz yapmadıysanız Remote Config kullanım alanlarını inceleyin ve aşağıdakiler gibi temel kavramlar ve gelişmiş strateji dokümanlarından bazılarına göz atın: