Firebase Remote Config'i kullanmaya başlayın


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

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

  2. 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

  1. Parametreler sekmesinde Menü'yü açın ve Varsayılan değerleri indir'i seçin.
  2. İ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.

  1. Firebase konsolunda projenizi açın.
  2. Remote Config kontrol panelini görüntülemek için menüden Remote Config'i seçin.
  3. 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

  1. 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.
  2. 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:

  1. Settings.minimumFetchIntervalMillis hücresindeki parametre.
  2. 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: