Pierwsze kroki ze Zdalnej konfiguracji Firebase


Za pomocą Firebase Remote Config możesz definiować parametry w aplikacji i zmieniać ich wartości w chmurze, co umożliwia modyfikowanie wyglądu i zachowania aplikacji bez rozpowszechniania jej aktualizacji.

Biblioteka Remote Config służy do przechowywania domyślnych wartości parametrów w aplikacji, pobierania zaktualizowanych wartości parametrów z backendu Remote Config oraz kontrolowania, kiedy pobrane wartości są udostępniane aplikacji. Więcej informacji znajdziesz w artykule Strategie ładowania Zdalnej konfiguracji.

Krok 1. Dodaj Firebase do swojej aplikacji

Zanim zaczniesz korzystać z Remote Config, musisz:

  • Zarejestruj projekt C++ i skonfiguruj go pod kątem używania Firebase.

    Jeśli Twój projekt w C++ korzysta już z Firebase, jest już zarejestrowany i skonfigurowany pod kątem tej usługi.

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

Dodawanie Firebase do projektu w C++ wymaga wykonania zadań zarówno w konsoli Firebase, jak i w otwartym projekcie w C++ (np. pobieranie plików konfiguracji Firebase z konsoli i przenoszenie ich do projektu w C++).

Krok 2. Dodaj Remote Config do aplikacji

Android

Po dodaniu Firebase do aplikacji:

  1. Utwórz aplikację Firebase, przekazując środowisko JNI i działanie:

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

  2. Zainicjuj bibliotekę Remote Config w ten sposób:

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

iOS+

Po dodaniu Firebase do aplikacji:

  1. Tworzenie aplikacji Firebase:

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

  2. Zainicjuj bibliotekę Remote Config w ten sposób:

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

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

Wartości domyślne parametrów w aplikacji możesz ustawić w obiekcie Remote Config, aby aplikacja działała zgodnie z oczekiwaniami, zanim połączy się z serwerem Remote Config, oraz aby były dostępne wartości domyślne, jeśli na serwerze nie ma żadnych ustawionych wartości.

  1. Zdefiniuj zestaw nazw parametrów i ich domyślnych wartości za pomocą obiektu ConfigKeyValue* lub obiektu ConfigKeyValueVariant* o rozmiarze tablicy.

    Jeśli masz już skonfigurowane wartości parametrów backendu Remote Config, możesz pobrać plik zawierający te pary klucz-wartość i użyć go do utworzenia obiektu map. Więcej informacji znajdziesz w szablonie do pobraniaRemote Config z domyślnymi ustawieniami.

  2. Dodaj te wartości do obiektu Remote Config za pomocą elementu SetDefaults().

Krok 4. Uzyskaj wartości parametrów, które będą używane w Twojej aplikacji

Teraz możesz pobierać wartości parametrów z obiektu Remote Config. Jeśli ustawisz wartości na zapleczu Remote Config, pobierzesz je, a potem je aktywujesz, będą one dostępne w aplikacji. W przeciwnym razie otrzymasz wartości parametrów w aplikacji skonfigurowane za pomocą funkcji SetDefaults().

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

Krok 5. Ustaw wartości parametrów

  1. W konsoli Firebase otwórz projekt.
  2. Aby wyświetlić panel Remote Config, w menu kliknij Remote Config.
  3. Zdefiniuj parametry o tych samych nazwach, co parametry zdefiniowane w aplikacji. Dla każdego parametru możesz ustawić wartość domyślną (która ostatecznie zastąpi wartość domyślną w aplikacji) i wartości warunkowe. Więcej informacji znajdziesz w parametrach i warunkach Remote Config.

Krok 6. Pobierz i aktywuj wartości

  1. Aby pobrać wartości parametrów z back-endu Remote Config, wywołaj metodę Fetch(). Wszystkie wartości ustawione na zapleczu są pobierane i przechowywane w obiekcie Remote Config.
  2. Aby udostępnić wartości parametrów pobrane przez aplikację, wywołaj funkcję ActivateFetched().

Krok 7. Słuchaj aktualizacji w czasie rzeczywistym

Po pobraniu wartości parametrów możesz używać interfejsu Remote Config w czasie rzeczywistym do odbierania aktualizacji z back-endu Remote Config. W czasie rzeczywistym Remote Config sygnalizuje połączonym urządzeniom, że są dostępne aktualizacje, i automatycznie pobiera zmiany po opublikowaniu nowej wersji Remote Config.

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

  1. W aplikacji wywołaj funkcję AddOnConfigUpdateListener, aby zacząć nasłuchiwać aktualizacji i automatycznie pobierać nowe lub zaktualizowane wartości parametrów. Ten przykład wykrywa zmiany i po wywołaniu funkcji Activate używa nowo pobranych wartości do wyświetlenia zaktualizowanego komunikatu powitalnego.
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ę Remote Config, urządzenia, na których jest uruchomiona aplikacja i które nasłuchują zmian, wywołają komponent odbiorczy aktualizacji konfiguracji.

Dalsze kroki

Jeśli jeszcze tego nie zrobisz, zapoznaj się z Remote Config przypadkami użycia i pojęciami kluczowymi oraz dokumentacją dotyczącą zaawansowanych strategii, w tym: