คุณสามารถใช้ Firebase Remote Config เพื่อกำหนดพารามิเตอร์ในแอปและอัปเดตค่าในระบบคลาวด์ ทำให้คุณสามารถแก้ไขลักษณะที่ปรากฏและลักษณะการทำงานของแอปได้โดยไม่ต้องกระจายการอัปเดตแอป
ไลบรารีการกำหนดค่าระยะไกลใช้เพื่อจัดเก็บค่าพารามิเตอร์เริ่มต้นในแอป ดึงข้อมูลค่าพารามิเตอร์ที่อัปเดตจากแบ็กเอนด์การกำหนดค่าระยะไกล และควบคุมเมื่อค่าที่ดึงมาพร้อมใช้งานในแอปของคุณ หากต้องการเรียนรู้เพิ่มเติม โปรดดู กลยุทธ์การโหลดการกำหนดค่าระยะไกล
ขั้นตอนที่ 1: เพิ่ม Firebase ในแอปของคุณ
ก่อนที่คุณจะสามารถใช้ Remote Config คุณต้อง:
ลงทะเบียนโปรเจ็กต์ C++ ของคุณและกำหนดค่าให้ใช้ Firebase
หากโปรเจ็กต์ C++ ของคุณใช้ Firebase อยู่แล้ว แสดงว่ามีการลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว
เพิ่ม Firebase C++ SDK ในโครงการ C++ ของคุณ
โปรดทราบว่าการเพิ่ม Firebase ในโปรเจ็กต์ C++ ของคุณเกี่ยวข้องกับงานทั้งใน คอนโซล Firebase และในโปรเจ็กต์ C++ แบบเปิดของคุณ (เช่น คุณดาวน์โหลดไฟล์กำหนดค่า Firebase จากคอนโซล จากนั้นย้ายไฟล์เหล่านี้ไปยังโปรเจ็กต์ C++)
ขั้นตอนที่ 2: เพิ่มการกำหนดค่าระยะไกลในแอปของคุณ
แอนดรอยด์
หลังจากที่คุณเพิ่ม 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: ตั้งค่าพารามิเตอร์เริ่มต้นในแอป
คุณสามารถตั้งค่าพารามิเตอร์เริ่มต้นในแอปในออบเจ็กต์ Remote Config เพื่อให้แอปทำงานตามที่ตั้งใจไว้ก่อนที่จะเชื่อมต่อกับแบ็กเอนด์การกำหนดค่าระยะไกล และเพื่อให้มีค่าเริ่มต้นหากไม่มีการตั้งค่าไว้ในแบ็กเอนด์
กำหนดชุดของชื่อพารามิเตอร์ และค่าพารามิเตอร์เริ่มต้นโดยใช้
std::map<const char*, const char*>
หรือstd::map<const char*, firebase::Variant>
- เรียนรู้เกี่ยวกับ
firebase::Variant
หากคุณได้กำหนดค่าพารามิเตอร์ส่วนหลังของการกำหนดค่าระยะไกลแล้ว คุณสามารถดาวน์โหลดไฟล์ที่มีคู่คีย์/ค่าเหล่านี้และใช้เพื่อสร้างวัตถุ
map
ของคุณ สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ดาวน์โหลดค่าเริ่มต้นเทมเพลตการกำหนดค่าระยะไกล- เรียนรู้เกี่ยวกับ
เพิ่มค่าเหล่านี้ไปยังวัตถุการกำหนดค่าระยะไกลโดยใช้
SetDefaults()
ขั้นตอนที่ 4: รับค่าพารามิเตอร์เพื่อใช้ในแอปของคุณ
ตอนนี้ คุณสามารถรับค่าพารามิเตอร์จากวัตถุการกำหนดค่าระยะไกล หากคุณตั้งค่าในแบ็กเอนด์การกำหนดค่าระยะไกล ดึงข้อมูลแล้วเปิดใช้งาน ค่าเหล่านั้นจะพร้อมใช้งานสำหรับแอปของคุณ มิฉะนั้น คุณจะได้รับค่าพารามิเตอร์ในแอปที่กำหนดค่าโดยใช้ SetDefaults()
ในการรับค่าเหล่านี้ ให้เรียกใช้เมธอดที่แสดงรายการด้านล่างซึ่งแมปกับประเภทข้อมูลที่แอปของคุณคาดไว้ โดยให้คีย์พารามิเตอร์เป็นอาร์กิวเมนต์:
ขั้นตอนที่ 5: เชื่อมต่อแอปของคุณในคอนโซล Firebase
ใน คอนโซล Firebase ให้เพิ่มแอปของคุณในโครงการ Firebase
ขั้นตอนที่ 6: ตั้งค่าพารามิเตอร์
- ใน คอนโซล Firebase เปิดโครงการของคุณ
- เลือก การกำหนดค่าระยะไกล จากเมนูเพื่อดูแดชบอร์ดการกำหนดค่าระยะไกล
- กำหนดพารามิเตอร์ด้วยชื่อเดียวกับพารามิเตอร์ที่คุณกำหนดในแอปของคุณ สำหรับแต่ละพารามิเตอร์ คุณสามารถตั้งค่าเริ่มต้น (ซึ่งจะแทนที่ค่าเริ่มต้นในแอปในที่สุด) และค่าตามเงื่อนไข หากต้องการเรียนรู้เพิ่มเติม โปรดดู พารามิเตอร์และเงื่อนไขการกำหนดค่าระยะไกล
ขั้นตอนที่ 7: ดึงข้อมูลและเปิดใช้งานค่า
- หากต้องการดึงค่าพารามิเตอร์จากส่วนหลังการกำหนดค่าระยะไกล ให้เรียกเมธอด
Fetch()
ค่าใดๆ ที่คุณตั้งไว้บนแบ็กเอนด์จะถูกดึงข้อมูลและแคชไว้ในวัตถุการกำหนดค่าระยะไกล - ในการทำให้ค่าพารามิเตอร์ที่ดึงมาพร้อมใช้งานสำหรับแอปของคุณ ให้เรียก
ActivateFetched()
ขั้นตอนที่ 8: ฟังการอัปเดตตามเวลาจริง
หลังจากที่ดึงค่าพารามิเตอร์แล้ว คุณสามารถใช้การกำหนดค่าระยะไกลแบบเรียลไทม์เพื่อฟังการอัปเดตจากแบ็กเอนด์การกำหนดค่าระยะไกลได้ การกำหนดค่าระยะไกลแบบเรียลไทม์จะส่งสัญญาณไปยังอุปกรณ์ที่เชื่อมต่อเมื่อมีการอัปเดต และดึงข้อมูลการเปลี่ยนแปลงโดยอัตโนมัติหลังจากที่คุณเผยแพร่เวอร์ชันการกำหนดค่าระยะไกลใหม่
การอัปเดตตามเวลาจริงรองรับโดย Firebase C++ SDK 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 เวอร์ชันใหม่ อุปกรณ์ที่กำลังเรียกใช้แอปของคุณและรอฟังการเปลี่ยนแปลงจะเรียกฟังการอัปเดตการกำหนดค่า
ขั้นตอนถัดไป
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: