Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

เริ่มต้นใช้งาน Firebase Remote Config

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ


คุณสามารถใช้ Firebase Remote Config เพื่อกำหนดพารามิเตอร์ในแอปและอัปเดตค่าในระบบคลาวด์ ทำให้คุณสามารถแก้ไขลักษณะที่ปรากฏและลักษณะการทำงานของแอปได้โดยไม่ต้องกระจายการอัปเดตแอป คู่มือนี้จะแนะนำคุณตลอดขั้นตอนในการเริ่มต้นใช้งานและให้โค้ดตัวอย่างบางส่วน ซึ่งทั้งหมดนี้พร้อมสำหรับการโคลนหรือดาวน์โหลดจากที่เก็บ firebase/quickstart-js GitHub

ขั้นตอนที่ 1: เพิ่มและเริ่มต้น Remote Config SDK

  1. หากคุณยังไม่ได้ ติดตั้ง ให้ติดตั้ง Firebase JS SDK และเริ่มต้น Firebase

  2. เพิ่ม Remote Config JS SDK และเริ่มต้นการกำหนดค่าระยะไกล:

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();

ออบเจ็กต์นี้ใช้เพื่อเก็บค่าพารามิเตอร์เริ่มต้นในแอป ดึงข้อมูลค่าพารามิเตอร์ที่อัปเดตจากแบ็กเอนด์การกำหนดค่าระยะไกล และควบคุมว่าจะให้ค่าที่ดึงมาพร้อมใช้งานในแอปของคุณเมื่อใด

ขั้นตอนที่ 2: กำหนดช่วงเวลาการดึงข้อมูลขั้นต่ำ

ในระหว่างการพัฒนา ขอแนะนำให้ตั้งค่าช่วงเวลาการดึงข้อมูลขั้นต่ำที่ค่อนข้างต่ำ ดูการ ควบคุม สำหรับข้อมูลเพิ่มเติม

Web version 9

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web version 8

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

ขั้นตอนที่ 3: ตั้งค่าพารามิเตอร์เริ่มต้นในแอป

คุณสามารถตั้งค่าพารามิเตอร์เริ่มต้นในแอปในออบเจ็กต์ Remote Config เพื่อให้แอปทำงานตามที่ตั้งใจไว้ก่อนที่จะเชื่อมต่อกับแบ็กเอนด์การกำหนดค่าระยะไกล และเพื่อให้มีค่าเริ่มต้นหากไม่มีการตั้งค่าไว้ในแบ็กเอนด์

Web version 9

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

Web version 8

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

หากคุณกำหนดค่าพารามิเตอร์แบ็กเอนด์การกำหนดค่าระยะไกลแล้ว คุณสามารถดาวน์โหลดไฟล์ JSON ที่สร้างขึ้นซึ่งมีค่าเริ่มต้นทั้งหมดและรวมไว้ใน App Bundle ของคุณ:

พักผ่อน

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. ในแท็บ Parameters ให้เปิด เมนู แล้วเลือก Download default defaults
  2. เมื่อได้รับแจ้ง ให้เปิดใช้งาน . json สำหรับเว็บ จากนั้นคลิก ดาวน์โหลดไฟล์

ตัวอย่างต่อไปนี้แสดงสองวิธีที่คุณสามารถนำเข้าและตั้งค่าเริ่มต้นในแอปของคุณ ตัวอย่างแรกใช้ fetch ซึ่งจะสร้างคำขอ HTTP ไปยังไฟล์เริ่มต้นที่รวมอยู่ใน App Bundle ของคุณ:


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

ตัวอย่างต่อไป require need ซึ่งจะรวบรวมค่าลงในแอปของคุณ ณ เวลาที่สร้าง:

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

ขั้นตอนที่ 4: รับค่าพารามิเตอร์เพื่อใช้ในแอปของคุณ

ตอนนี้ คุณสามารถรับค่าพารามิเตอร์จากวัตถุการกำหนดค่าระยะไกล หากคุณตั้งค่าในแบ็กเอนด์ในภายหลัง ดึงข้อมูลแล้วเปิดใช้งาน ค่าเหล่านั้นจะพร้อมใช้งานสำหรับแอปของคุณ หากต้องการรับค่าเหล่านี้ ให้เรียกเมธอด 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");

ขั้นตอนที่ 5: ตั้งค่าพารามิเตอร์

การใช้คอนโซล Firebase หรือ API แบ็กเอนด์การกำหนดค่าระยะไกล คุณสามารถสร้างค่าเริ่มต้นฝั่งเซิร์ฟเวอร์ใหม่ที่แทนที่ค่าในแอปตามตรรกะเงื่อนไขที่คุณต้องการหรือการกำหนดเป้าหมายผู้ใช้ ส่วนนี้จะอธิบายขั้นตอนต่างๆ ของคอนโซล Firebase เพื่อสร้างค่าเหล่านี้

  1. ใน คอนโซล Firebase เปิดโครงการของคุณ
  2. เลือก การกำหนดค่าระยะไกล จากเมนูเพื่อดูแดชบอร์ดการกำหนดค่าระยะไกล
  3. กำหนดพารามิเตอร์ด้วยชื่อเดียวกับพารามิเตอร์ที่คุณกำหนดในแอปของคุณ สำหรับแต่ละพารามิเตอร์ คุณสามารถตั้งค่าเริ่มต้น (ซึ่งจะแทนที่ค่าเริ่มต้นในแอปในที่สุด) และคุณยังสามารถตั้งค่าตามเงื่อนไขได้อีกด้วย หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่ พารามิเตอร์และเงื่อนไขการกำหนดค่าระยะไกล

ขั้นตอนที่ 6: ดึงข้อมูลและเปิดใช้งานค่า

  1. หากต้องการดึงค่าพารามิเตอร์จากแบ็กเอนด์การกำหนดค่าระยะไกล ให้เรียก fetchConfig() ค่าใดๆ ที่คุณตั้งไว้บนแบ็กเอนด์จะถูกดึงข้อมูลและแคชไว้ในวัตถุการกำหนดค่าระยะไกล
  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) => {
    // ...
  });

เนื่องจากค่าพารามิเตอร์ที่อัปเดตเหล่านี้ส่งผลต่อลักษณะการทำงานและรูปลักษณ์ของแอป คุณจึงควรเปิดใช้งานค่าที่ดึงมาในแต่ละครั้งเพื่อให้แน่ใจว่าผู้ใช้จะได้รับประสบการณ์ที่ราบรื่น เช่น ในครั้งต่อไปที่ผู้ใช้เปิดแอปของคุณ ดู กลยุทธ์การโหลดการกำหนดค่าระยะไกล สำหรับข้อมูลเพิ่มเติมและตัวอย่าง

การควบคุมปริมาณ

หากดึงข้อมูลแอปหลายครั้งเกินไปในช่วงเวลาสั้นๆ การดึงข้อมูลอาจถูกควบคุมปริมาณ ในกรณีดังกล่าว SDK จะแสดงข้อผิดพลาด FETCH_THROTTLE ขอแนะนำให้คุณตรวจจับข้อผิดพลาดนี้และลองใหม่อีกครั้งในโหมดย้อนกลับแบบเอ็กซ์โปเนนเชียล โดยรอช่วงเวลาที่นานขึ้นระหว่างคำขอดึงข้อมูลที่ตามมา

ในระหว่างการพัฒนาแอป คุณอาจต้องการรีเฟรชแคชบ่อยมาก (หลาย ๆ ครั้งต่อชั่วโมง) เพื่อให้คุณทำซ้ำได้อย่างรวดเร็วในขณะที่คุณพัฒนาและทดสอบแอปของคุณ เพื่อรองรับการวนซ้ำอย่างรวดเร็วในโปรเจ็กต์ที่มีนักพัฒนาจำนวนมาก คุณสามารถเพิ่มพร็อพเพอร์ตี้ที่มีช่วงเวลาการดึงข้อมูลขั้นต่ำต่ำ ( Settings.minimumFetchIntervalMillis ) ในแอปของคุณได้ชั่วคราว

ช่วงเวลาการดึงข้อมูลที่ใช้งานจริงเริ่มต้นและที่แนะนำสำหรับการกำหนดค่าระยะไกลคือ 12 ชั่วโมง ซึ่งหมายความว่าจะไม่มีการดึงข้อมูลการกำหนดค่าจากแบ็กเอนด์มากกว่าหนึ่งครั้งในกรอบเวลา 12 ชั่วโมง โดยไม่คำนึงว่ามีการเรียกใช้การดึงข้อมูลกี่ครั้ง โดยเฉพาะอย่างยิ่ง ช่วงเวลาการดึงข้อมูลขั้นต่ำถูกกำหนดตามลำดับต่อไปนี้:

  1. พารามิเตอร์ใน Settings.minimumFetchIntervalMillis
  2. ค่าเริ่มต้นคือ 12 ชั่วโมง

Next steps

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: