เริ่มต้นใช้งานการกำหนดค่าระยะไกลของ Firebase


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

ขั้นตอนที่ 1: เพิ่ม Firebase และ SDK การกำหนดค่าระยะไกลลงในแอป

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

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

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

    flutter pub add firebase_remote_config
    

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

    flutter pub add firebase_analytics
    
  4. สร้างโปรเจ็กต์อีกครั้ง

    flutter run
    
  5. หากใช้การกำหนดค่าระยะไกลใน macOS ให้เปิดใช้ การแชร์พวงกุญแจ ใน Xcode

ขั้นตอนที่ 2: รับออบเจ็กต์ Singleton สำหรับการกำหนดค่าระยะไกล

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

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

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

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

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

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

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. ครั้งต่อไปที่คุณเผยแพร่การกำหนดค่าระยะไกลเวอร์ชันใหม่ อุปกรณ์ที่ กำลังใช้แอปของคุณอยู่และการรอดูการเปลี่ยนแปลงจะเปิดใช้งานการกำหนดค่าใหม่

การควบคุม

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

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

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

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

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

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