با Firebase Remote Config شروع کنید


شما می توانید از Firebase Remote Config برای تعریف پارامترها در برنامه خود و به روز رسانی مقادیر آنها در فضای ابری استفاده کنید و به شما امکان می دهد ظاهر و رفتار برنامه خود را بدون توزیع به روز رسانی برنامه تغییر دهید. این راهنما شما را در مراحل شروع به کار راهنمایی می کند و نمونه کدی را ارائه می دهد که همگی برای شبیه سازی یا دانلود از مخزن firebase/quickstart-js GitHub در دسترس هستند.

Remote Config SDK را اضافه و مقداردهی اولیه کنید

  1. اگر قبلاً این کار را نکرده‌اید، Firebase JS SDK را نصب کرده و Firebase را مقداردهی اولیه کنید.

  2. Remote Config JS SDK را اضافه کنید و Remote Config را مقداردهی کنید:

Web version 9

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 version 8

import firebase from "firebase/app";
import "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
firebase.initializeApp(firebaseConfig);


// Initialize Remote Config and get a reference to the service
const remoteConfig = firebase.remoteConfig();

این شیء برای ذخیره مقادیر پارامترهای پیش‌فرض درون برنامه، واکشی مقادیر پارامترهای به‌روزشده از باطن Remote Config و کنترل زمانی که مقادیر واکشی شده در دسترس برنامه شما قرار می‌گیرند، استفاده می‌شود.

حداقل فاصله واکشی را تنظیم کنید

در طول توسعه، توصیه می شود حداقل فاصله واکشی نسبتاً کم را تنظیم کنید. برای اطلاعات بیشتر Throttling را ببینید.

Web version 9

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web version 8

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

مقادیر پارامترهای پیش‌فرض درون برنامه را تنظیم کنید

می‌توانید مقادیر پارامترهای پیش‌فرض درون برنامه‌ای را در شی Remote Config تنظیم کنید، به طوری که برنامه شما قبل از اتصال به پشتیبان Remote Config همانطور که در نظر گرفته شده است رفتار کند، و اگر مقادیر پیش‌فرض در backend تنظیم نشده باشد، در دسترس باشند.

Web version 9

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

Web version 8

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

اگر قبلاً مقادیر پارامتر Backend Config از راه دور را پیکربندی کرده‌اید، می‌توانید یک فایل JSON تولید شده را دانلود کنید که شامل تمام مقادیر پیش‌فرض است و آن را در بسته برنامه خود قرار دهید:

باقی مانده

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

  1. در برگه پارامترها ، منوی را باز کنید و مقادیر پیش‌فرض را دانلود کنید.
  2. وقتی از شما خواسته شد، json. را برای وب فعال کنید، سپس روی دانلود فایل کلیک کنید.

مثال‌های زیر دو روش مختلف را نشان می‌دهند که می‌توانید مقادیر پیش‌فرض را در برنامه خود وارد و تنظیم کنید. مثال اول از fetch استفاده می‌کند که یک درخواست HTTP به فایل پیش‌فرض موجود در بسته برنامه شما ارسال می‌کند:


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

مثال بعدی از require استفاده می کند که مقادیر را در زمان ساخت در برنامه شما کامپایل می کند:

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

مقادیر پارامتر را برای استفاده در برنامه خود دریافت کنید

اکنون می توانید مقادیر پارامتر را از شی Remote Config دریافت کنید. اگر بعداً مقادیری را در backend تنظیم کنید، آنها را واکشی کنید و سپس آنها را فعال کنید، این مقادیر برای برنامه شما در دسترس هستند. برای دریافت این مقادیر، getValue() را فراخوانی کنید و کلید پارامتر را به عنوان آرگومان ارائه دهید.

Web version 9

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

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

Web version 8

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

مقادیر پارامتر را تنظیم کنید

با استفاده از کنسول Firebase یا Remote Config Backend API ، می‌توانید مقادیر پیش‌فرض سمت سرور جدیدی ایجاد کنید که مقادیر درون‌برنامه را مطابق با منطق شرطی دلخواه یا هدف‌گذاری کاربر لغو می‌کند. این بخش شما را در مراحل کنسول Firebase برای ایجاد این مقادیر راهنمایی می کند.

  1. در کنسول Firebase ، پروژه خود را باز کنید.
  2. Remote Config را از منو انتخاب کنید تا داشبورد Remote Config را مشاهده کنید.
  3. پارامترهایی را با همان نام پارامترهایی که در برنامه خود تعریف کرده اید تعریف کنید. برای هر پارامتر، می‌توانید یک مقدار پیش‌فرض تنظیم کنید (که در نهایت مقدار پیش‌فرض درون برنامه را لغو می‌کند) و همچنین می‌توانید مقادیر شرطی را تنظیم کنید. برای کسب اطلاعات بیشتر، پارامترها و شرایط پیکربندی از راه دور را ببینید.

مقادیر را واکشی و فعال کنید

  1. برای واکشی مقادیر پارامتر از باطن Remote Config، fetchConfig() را فراخوانی کنید. هر مقداری که در باطن تنظیم می‌کنید در شی Remote Config واکشی و ذخیره می‌شود.
  2. برای در دسترس قرار دادن مقادیر پارامترهای واکشی شده برای برنامه خود، متد activate() را فراخوانی کنید.

برای مواردی که می خواهید مقادیر را در یک تماس واکشی و فعال کنید، از fetchAndActivate() همانطور که در این مثال نشان داده شده است استفاده کنید:

Web version 9

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

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

Web version 8

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

از آنجایی که این مقادیر پارامتر به روز شده بر رفتار و ظاهر برنامه شما تأثیر می گذارد، باید مقادیر واکشی شده را در زمانی فعال کنید که تجربه یکنواختی را برای کاربر شما تضمین کند، مانند دفعه بعد که کاربر برنامه شما را باز می کند. برای اطلاعات بیشتر و مثال‌ها، به استراتژی‌های بارگیری Remote Config مراجعه کنید.

گاز دادن

اگر یک برنامه در مدت زمان کوتاهی بارها واکشی شود، تماس‌های واکشی ممکن است کاهش یابد. در چنین مواردی، SDK یک خطای FETCH_THROTTLE می کند. به شما توصیه می‌شود این خطا را دریافت کنید و در حالت عقب‌نشینی نمایی دوباره امتحان کنید، و فاصله‌های طولانی‌تری بین درخواست‌های واکشی بعدی منتظر بمانید.

در طول توسعه برنامه، ممکن است بخواهید حافظه نهان را به طور مکرر (در هر ساعت چند بار) به‌روزرسانی کنید تا به شما اجازه دهد در حین توسعه و آزمایش برنامه خود، سریعاً تکرار کنید. برای تطبیق تکرار سریع در پروژه‌ای با توسعه‌دهندگان متعدد، می‌توانید به طور موقت یک ویژگی با حداقل فاصله واکشی کم ( Settings.minimumFetchIntervalMillis ) در برنامه خود اضافه کنید.

فاصله واکشی تولید پیش‌فرض و توصیه‌شده برای Remote Config 12 ساعت است، به این معنی که پیکربندی‌ها بیش از یک بار در یک پنجره 12 ساعته از پشتیبان دریافت نمی‌شوند، صرف نظر از اینکه واقعاً چند تماس واکشی انجام شده است. به طور خاص، حداقل فاصله واکشی به ترتیب زیر تعیین می شود:

  1. پارامتر در Settings.minimumFetchIntervalMillis .
  2. مقدار پیش فرض 12 ساعت.

مراحل بعدی

اگر قبلاً این کار را نکرده‌اید، موارد استفاده Remote Config را بررسی کنید و به برخی از مفاهیم کلیدی و مستندات استراتژی‌های پیشرفته نگاهی بیندازید، از جمله: