คุณใช้การกำหนดค่าระยะไกลของ Firebase เพื่อกำหนดพารามิเตอร์ในแอปและอัปเดตค่าในระบบคลาวด์ได้ ซึ่งช่วยให้แก้ไขรูปลักษณ์และลักษณะการทำงานของแอปได้โดยไม่ต้องกระจายการอัปเดตแอป
ไลบรารีการกำหนดค่าระยะไกลใช้เพื่อจัดเก็บค่าพารามิเตอร์เริ่มต้นในแอป ดึงข้อมูลค่าพารามิเตอร์ที่อัปเดตแล้วจากแบ็กเอนด์ของการกำหนดค่าระยะไกล และควบคุมช่วงเวลาที่แอปสามารถใช้ค่าที่ดึงมาได้ ดูข้อมูลเพิ่มเติมได้ที่กลยุทธ์การโหลดการกำหนดค่าระยะไกล
ขั้นตอนที่ 1: เพิ่ม Firebase ลงในแอป
ก่อนที่จะใช้การกำหนดค่าระยะไกล คุณต้องทำดังนี้
ลงทะเบียนโปรเจ็กต์ C++ และกําหนดค่าให้ใช้ Firebase
หากโปรเจ็กต์ C++ ของคุณใช้ Firebase อยู่แล้ว แสดงว่ามีการลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว
เพิ่ม Firebase C++ SDK ลงในโปรเจ็กต์ C++
โปรดทราบว่าการเพิ่ม Firebase ลงในโปรเจ็กต์ C++ จะเกี่ยวข้องกับงานทั้งใน คอนโซล Firebase และในโปรเจ็กต์ C++ ที่เปิดอยู่ (เช่น คุณดาวน์โหลดไฟล์การกำหนดค่า Firebase จากคอนโซล แล้วย้ายไฟล์เหล่านั้นไปยังโปรเจ็กต์ C++)
ขั้นตอนที่ 2: เพิ่มการกำหนดค่าระยะไกลในแอป
Android
หลังจากที่เพิ่ม Firebase ลงในแอปแล้ว ให้ทำดังนี้
สร้างแอป Firebase ส่งผ่านสภาพแวดล้อมและกิจกรรมของ JNI
app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);
เริ่มต้นไลบรารีการกำหนดค่าระยะไกล ดังที่แสดงดังนี้
::firebase::remote_config::Initialize(app);
iOS ขึ้นไป
หลังจากที่เพิ่ม Firebase ลงในแอปแล้ว ให้ทำดังนี้
สร้างแอป Firebase:
app = ::firebase::App::Create(::firebase::AppOptions());
เริ่มต้นไลบรารีการกำหนดค่าระยะไกล ดังที่แสดงดังนี้
::firebase::remote_config::Initialize(app);
ขั้นตอนที่ 3: ตั้งค่าค่าพารามิเตอร์เริ่มต้นในแอป
คุณตั้งค่าพารามิเตอร์เริ่มต้นในแอปได้ในออบเจ็กต์การกำหนดค่าระยะไกล เพื่อให้แอปทำงานตามที่ต้องการก่อนเชื่อมต่อกับแบ็กเอนด์ของการกำหนดค่าระยะไกล และเพื่อให้ค่าเริ่มต้นพร้อมใช้งานหากไม่มีการตั้งค่าในแบ็กเอนด์
กำหนดชุดชื่อพารามิเตอร์และค่าพารามิเตอร์เริ่มต้นโดยใช้ออบเจ็กต์
std::map<const char*, const char*>
หรือออบเจ็กต์std::map<const char*, firebase::Variant>
- ดูข้อมูลเกี่ยวกับ
firebase::Variant
หากกำหนดค่าพารามิเตอร์แบ็กเอนด์ของการกำหนดค่าระยะไกลไว้แล้ว คุณจะดาวน์โหลดไฟล์ที่มีคู่คีย์/ค่าเหล่านี้และใช้เพื่อสร้างออบเจ็กต์
map
ได้ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อดาวน์โหลดค่าเริ่มต้นของเทมเพลตการกำหนดค่าระยะไกล- ดูข้อมูลเกี่ยวกับ
เพิ่มค่าเหล่านี้ลงในออบเจ็กต์การกำหนดค่าระยะไกลโดยใช้
SetDefaults()
ขั้นตอนที่ 4: รับค่าพารามิเตอร์ไว้ใช้ในแอป
ตอนนี้คุณสามารถรับค่าพารามิเตอร์จากออบเจ็กต์การกำหนดค่าระยะไกล หากคุณกำหนดค่าในแบ็กเอนด์ของการกำหนดค่าระยะไกล ดึงข้อมูลค่า จากนั้นเปิดใช้งาน ค่าเหล่านั้นจะพร้อมใช้งานในแอป มิเช่นนั้น คุณอาจได้รับค่าพารามิเตอร์ในแอปที่กำหนดค่าโดยใช้ SetDefaults()
หากต้องการรับค่าเหล่านี้ ให้เรียกใช้เมธอดที่แสดงด้านล่างที่แมปกับประเภทข้อมูลที่แอปคาดการณ์ โดยระบุคีย์พารามิเตอร์เป็นอาร์กิวเมนต์
ขั้นตอนที่ 5: ตั้งค่าพารามิเตอร์
- เปิดโปรเจ็กต์ในคอนโซล Firebase
- เลือกการกำหนดค่าระยะไกลจากเมนูเพื่อดูแดชบอร์ดการกำหนดค่าระยะไกล
- กำหนดพารามิเตอร์ที่มีชื่อเดียวกันกับพารามิเตอร์ที่กำหนดในแอป โดยคุณจะกำหนดค่าเริ่มต้น (ซึ่งสุดท้ายแล้วจะลบล้างค่าเริ่มต้นในแอป) และค่าแบบมีเงื่อนไขได้สำหรับพารามิเตอร์แต่ละรายการ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อพารามิเตอร์และเงื่อนไขการกำหนดค่าระยะไกล
ขั้นตอนที่ 6: ดึงข้อมูลและเปิดใช้งานค่า
- หากต้องการดึงค่าพารามิเตอร์จากแบ็กเอนด์การกำหนดค่าระยะไกล ให้เรียกใช้เมธอด
Fetch()
ระบบจะดึงค่าที่คุณกำหนดในแบ็กเอนด์และแคชไว้ในออบเจ็กต์การกำหนดค่าระยะไกล - หากต้องการทำให้ค่าพารามิเตอร์ที่ดึงข้อมูลมาใช้งานกับแอปได้ โปรดเรียกใช้ฟังก์ชัน
ActivateFetched()
ขั้นตอนที่ 7: ฟังอัปเดตแบบเรียลไทม์
หลังจากดึงข้อมูลค่าพารามิเตอร์แล้ว คุณจะใช้การกำหนดค่าระยะไกลแบบเรียลไทม์เพื่อฟังการอัปเดตจากแบ็กเอนด์การกำหนดค่าระยะไกลได้ แบบเรียลไทม์ ส่งสัญญาณการกำหนดค่าระยะไกลไปยังอุปกรณ์ที่เชื่อมต่อเมื่อมีอัปเดตพร้อมใช้งานและ จะดึงข้อมูลการเปลี่ยนแปลงโดยอัตโนมัติหลังจากเผยแพร่การกำหนดค่าระยะไกลเวอร์ชันใหม่
Firebase C++ SDK เวอร์ชัน 11.0.0 ขึ้นไปรองรับการอัปเดตแบบเรียลไทม์สำหรับแพลตฟอร์ม Android และ Apple
- ในแอป ให้เรียกใช้
AddOnConfigUpdateListener
เพื่อเริ่มฟังอัปเดตและดึงข้อมูลค่าพารามิเตอร์ใหม่หรือที่อัปเดตโดยอัตโนมัติ ตัวอย่างต่อไปนี้จะรอฟังอัปเดต และเมื่อมีการเรียกใช้Activate
จะใช้ค่าที่ดึงข้อมูลใหม่เพื่อแสดงข้อความต้อนรับที่อัปเดต
remote_config->AddOnConfigUpdateListener( [](firebase::remote_config::ConfigUpdate&& config_update, firebase::remote_config::RemoteConfigError remote_config_error) { if (remote_config_error != firebase::remote_config::kRemoteConfigErrorNone) { printf("Error listening for config updates: %d", remote_config_error); } // Search the `updated_keys` set for the key "welcome_message." // `updated_keys` represents the keys that have changed since the last // fetch. if (std::find(config_update.updated_keys.begin(), config_update.updated_keys.end(), "welcome_message") != config_update.updated_keys.end()) { remote_config->Activate().OnCompletion( [&](const firebase::Future& completed_future, void* user_data) { // The key "welcome_message" was found within `updated_keys` and // can be activated. if (completed_future.error() == 0) { DisplayWelcomeMessage(); } else { printf("Error activating config: %d", completed_future.error()); } }, nullptr); } });
ครั้งต่อไปที่คุณเผยแพร่การกำหนดค่าระยะไกลเวอร์ชันใหม่ อุปกรณ์ที่เรียกใช้แอปของคุณและรอฟังการเปลี่ยนแปลงจะเรียก Listener การอัปเดตการกำหนดค่า
ขั้นตอนถัดไป
ลองสำรวจกรณีการใช้งานการกำหนดค่าระยะไกลและดูเอกสารแนวคิดสำคัญและเอกสารกลยุทธ์ขั้นสูงต่อไปนี้หากยังไม่ได้ดู