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


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

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

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

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

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

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

  • เพิ่ม Firebase C++ SDK ในโปรเจ็กต์ C++

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

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

Android

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

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

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

  2. เริ่มต้นไลบรารีการกำหนดค่าระยะไกลดังที่แสดงดังนี้

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

iOS ขึ้นไป

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

  1. สร้างแอป Firebase

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

  2. เริ่มต้นไลบรารีการกำหนดค่าระยะไกลดังที่แสดงดังนี้

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

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

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

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

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

  2. เพิ่มค่าเหล่านี้ลงในออบเจ็กต์การกำหนดค่าระยะไกลโดยใช้ SetDefaults().

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

ตอนนี้คุณสามารถรับค่าพารามิเตอร์จากออบเจ็กต์การกำหนดค่าระยะไกลได้แล้ว หากตั้งค่าไว้ ในแบ็กเอนด์การกำหนดค่าระยะไกล ได้ดึงข้อมูลออกไป แล้วเปิดใช้งาน มูลค่าที่ใช้ได้กับแอปของคุณ ไม่เช่นนั้น คุณจะได้รับพารามิเตอร์ในแอป ค่าที่กำหนดค่าโดยใช้ 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);
      }
    });

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

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

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