Firebase Remote Config'i kullanmaya başlayın


Uygulamanızda parametreler tanımlamak ve bu parametrelerin 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ılavuz, başlamak için gereken adımları açıklar ve bazı örnek kodlar sunar. Bu kodların tümü, firebase/quickstart-js GitHub deposundan klonlanabilir veya indirilebilir.

1. adım: Remote Config SDK'sını ekleyin ve başlatın

  1. Henüz yapmadıysanız Firebase JS SDK'yı yükleyin ve Firebase'i başlatın.

  2. Remote Config JS SDK'sını ekleyin ve Remote Config 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 getirmek ve getirilen değerlerin uygulamanızda ne zaman kullanılabileceğini 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 Sınırlama bölümüne bakın.

Web

// The default and recommended production fetch interval for Remote Config is 12 hours
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

3. adım: Uygulama içi varsayılan parametre değerlerini ayarlayın

Uygulamanız Remote Config arka ucuna bağlanmadan önce beklendiği gibi 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ğerlerini ayarlayabilirsiniz.

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ı indirebilir ve bu dosyayı 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

  1. Parametreler sekmesinde Menü'yü açın ve Varsayılan değerleri indir'i seçin.
  2. İstendiğinde .json for web'i (Web için .json) etkinleştirin, ardından Download file'ı (Dosyayı indir) tıklayın.

Aşağıdaki örneklerde, uygulamanıza varsayılan değerleri içe aktarmanın ve ayarlamanın iki farklı yolu gösterilmektedir. İlk örnekte, uygulama paketinize dahil edilen varsayılanlar dosyasına bir HTTP isteği gönderecek olan fetch kullanılmaktadır:

  const rcDefaultsFile = await fetch('remote_config_defaults.json');
  const rcDefaultsJson = await rcDefaultsFile.json();
  remoteConfig.defaultConfig = rcDefaultsJson;
  

Sonraki örnekte, değerleri derleme zamanında uygulamanızda derleyen require kullanılır:

  let rcDefaults = require('./remote_config_defaults.json');
  remoteConfig.defaultConfig = rcDefaults;

4. adım: Uygulamanızda kullanmak için parametre değerleri edinin

Artık Remote Config nesnesinden parametre değerleri alabilirsiniz. Daha sonra arka uçta değerler ayarlarsanız, bu değerleri getirip etkinleştirdiğinizde 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, istediğiniz koşullu mantığa veya kullanıcı hedeflemeye 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ı açıklanmaktadır.

  1. Firebase konsolunda projenizi açın.
  2. Remote Config kontrol panelini görüntülemek için menüden Remote Config simgesini seçin.
  3. 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 ayarlayabilirsiniz. Daha fazla bilgi edinmek için Remote Config Parametreler ve Koşullar başlıklı makaleyi inceleyin.
  4. Özel sinyal koşulları kullanıyorsanız özellikleri ve değerlerini tanımlayın. Aşağıdaki örnekte, özel sinyal koşulunun nasıl tanımlanacağı gösterilmektedir.

      let customSignals = {
         "city": "Tokyo",
         "preferred_event_category": "sports"
      }
    
      setCustomSignals(config, customSignals);

6. adım: Değerleri getirin ve etkinleştirin

  1. Parametre değerlerini Remote Config arka ucundan getirmek için fetchConfig() yöntemini çağırın. Arka uçta ayarladığınız tüm değerler getirilip Remote Config nesnesinde önbelleğe alınır.
  2. Getirilen parametre değerlerini uygulamanızda kullanmak için activate() yöntemini çağırın.

Değerleri tek bir çağrıda getirmek ve etkinleştirmek istediğiniz durumlarda, bu ö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ız için sorunsuz bir deneyim sağlayacak bir zamanda (ör. kullanıcı uygulamanızı bir sonraki açtığında) etkinleştirmeniz gerekir. Daha fazla bilgi ve örnek için Remote Config yükleme stratejileri başlıklı makaleyi inceleyin.

Kısıtlama

Bir uygulama kısa süre içinde çok fazla kez getirme işlemi yaparsa getirme çağrıları sınırlandırılabilir. Bu gibi durumlarda SDK, FETCH_THROTTLE hatası verir. Bu hatayı yakalamanız ve sonraki getirme istekleri arasında daha uzun aralıklarla 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 yapabilmek için önbelleği çok sık (saatte birçok kez) yenilemek isteyebilirsiniz. Çok sayıda geliştiricinin yer aldığı bir projede hızlı yinelemeyi desteklemek için uygulamanıza düşük minimum getirme aralığına (Settings.minimumFetchIntervalMillis) sahip bir mülk geçici olarak ekleyebilirsiniz.

Remote Config için varsayılan ve önerilen üretim getirme aralığı 12 saattir. Bu, kaç getirme çağrısı yapıldığına bakılmaksızın yapılandırmaların 12 saatlik bir pencerede arka uçtan birden fazla kez getirilmeyeceği anlamına gelir. Daha net bir ifadeyle, minimum getirme aralığı aşağıdaki sırayla belirlenir:

  1. Settings.minimumFetchIntervalMillis içindeki parametre.
  2. 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 de dahil olmak üzere bazı temel kavramlar ile gelişmiş stratejilerle ilgili dokümanlara göz atın: