Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

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

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

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

เพิ่ม Remote Config ให้กับแอพของคุณ

ก่อนที่คุณจะสามารถใช้ รีโมท Config คุณจะต้อง:

  • ลงทะเบียนโครงการ Unity ของคุณและกำหนดค่าให้ใช้ Firebase

    • หากโปรเจ็กต์ Unity ของคุณใช้ Firebase อยู่แล้ว แสดงว่าได้ลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว

    • หากคุณไม่ได้มีโครงการเอกภาพคุณสามารถดาวน์โหลด แอปพลิเคตัวอย่าง

  • เพิ่ม Firebase สามัคคี SDK (เฉพาะ FirebaseRemoteConfig.unitypackage ) ให้กับโครงการความสามัคคีของคุณ

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

ตั้งค่าพารามิเตอร์เริ่มต้นในแอป

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

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

System.Collections.Generic.Dictionary<string, object> defaults =
  new System.Collections.Generic.Dictionary<string, object>();

// These are the values that are used if we haven't fetched data from the
// server
// yet, or if we ask for values that the server doesn't have:
defaults.Add("config_test_string", "default local string");
defaults.Add("config_test_int", 1);
defaults.Add("config_test_float", 1.0);
defaults.Add("config_test_bool", false);

Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.SetDefaultsAsync(defaults)
  .ContinueWithOnMainThread(task => {

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

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

ที่จะได้รับค่าเหล่านี้ใช้ GetValue() ให้คีย์พารามิเตอร์เป็นอาร์กิวเมนต์ นี้ส่งกลับ ConfigValue ซึ่งมีคุณสมบัติในการแปลงค่าเป็นประเภทฐานต่างๆ

เชื่อมต่อแอปของคุณในคอนโซล Firebase

ใน Firebase คอนโซล เพิ่มแอปของคุณให้กับโครงการ Firebase ของคุณ

ตั้งค่าพารามิเตอร์

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

ดึงและเปิดใช้งานค่า (ตามต้องการ)

สามารถดึงข้อมูลค่าพารามิเตอร์จาก Config แบ็กเอนด์ระยะไกลโทร FetchAsync() วิธีการ ค่าใดๆ ที่คุณตั้งค่าไว้ในแบ็กเอนด์จะถูกดึงข้อมูลและแคชในออบเจ็กต์ Remote Config

// Start a fetch request.
// FetchAsync only fetches new data if the current data is older than the provided
// timespan.  Otherwise it assumes the data is "recent enough", and does nothing.
// By default the timespan is 12 hours, and for production apps, this is a good
// number. For this example though, it's set to a timespan of zero, so that
// changes in the console will always show up immediately.
public Task FetchDataAsync() {
  DebugLog("Fetching data...");
  System.Threading.Tasks.Task fetchTask =
  Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(
      TimeSpan.Zero);
  return fetchTask.ContinueWithOnMainThread(FetchComplete);
}

ค่าเรียกผ่าน FetchAsync() จะถูกเก็บไว้ในประเทศเมื่อดึงข้อมูลเสร็จสมบูรณ์ แต่ไม่ได้ทำใช้ได้จนกว่า ActivateFetched() ถูกเรียก ตั้งแต่ FetchAsync() ดำเนินการถ่ายทอดสดนี้จะช่วยให้คุณเพื่อให้แน่ใจว่าค่าใหม่ยังไม่ได้นำมาใช้คำนวณกลางหรือในเวลาอื่น ๆ ที่อาจก่อให้เกิดปัญหาหรือพฤติกรรมแปลก

(ไม่บังคับ) เปิดใช้งานโหมดนักพัฒนาซอฟต์แวร์

ต้องการเปิดใช้งานโหมดนักพัฒนาซอฟต์แวร์ที่สามารถนำมาใช้ในการปิดการใช้งานการควบคุมปริมาณในระหว่างการพัฒนาคุณสามารถใช้ FirebaseRemoteConfig.Setting ทรัพย์สิน, การตั้งค่าใหม่ ConfigSettings กับ IsDeveloperMode ชุดจริง

ขั้นตอนถัดไป

หากคุณยังไม่ได้สำรวจระยะไกล Config กรณีการใช้งาน และใช้เวลาดูที่บางส่วนของแนวคิดหลักและกลยุทธ์เอกสารขั้นสูงรวมถึง: