Firebase Remote Config'i kullanmaya başlayın


Uygulamanızda parametreleri tanımlamak ve değerlerini bulutta güncellemek için Firebase Remote Config'i 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şlangıç adımlarında size yol gösterir ve firebase/quickstart-js GitHub deposundan klonlayabileceğiniz veya indirebileceğiniz bazı örnek kodlar sağlar.

1. Adım: Remote Config SDK'yı ekleyin ve başlatın

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

  2. Remote Config JS SDK'sını ekleyin ve Remote Config'i başlatın:

Web Modüler API'si

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 ad alanına sahip API'sı

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ığı belirlemeniz önerilir. Daha fazla bilgi için Kısıtlama bölümünü inceleyin.

Web Modüler API'si

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web ad alanına sahip API'sı

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. Böylece, arka uçta hiçbir değer ayarlanmamışsa varsayılan değerler kullanılabilir.

Web Modüler API'si

remoteConfig.defaultConfig = {
  "welcome_message": "Welcome"
};

Web ad alanına sahip API'sı

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ı indirebilir ve 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'u etkinleştirin, ardından Dosyayı indir'i tıklayın.

Aşağıdaki örneklerde, uygulamanızdaki varsayılan değerleri içe aktarabileceğiniz ve ayarlayabileceğiniz iki farklı yol gösterilmektedir. İlk örnekte, uygulama paketinizdeki varsayılanlar dosyasına bir HTTP isteğinde bulunan fetch kullanılmıştır:


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

Bir sonraki örnek, derleme sırasında değerleri uygulamanızda derleyen require işlevini kullanı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 parametre değerlerini Remote Config nesnesinden alabilirsiniz. Daha sonra arka uçta değerler ayarlar, bunları getirir ve ardından etkinleştirirseniz uygulamanız bu değerleri kullanabilir.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 Modüler API'si

import { getValue } from "firebase/remote-config";

const val = getValue(remoteConfig, "welcome_messsage");

Web ad alanına sahip API'sı

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ğerleri oluşturabilirsiniz. Bu bölümde, bu değerleri oluşturmak için Firebase konsolunda uygulanması gereken 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. Uygulamanızda tanımladığınız parametrelerle aynı adlara sahip parametreleri tanımlayın. Her bir parametre için varsayılan değer belirleyebilir (bu değer, sonuçta uygulama içi varsayılan değeri geçersiz kılar) ve koşullu değerler de belirleyebilirsiniz. Daha fazla bilgi edinmek için Remote Config Parametreleri ve Koşulları bölümüne bakın.

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 değerler Remote Config nesnesinde getirilir ve önbelleğe alınır.
  2. Getirilen parametre değerlerini uygulamanızda kullanılabilir hale getirmek için activate() yöntemini çağırın.

Bir çağrıda değerleri getirmek ve etkinleştirmek istediğiniz durumlar için aşağıdaki örnekte gösterildiği gibi fetchAndActivate() kullanın:

Web Modüler API'si

import { fetchAndActivate } from "firebase/remote-config";

fetchAndActivate(remoteConfig)
  .then(() => {
    // ...
  })
  .catch((err) => {
    // ...
  });

Web ad alanına sahip API'sı

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ılarınız için sorunsuz bir deneyim sağlayacak bir zamanda (kullanıcının uygulamanızı bir sonraki açışı gibi) etkinleştirmeniz gerekir. Daha fazla bilgi ve örnek için Remote Config yükleme stratejileri bölümüne bakın.

Kısıtlama

Bir uygulama kısa süre içinde çok fazla kez getirirse getirme çağrıları kısıtlanabilir. Bu tür durumlarda SDK FETCH_THROTTLE hatası verir. Bu hatayı yakalayıp eksponansiyel geri yükleme modunda denemeniz ve sonraki getirme istekleri arasında daha uzun aralıklar beklemeniz önerilir.

Uygulama geliştirme sırasında uygulamanızı geliştirirken ve test ederken hızlı bir şekilde iterasyon yapabilmeniz için önbelleği sık sık (saatte birçok kez) yenilemek isteyebilirsiniz. Çok sayıda geliştiricinin dahil olduğu projelerde hızlı yineleme gerçekleştirmek için uygulamanıza geçici olarak düşük minimum getirme aralığına (Settings.minimumFetchIntervalMillis) sahip bir mülk ekleyebilirsiniz.

Remote Config için varsayılan ve önerilen üretim getirme aralığı 12 saattir. Bu da yapılandırmaların, gerçekte kaç tane getirme çağrısı yapıldığından bağımsız olarak, 12 saatlik bir süre içinde arka uçtan birden fazla kez getirilmeyeceği anlamına gelir. Özellikle, minimum getirme aralığı aşağıdaki sırayla belirlenir:

  1. Settings.minimumFetchIntervalMillis içindeki parametre.
  2. Varsayılan değer olan 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 kavramlara ve gelişmiş stratejiler belgelerine göz atın: