คุณสามารถใช้ Firebase Remote Config เพื่อกำหนดพารามิเตอร์ในแอปและ อัปเดตค่าในระบบคลาวด์ ซึ่งทำให้คุณสามารถแก้ไขลักษณะที่ปรากฏ พฤติกรรมของแอปโดยไม่เผยแพร่การอัปเดตแอป
ไลบรารี Remote Config ใช้เพื่อจัดเก็บค่าพารามิเตอร์เริ่มต้นในแอป ดึงข้อมูลค่าพารามิเตอร์ที่อัปเดตจากแบ็กเอนด์ Remote Config และ ควบคุมเวลาที่ค่าที่ดึงมาจะพร้อมใช้งานสำหรับแอปของคุณ หากต้องการทราบข้อมูลเพิ่มเติม ดูกลยุทธ์การโหลดการกำหนดค่าระยะไกล
ขั้นตอนที่ 1: เพิ่ม Firebase ไปยังแอปของคุณ
ก่อนที่จะใช้งานได้ Remote Config คุณต้องทำดังนี้
ลงทะเบียนโปรเจ็กต์ C++ และกําหนดค่าเพื่อใช้ Firebase
หากโปรเจ็กต์ C++ ของคุณใช้ Firebase อยู่แล้ว แสดงว่ามีการลงทะเบียนโปรเจ็กต์แล้วและ กำหนดค่าสำหรับ Firebase แล้ว
เพิ่ม Firebase C++ SDK ลงในโปรเจ็กต์ C++
โปรดทราบว่าการเพิ่ม Firebase ไปยังโปรเจ็กต์ C++ จะเกี่ยวข้องกับงานทั้งใน คอนโซล Firebase และในโปรเจ็กต์ C++ ที่เปิดอยู่ (เช่น เมื่อคุณดาวน์โหลด ไฟล์การกำหนดค่า Firebase จากคอนโซล แล้วย้ายไฟล์ไปยังโปรเจ็กต์ C++)
ขั้นตอนที่ 2: เพิ่ม Remote Config ลงในแอป
Android
หลังจากที่เพิ่ม Firebase ลงในแอปแล้ว ให้ทำดังนี้
สร้างแอป Firebase และส่งในสภาพแวดล้อมและกิจกรรม JNI โดยทำดังนี้
app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);
เริ่มต้นไลบรารี Remote Config ตามที่แสดงไว้:
::firebase::remote_config::Initialize(app);
iOS ขึ้นไป
หลังจากที่เพิ่ม Firebase ลงในแอปแล้ว ให้ทำดังนี้
สร้างแอป Firebase
app = ::firebase::App::Create(::firebase::AppOptions());
เริ่มต้นไลบรารี Remote Config ตามที่แสดงไว้:
::firebase::remote_config::Initialize(app);
ขั้นตอนที่ 3: ตั้งค่าพารามิเตอร์เริ่มต้นในแอป
คุณตั้งค่าพารามิเตอร์เริ่มต้นในแอปได้ใน Remote Config เพื่อให้แอปทำงานตามที่ตั้งใจไว้ก่อนที่จะเชื่อมต่อกับ แบ็กเอนด์ Remote Config เพื่อให้ใช้ค่าเริ่มต้นได้หากไม่มี ที่ตั้งไว้ในแบ็กเอนด์
กำหนดชุดของชื่อพารามิเตอร์ และค่าพารามิเตอร์เริ่มต้นโดยใช้
std::map<const char*, const char*>
หรือออบเจ็กต์std::map<const char*, firebase::Variant>
ออบเจ็กต์- ดูข้อมูลเกี่ยวกับ
firebase::Variant
หากคุณกำหนดค่าพารามิเตอร์แบ็กเอนด์ Remote Config แล้ว คุณสามารถดาวน์โหลดไฟล์ที่มีคู่คีย์/ค่าเหล่านี้และใช้ เพื่อสร้างออบเจ็กต์
map
สำหรับข้อมูลเพิ่มเติม โปรดดู ดาวน์โหลด Remote Config ค่าเริ่มต้นของเทมเพลต- ดูข้อมูลเกี่ยวกับ
เพิ่มค่าเหล่านี้ลงในออบเจ็กต์ Remote Config โดยใช้
SetDefaults()
ขั้นตอนที่ 4: รับค่าพารามิเตอร์เพื่อใช้ในแอป
ตอนนี้คุณรับค่าพารามิเตอร์จากออบเจ็กต์ Remote Config ได้แล้ว หากตั้งค่าไว้
ในแบ็กเอนด์ Remote Config ดึงข้อมูล แล้วเปิดใช้งานค่าเหล่านั้น
มูลค่าที่ใช้ได้กับแอปของคุณ ไม่เช่นนั้น คุณจะได้รับพารามิเตอร์ในแอป
ค่าที่กำหนดค่าโดยใช้
SetDefaults()
ในการรับค่าเหล่านี้ ให้เรียกใช้เมธอดด้านล่างซึ่งจับคู่กับประเภทข้อมูล ตามที่แอปของคุณต้องการ โดยระบุคีย์พารามิเตอร์เป็นอาร์กิวเมนต์ ดังนี้
ขั้นตอนที่ 5: ตั้งค่าค่าพารามิเตอร์
- เปิดโปรเจ็กต์ในคอนโซล Firebase
- เลือก Remote Config จากเมนูเพื่อดูแดชบอร์ดของ Remote Config
- กำหนดพารามิเตอร์ด้วยชื่อเดียวกับพารามิเตอร์ที่คุณกำหนดใน แอปของคุณ สำหรับแต่ละพารามิเตอร์ คุณสามารถกำหนดค่าเริ่มต้น (ซึ่ง ลบล้างค่าเริ่มต้นในแอป) และมูลค่าแบบมีเงื่อนไข ดูข้อมูลเพิ่มเติมได้ที่ พารามิเตอร์และเงื่อนไข Remote Config รายการ
ขั้นตอนที่ 6: ดึงข้อมูลและเปิดใช้งานค่า
- หากต้องการดึงข้อมูลค่าพารามิเตอร์จากแบ็กเอนด์ Remote Config ให้เรียกเมธอด
Fetch()
ระบบจะดึงข้อมูลค่าใดก็ตามที่คุณกำหนดไว้ในแบ็กเอนด์และ แคชในออบเจ็กต์ Remote Config - หากต้องการให้ค่าพารามิเตอร์ที่ดึงข้อมูลไว้ใช้กับแอปได้ ให้เรียกใช้เมธอด
ActivateFetched()
ขั้นตอนที่ 7: ฟังข้อมูลอัปเดตแบบเรียลไทม์
หลังจากดึงข้อมูลค่าพารามิเตอร์แล้ว คุณจะใช้ Remote Config แบบเรียลไทม์เพื่อทำสิ่งต่อไปนี้ได้ ฟังอัปเดตจากแบ็กเอนด์ Remote Config เรียลไทม์ Remote Config ส่งสัญญาณไปยังอุปกรณ์ที่เชื่อมต่อเมื่อมีอัปเดตและ ดึงข้อมูลการเปลี่ยนแปลงโดยอัตโนมัติหลังจากที่คุณเผยแพร่ Remote Config ใหม่ เวอร์ชัน
SDK C++ ของ Firebase รองรับการอัปเดตแบบเรียลไทม์ v11.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); } });
ครั้งต่อไปที่คุณเผยแพร่ Remote Config เวอร์ชันใหม่ อุปกรณ์ ที่กำลังเรียกใช้แอปของคุณและรอรับการเปลี่ยนแปลงอยู่จะเรียกใช้การกำหนดค่า อัปเดต Listener
ขั้นตอนถัดไป
หากยังไม่ได้สำรวจ โปรดดู Remote Config กรณีการใช้งาน แล้วลองดูที่ แนวคิดหลักและเอกสารกลยุทธ์ขั้นสูง ได้แก่