Wprowadzenie do Zdalnej konfiguracji Firebase


Za pomocą Zdalnej konfiguracji Firebase możesz definiować parametry w aplikacji i aktualizować ich wartości w chmurze, co pozwala zmieniać wygląd i działanie aplikacji bez jej aktualizacji.

Biblioteka Zdalnej konfiguracji służy do przechowywania domyślnych wartości parametrów w aplikacji, pobierania zaktualizowanych wartości parametrów z backendu Zdalnej konfiguracji oraz do kontrolowania, kiedy pobrane wartości mają zostać udostępnione aplikacji. Więcej informacji znajdziesz w artykule o strategiach wczytywania Zdalnej konfiguracji.

Krok 1. Dodaj Firebase do swojej aplikacji

Zanim użyjesz Zdalnej konfiguracji, musisz:

  • Zarejestruj projekt C++ i skonfiguruj go do korzystania z Firebase.

    Jeśli Twój projekt C++ korzysta już z Firebase, oznacza to, że jest już zarejestrowany i skonfigurowany dla tej platformy.

  • Dodaj do projektu C++ pakiet SDK Firebase C++.

Pamiętaj, że dodanie Firebase do projektu C++ wymaga wykonywania zadań zarówno w konsoli Firebase, jak i w otwartym projekcie C++ (np. możesz pobrać z konsoli pliki konfiguracyjne Firebase, a potem przenieść je do projektu C++).

Krok 2. Dodaj Zdalną konfigurację do aplikacji

Android

Po dodaniu Firebase do aplikacji:

  1. Utwórz aplikację Firebase, przekazując środowisko JNI i aktywność:

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

  2. Zainicjuj bibliotekę Zdalnej konfiguracji, jak pokazano poniżej:

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

iOS lub nowszy

Po dodaniu Firebase do aplikacji:

  1. Utwórz aplikację Firebase:

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

  2. Zainicjuj bibliotekę Zdalnej konfiguracji, jak pokazano poniżej:

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

Krok 3. Ustaw domyślne wartości parametrów w aplikacji

Domyślne wartości parametrów w aplikacji możesz ustawić w obiekcie Zdalnej konfiguracji. Dzięki temu aplikacja będzie zachowywać się zgodnie z oczekiwaniami przed nawiązaniem połączenia z backendem Zdalnej konfiguracji, a jeśli w backendzie nie zostanie ustawiona żadna wartość domyślna, będą dostępne wartości domyślne.

  1. Zdefiniuj zbiór nazw parametrów i domyślne wartości parametrów za pomocą obiektu std::map<const char*, const char*> lub std::map<const char*, firebase::Variant>.

    Jeśli masz już skonfigurowane wartości parametrów backendu Zdalnej konfiguracji, możesz pobrać plik zawierający te pary i użyć go do utworzenia obiektu map. Więcej informacji znajdziesz w artykule o pobieraniu wartości domyślnych szablonu Zdalnej konfiguracji.

  2. Dodaj te wartości do obiektu Zdalnej konfiguracji za pomocą SetDefaults().

Krok 4. Pobierz wartości parametrów do wykorzystania w aplikacji

Teraz możesz pobierać wartości parametrów z obiektu Zdalnej konfiguracji. Jeśli ustawisz wartości w backendzie Zdalnej konfiguracji, pobierze je i aktywuj, będą one dostępne dla Twojej aplikacji. W przeciwnym razie wartości parametrów w aplikacji zostaną skonfigurowane za pomocą narzędzia SetDefaults().

Aby uzyskać te wartości, wywołaj podaną poniżej metodę, która mapuje typ danych oczekiwany przez Twoją aplikację, podając klucz parametru jako argument:

Krok 5. Ustaw wartości parametrów

  1. Otwórz projekt w konsoli Firebase.
  2. Wybierz z menu Zdalna konfiguracja, aby wyświetlić panel Zdalnej konfiguracji.
  3. Zdefiniuj parametry o takich samych nazwach jak parametry zdefiniowane w aplikacji. Dla każdego parametru możesz ustawić wartość domyślną (która ostatecznie zastąpi domyślną wartość w aplikacji) i wartości warunkowe. Więcej informacji znajdziesz w artykule o parametrach i warunkach Zdalnej konfiguracji.

Krok 6. Pobierz i aktywuj wartości

  1. Aby pobrać wartości parametrów z backendu Zdalnej konfiguracji, wywołaj metodę Fetch(). Wszystkie wartości ustawione w backendzie są pobierane i zapisywane w pamięci podręcznej obiektu Zdalnej konfiguracji.
  2. Aby udostępnić aplikacji pobrane wartości parametrów, wywołaj metodę ActivateFetched()

Krok 7. Nasłuchuj aktualizacji w czasie rzeczywistym

Po pobraniu wartości parametrów możesz za pomocą Zdalnej konfiguracji w czasie rzeczywistym nasłuchiwać aktualizacji z backendu Zdalnej konfiguracji. Zdalna konfiguracja w czasie rzeczywistym sygnalizuje połączone urządzenia, gdy dostępne są aktualizacje, i automatycznie pobiera zmiany po opublikowaniu nowej wersji Zdalnej konfiguracji.

Aktualizacje w czasie rzeczywistym są obsługiwane przez pakiet SDK Firebase w C++ w wersji 11.0.0 lub nowszej na platformy Android i Apple.

  1. Wywołaj w aplikacji polecenie AddOnConfigUpdateListener, aby zacząć nasłuchiwać aktualizacji i automatycznie pobrać nowe lub zaktualizowane wartości parametrów. Poniższy przykład wykrywa aktualizacje i po wywołaniu funkcji Activate używa nowo pobranych wartości do wyświetlenia zaktualizowanej wiadomości powitalnej.
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);
      }
    });

Gdy następnym razem opublikujesz nową wersję Zdalnej konfiguracji, urządzenia, na których działa Twoja aplikacja i nasłuchują zmian, wywołają detektor aktualizacji konfiguracji.

Dalsze kroki

Zapoznaj się z przypadkami użycia Zdalnej konfiguracji oraz dokumentacją kluczowych pojęć i zaawansowanych strategii, takich jak: