Firebase Remote Config'i kullanarak uygulamanızda parametreleri tanımlayabilir ve bunların değerlerini bulutta güncelleyebilirsiniz. Bu sayede uygulama güncellemesi dağıtmadan uygulamanızın görünümünü ve davranışını değiştirebilirsiniz. Bu kılavuz, başlangıç adımlarında sizi yönlendirir ve firebase/quickstart-js GitHub deposundan klonlamak veya indirmek için kullanabileceğiniz bir örnek kod sunar.
1. Adım: Remote Config SDK'sını ekleyin ve başlatın
Henüz yapmadıysanız Firebase JS SDK'yı yükleyin ve Firebase'i başlatın.
Remote Config JS SDK'yı ekleyin ve Remote Config'i 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, Remote Config arka ucundan güncellenmiş parametre değerlerini getirmek ve getirilen değerlerin uygulamanızda ne zaman kullanıma sunulacağını kontrol etmek için kullanılır.
2. Adım: Minimum getirme aralığını ayarlayın
Geliştirme sırasında nispeten düşük bir minimum getirme aralığı ayarlamanız önerilir. Daha fazla bilgi için 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
Uygulama içi varsayılan parametre değerlerini Remote Config nesnesinde ayarlayabilirsiniz. Böylece uygulamanız, Remote Config arka ucuna bağlanmadan önce amaçlandığı gibi davranır ve arka uçta hiçbir değer ayarlanmazsa varsayılan değerlerin kullanılabilir.
Web
remoteConfig.defaultConfig = { "welcome_message": "Welcome" };
Web
remoteConfig.defaultConfig = { "welcome_message": "Welcome" };
Remote Config arka uç parametre değerlerini zaten 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 konsolu
- Parametreler sekmesinde Menü'yü açın ve Varsayılan değerleri indir'i seçin.
- İstendiğinde web için.json dosyasını etkinleştirin ve ardından Dosyayı indir'i tıklayın.
Aşağıdaki örnekler, içe aktarmanın ve uygulamanızdaki varsayılan değerleri ayarlamanın iki farklı yolunu gösterir. İlk örnekte fetch
kullanılmıştır. Bu şekilde, uygulama paketinizdeki varsayılan dosyaya bir HTTP isteği yapılır:
const rcDefaultsFile = await fetch('remote_config_defaults.json'); const rcDefaultsJson = await rcDefaultsFile.json(); remoteConfig.defaultConfig = rcDefaultsJson;
Sonraki örnekte, derleme sırasında değerleri uygulamanızda derleyen require
kullanılmıştı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, bunları getirir ve etkinleştirirseniz bu değerler uygulamanızda 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 uygulama içi değerleri istediğiniz koşullu mantığa veya kullanıcı hedeflemesine göre geçersiz kılan yeni sunucu tarafı varsayılan değerleri oluşturabilirsiniz. Bu bölümde, bu değerleri oluşturma ile ilgili Firebase konsolu adımları açıklanmaktadır.
- Firebase konsolunda projenizi açın.
- Remote Config kontrol panelini görüntülemek için menüden Remote Config'i seçin.
- Parametreleri, uygulamanızda tanımladığınız parametrelerle aynı adlara sahip olarak tanımlayın. Her parametre için bir varsayılan değer ayarlayabilir (bu değer ileride uygulama içi varsayılan değeri geçersiz kılacaktır) ve koşullu değerler de belirleyebilirsiniz. Daha fazla bilgi edinmek için Remote Config Parametreleri ve Koşulları bölümünü inceleyin.
6. Adım: Değerleri getirin ve etkinleştirin
- Remote Config arka ucundan parametre değerlerini getirmek için
fetchConfig()
yöntemini çağırın. Arka uçta ayarladığınız değerler alınıp Remote Config nesnesinde önbelleğe alınır. - Getirilen parametre değerlerini uygulamanızda kullanılabilmesini sağlamak için
activate()
yöntemini çağırın.
Bir çağrıdaki değerleri getirmek ve etkinleştirmek istediğiniz durumlarda aşağıdaki örnekte gösterildiği gibi fetchAndActivate()
kullanın:
Web
import { fetchAndActivate } from "firebase/remote-config"; fetchAndActivate(remoteConfig) .then(() => { // ... }) .catch((err) => { // ... });
Web
remoteConfig.fetchAndActivate() .then(() => { // ... }) .catch((err) => { // ... });
Bu güncellenen parametre değerleri uygulamanızın davranışını ve görünümünü etkilediğinden getirilen değerleri, kullanıcının uygulamanızı bir sonraki açışı gibi sorunsuz bir deneyim sağlayacak bir zamanda etkinleştirmeniz gerekir. Daha fazla bilgi ve örnek için Remote Config yükleme stratejilerine bakın.
Kısıtlama
Bir uygulama kısa bir süre içinde çok fazla kez getirme yaparsa getirme çağrıları kısıtlanabilir. Böyle durumlarda SDK bir FETCH_THROTTLE
hatası gönderir.
Bu hatayı yakalayıp sonraki getirme istekleri arasında daha uzun aralıklar bekleyerek eksponansiyel geri yükleme modunda yeniden denemeniz önerilir.
Uygulama geliştirme sırasında uygulamanızı geliştirip test ederken hızlı bir şekilde yineleme yapabilmeniz için önbelleği çok sık (saatte birçok kez) yenilemek isteyebilirsiniz. Çok sayıda geliştiricinin bulunduğu bir projede hızlı iterasyona olanak sağlamak için geçici olarak minimum getirme aralığı (Settings.minimumFetchIntervalMillis
) düşük olan bir mülk ekleyebilirsiniz.
Remote Config için varsayılan ve önerilen üretim getirme aralığı 12 saattir. Bu, gerçekte kaç getirme çağrısının yapıldığına bakılmaksızın, yapılandırmaların 12 saatlik bir süre içinde arka uçtan birden fazla kez getirilmeyeceği anlamına gelir. Özel olarak minimum getirme aralığı aşağıdaki sırayla belirlenir:
Settings.minimumFetchIntervalMillis
hücresindeki parametre.- Varsayılan değer olan 12 saat.
Sonraki adımlar
Henüz yapmadıysanız Remote Config kullanım alanlarını inceleyin ve aşağıdakiler dahil olmak üzere bazı temel kavramlara ve gelişmiş strateji belgelerine göz atın: