Mulai Menggunakan Firebase Remote Config


Anda dapat menggunakan Firebase Remote Config untuk menetapkan parameter dalam aplikasi dan memperbarui nilainya di cloud, yang memungkinkan Anda untuk memodifikasi tampilan dan perilaku aplikasi tanpa mendistribusikan update aplikasi.

Library Remote Config digunakan untuk menyimpan parameter value default dalam aplikasi, mengambil parameter value terbaru dari backend Remote Config, dan mengontrol kapan nilai yang diambil akan tersedia untuk aplikasi Anda. Untuk mempelajari lebih lanjut, baca artikel Strategi pemuatan Remote Config.

Langkah 1: Menambahkan Firebase ke aplikasi

Sebelum dapat menggunakan Remote Config, Anda perlu:

  • Mendaftarkan project C++ Anda dan mengonfigurasikannya untuk menggunakan Firebase.

    Jika project C++ Anda telah menggunakan Firebase, berarti project tersebut telah terdaftar dan dikonfigurasi untuk Firebase.

  • Menambahkan Firebase C++ SDK ke project C++ Anda.

Perlu diperhatikan bahwa penambahan Firebase ke project C++ Anda memerlukan tindakan baik di Firebase console maupun di project C++ yang terbuka (misalnya, Anda mendownload file konfigurasi Firebase dari konsol, lalu memindahkannya ke project C++).

Langkah 2: Menambahkan Remote Config ke aplikasi

Android

Setelah Anda menambahkan Firebase ke aplikasi Anda:

  1. Buat Aplikasi Firebase dengan meneruskan lingkungan JNI dan Aktivitas:

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

  2. Lakukan inisialisasi library Remote Config, seperti yang ditunjukkan:

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

iOS+

Setelah Anda menambahkan Firebase ke aplikasi Anda:

  1. Buat Aplikasi Firebase:

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

  2. Lakukan inisialisasi library Remote Config, seperti yang ditunjukkan:

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

Langkah 3: Menetapkan parameter value default dalam aplikasi

Anda bisa menetapkan parameter value default dalam aplikasi pada objek Remote Config agar aplikasi Anda berperilaku seperti yang diharapkan sebelum terhubung ke backend Remote Config, dan agar ada value default yang tersedia jika tidak ada value yang ditetapkan pada backend.

  1. Tetapkan satu set nama parameter dan parameter value default menggunakan objek std::map<const char*, const char*> atau objek std::map<const char*, firebase::Variant>.

    Jika sudah mengonfigurasi parameter value backend Remote Config, Anda dapat mendownload file yang berisi key-value pair ini dan menggunakannya untuk membuat objek map. Untuk mengetahui informasi selengkapnya, baca artikel Mendownload default template Remote Config.

  2. Tambahkan nilai ini ke objek Remote Config menggunakan SetDefaults().

Langkah 4: Mendapatkan parameter value yang akan digunakan dalam aplikasi

Sekarang Anda bisa mendapatkan parameter value dari objek Remote Config. Jika Anda menetapkan nilai di backend Remote Config, mengambilnya, lalu mengaktifkannya, nilai tersebut akan tersedia untuk aplikasi Anda. Jika tidak, Anda akan mendapatkan parameter value dalam aplikasi yang dikonfigurasi menggunakan SetDefaults().

Untuk mendapatkan value ini, panggil metode yang tercantum di bawah ini sesuai jenis data yang diharapkan oleh aplikasi Anda, dengan kunci parameter sebagai argumen:

Langkah 5: Menetapkan parameter value

  1. Buka project Anda di Firebase console.
  2. Pilih Remote Config dari menu untuk melihat dasbor Remote Config.
  3. Tetapkan parameter dengan nama yang sama dengan parameter yang Anda tetapkan dalam aplikasi. Untuk setiap parameter, Anda dapat menetapkan nilai default (yang pada akhirnya akan mengganti nilai default dalam aplikasi) dan Anda juga dapat menetapkan nilai kondisional. Untuk mempelajari lebih lanjut, baca artikel Parameter dan kondisi Remote Config.

Langkah 6: Mengambil dan mengaktifkan nilai

  1. Untuk mengambil parameter value dari backend Remote Config, panggil metode Fetch(). Setiap nilai yang Anda tetapkan pada backend akan diambil dan disimpan dalam cache di objek Remote Config.
  2. Agar parameter value yang diambil tersedia untuk aplikasi Anda, panggil ActivateFetched()

Langkah 7: Memproses update secara real time

Setelah mengambil parameter value, Anda dapat menggunakan Remote Config real-time untuk memproses update dari backend Remote Config. Sinyal Remote Config real-time ke perangkat yang terhubung saat update tersedia dan secara otomatis mengambil perubahan setelah Anda memublikasikan versi Remote Config baru.

Update real-time didukung oleh Firebase Unity SDK v11.0.0+ dan versi yang lebih baru untuk platform Android dan Apple.

  1. Di aplikasi Anda, panggil AddOnConfigUpdateListener untuk mulai memproses update dan otomatis mengambil parameter value baru atau yang diperbarui. Contoh berikut memproses update dan saat Activate dipanggil, menggunakan nilai yang baru diambil untuk menampilkan pesan selamat datang yang diperbarui.
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);
      }
    });

Jika kemudian Anda memublikasikan versi baru Remote Config, perangkat yang menjalankan aplikasi dan memproses perubahan akan memanggil pemroses pembaruan konfigurasi.

Langkah berikutnya

Pelajari kasus penggunaan Remote Config jika Anda belum melakukannya, dan lihat beberapa dokumentasi strategi lanjutan dan konsep utama, termasuk: