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


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

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

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

ก่อนที่คุณจะสามารถใช้ การกำหนดค่าระยะไกล คุณต้อง:

  • ลงทะเบียนโปรเจ็กต์ C++ ของคุณและกำหนดค่าให้ใช้ Firebase

    หากโปรเจ็กต์ C++ ของคุณใช้ Firebase อยู่แล้ว แสดงว่ามีการลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว

  • เพิ่ม Firebase C++ SDK ให้กับโปรเจ็กต์ C++ ของคุณ

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

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

หุ่นยนต์

หลังจากที่คุณเพิ่ม Firebase ลงในแอปแล้ว ให้ทำดังนี้

  1. สร้างแอป Firebase ผ่านสภาพแวดล้อม JNI และกิจกรรม:

    app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);

  2. เริ่มต้นไลบรารี Remote Config ดังที่แสดง:

    ::firebase::remote_config::Initialize(app);

ไอโอเอส+

หลังจากที่คุณเพิ่ม Firebase ลงในแอปแล้ว ให้ทำดังนี้

  1. สร้างแอป Firebase:

    app = ::firebase::App::Create(::firebase::AppOptions());

  2. เริ่มต้นไลบรารี Remote Config ดังที่แสดง:

    ::firebase::remote_config::Initialize(app);

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

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

  1. กำหนดชุดของชื่อพารามิเตอร์และค่าพารามิเตอร์เริ่มต้นโดยใช้ std::map<const char*, const char*> หรือ std::map<const char*, firebase::Variant>

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

  2. เพิ่มค่าเหล่านี้ให้กับอ็อบเจ็กต์ Remote Config โดยใช้ SetDefaults()

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

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

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

ขั้นตอนที่ 5: ตั้งค่าพารามิเตอร์

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

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

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

ขั้นตอนที่ 7: ฟังการอัปเดตแบบเรียลไทม์

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

การอัปเดตแบบเรียลไทม์ได้รับการสนับสนุนโดย Firebase C++ SDK v11.0.0+ และสูงกว่าสำหรับแพลตฟอร์ม Android และ Apple

  1. ในแอปของคุณ ให้เรียก 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);
      }
    });

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

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

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