Catch up on highlights from Firebase at Google I/O 2023. Learn more

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


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

ขั้นตอนที่ 1: เพิ่ม Firebase และ Remote Config SDK ลงในแอปของคุณ

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

  2. สำหรับการกำหนดค่าระยะไกล จำเป็นต้องมี Google Analytics สำหรับ การกำหนดเป้าหมายตามเงื่อนไขของอินสแตนซ์แอป ไปยังพร็อพเพอร์ตี้ผู้ใช้และผู้ชม ตรวจสอบว่าคุณ เปิดใช้งาน Google Analytics ในโครงการของคุณ

  3. จากไดเรกทอรีรากของโปรเจ็กต์ Flutter ให้รันคำสั่งต่อไปนี้เพื่อติดตั้งปลั๊กอิน Remote Config:

    flutter pub add firebase_remote_config
    

    นอกจากนี้ ในการตั้งค่าการกำหนดค่าระยะไกล คุณต้องเพิ่ม Firebase SDK สำหรับ Google Analytics ลงในแอปของคุณ:

    flutter pub add firebase_analytics
    
  4. สร้างโครงการของคุณใหม่:

    flutter run
    

ขั้นตอนที่ 2: รับวัตถุซิงเกิลคอนฟิกระยะไกล

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

final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(hours: 1),
));

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

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

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

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

await remoteConfig.setDefaults(const {
    "example_param_1": 42,
    "example_param_2": 3.14159,
    "example_param_3": true,
    "example_param_4": "Hello, world!",
});

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

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

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

  • getBool()
  • getDouble()
  • getInt()
  • getString()

ขั้นตอนที่ 5: ตั้งค่าพารามิเตอร์ในแบ็กเอนด์การกำหนดค่าระยะไกล

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

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

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

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

  2. หากต้องการให้แอปของคุณใช้ค่าพารามิเตอร์ที่ดึงมาได้ ให้เรียกใช้เมธอด activate()

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

    await remoteConfig.fetchAndActivate();
    

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

ขั้นตอนที่ 7: ฟังการอัปเดตตามเวลาจริง

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

โปรดทราบว่าการกำหนดค่าระยะไกลแบบเรียลไทม์ไม่พร้อมใช้งานสำหรับเว็บ

  1. ในแอปของคุณ ให้ใช้ onConfigUpdated เพื่อเริ่มฟังการอัปเดตและดึงค่าพารามิเตอร์ใหม่ใดๆ โดยอัตโนมัติ

     remoteConfig.onConfigUpdated.listen((event) async {
       await remoteConfig.activate();
    
       // Use the new config values here.
     });
    
  2. ครั้งต่อไปที่คุณเผยแพร่ Remote Config เวอร์ชันใหม่ อุปกรณ์ที่กำลังเรียกใช้แอปของคุณและรอฟังการเปลี่ยนแปลงจะเปิดใช้งานการกำหนดค่าใหม่

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

หากแอปดึงข้อมูลหลายครั้งเกินไปในช่วงเวลาสั้นๆ การดึงข้อมูลจะถูกควบคุมและค่าของคุณสมบัติ lastFetchStatus ของ FirebaseRemoteConfig จะเป็น RemoteConfigFetchStatus.throttle

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

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

final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(minutes: 5),
));

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

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: