Firebase Remote Config'i kullanmaya başlayın


Uygulamanızda parametreleri tanımlamak ve bulutta değerlerini 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 adımları uygulayın ve size birkaç örnek kod sağlayın. Bu kodun şuradan klonlayabilir veya indirilebilir: firebase/quickstart-js GitHub deposu.

1. Adım: Remote Config SDK'sını ekleyip 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 uygulamasını 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 için kullanılır, getirme güncellendi Remote Config arka ucundan parametre değerleri ve getirildiğinde kontrol değerleri, uygulamanız için kullanılabilir hale gelir.

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

Uygulama içi varsayılan parametre değerlerini Remote Config Böylece, uygulamanız başka bir cihaza bağlanmadan önce beklendiği gibi Remote Config arka ucuna erişebilir, böylece arka uçta hiçbiri ayarlanmadı.

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 konsolu

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

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

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

4. adım: Uygulamanızda kullanacağınız 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ğerleri oluşturabilirsiniz. Bu bölüm Firebase konsolunda bu değerleri oluşturma adımlarında size yol gösterir.

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

  1. Remote Config arka ucundan parametre değerlerini getirmek için şunu çağırın: fetchConfig() yöntemidir. Arka uçta ayarladığınız tüm değerler getirilir ve Remote Config nesnesinde önbelleğe alınır.
  2. 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) => {
    // ...
  });

Bu güncellenen parametre değerleri davranışı ve görünümü etkilediği için getirmeyi seçerseniz, getirilen değerleri uygulamanın sağlandığından sorunsuz bir deneyim sunmasını sağlar (örneğin, kullanıcı uygulamasını indirin. Remote Config yükleme stratejilerine bakın daha fazla bilgi ve örnek bulabilirsiniz.

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 sonraki getirme istekleri arasında daha uzun aralıklar bekleyerek eksponansiyel geri yükleme modunda yeniden denemeniz önerilir.

Uygulama geliştirme sürecinde önbelleği sık sık yenilemek isteyebilirsiniz. (saatte birçok kez) bu özellik, geliştirme ve test etme sürecinde hızla yineleme uygulamasını indirin. Çok sayıda geliştiricinin bulunduğu bir projede hızlı iterasyon yapabilmek için geçici olarak, düşük minimum getirme aralığına sahip bir mülk ekleyebilir (Settings.minimumFetchIntervalMillis) inceleyebilirsiniz.

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:

  1. Settings.minimumFetchIntervalMillis hücresindeki parametre.
  2. Varsayılan değer olan 12 saat.

Sonraki adımlar

Henüz yapmadıysanız Remote Configkullanı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: