Beginnen Sie mit Firebase Remote Config


Sie können Firebase Remote Config verwenden, um Parameter in Ihrer App zu definieren und ihre Werte in der Cloud zu aktualisieren, sodass Sie das Erscheinungsbild und Verhalten Ihrer App ändern können, ohne ein App-Update zu verteilen.

Die Remote Config-Bibliothek wird verwendet, um In-App-Standardparameterwerte zu speichern, aktualisierte Parameterwerte vom Remote Config-Backend abzurufen und zu steuern, wann abgerufene Werte Ihrer App zur Verfügung gestellt werden. Weitere Informationen finden Sie unter Ladestrategien für Remote-Konfigurationen .

Schritt 1: Fügen Sie Firebase zu Ihrer App hinzu

Bevor Sie Remote Config verwenden können, müssen Sie Folgendes tun:

  • Registrieren Sie Ihr C++-Projekt und konfigurieren Sie es für die Verwendung von Firebase.

    Wenn Ihr C++-Projekt Firebase bereits verwendet, ist es bereits für Firebase registriert und konfiguriert.

  • Fügen Sie das Firebase C++ SDK zu Ihrem C++-Projekt hinzu.

Beachten Sie, dass das Hinzufügen von Firebase zu Ihrem C++-Projekt Aufgaben sowohl in der Firebase-Konsole als auch in Ihrem offenen C++-Projekt erfordert (Sie laden beispielsweise Firebase-Konfigurationsdateien von der Konsole herunter und verschieben sie dann in Ihr C++-Projekt).

Schritt 2: Fügen Sie Remote Config zu Ihrer App hinzu

Android

Nachdem Sie Firebase zu Ihrer App hinzugefügt haben:

  1. Erstellen Sie eine Firebase-App und übergeben Sie dabei die JNI-Umgebung und Aktivität:

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

  2. Initialisieren Sie die Remote Config-Bibliothek wie gezeigt:

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

iOS+

Nachdem Sie Firebase zu Ihrer App hinzugefügt haben:

  1. Erstellen Sie eine Firebase-App:

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

  2. Initialisieren Sie die Remote Config-Bibliothek wie gezeigt:

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

Schritt 3: In-App-Standardparameterwerte festlegen

Sie können In-App-Standardparameterwerte im Remote Config-Objekt festlegen, sodass sich Ihre App wie vorgesehen verhält, bevor sie eine Verbindung zum Remote Config-Backend herstellt, und dass Standardwerte verfügbar sind, wenn im Backend keine festgelegt sind.

  1. Definieren Sie eine Reihe von Parameternamen und Standardparameterwerten mithilfe eines std::map<const char*, const char*> Objekts oder eines std::map<const char*, firebase::Variant> -Objekts.

    Wenn Sie bereits Parameterwerte für das Remote Config-Backend konfiguriert haben, können Sie eine Datei herunterladen, die diese Schlüssel/Wert-Paare enthält, und diese zum Erstellen Ihres map verwenden. Weitere Informationen finden Sie unter Standardeinstellungen für Remote-Konfigurationsvorlagen herunterladen .

  2. Fügen Sie diese Werte mit SetDefaults() zum Remote Config-Objekt hinzu.

Schritt 4: Rufen Sie Parameterwerte zur Verwendung in Ihrer App ab

Jetzt können Sie Parameterwerte vom Remote Config-Objekt abrufen. Wenn Sie im Remote Config-Backend Werte festlegen, diese abrufen und dann aktivieren, stehen diese Werte Ihrer App zur Verfügung. Andernfalls erhalten Sie die mit SetDefaults() konfigurierten In-App-Parameterwerte.

Um diese Werte zu erhalten, rufen Sie die unten aufgeführte Methode auf, die dem von Ihrer App erwarteten Datentyp zuordnet, und geben Sie den Parameterschlüssel als Argument an:

Schritt 5: Parameterwerte einstellen

  1. Öffnen Sie in der Firebase-Konsole Ihr Projekt.
  2. Wählen Sie „Remote-Konfiguration“ aus dem Menü, um das Remote-Konfigurations-Dashboard anzuzeigen.
  3. Definieren Sie Parameter mit denselben Namen wie die Parameter, die Sie in Ihrer App definiert haben. Für jeden Parameter können Sie einen Standardwert (der letztendlich den In-App-Standardwert überschreibt) und bedingte Werte festlegen. Weitere Informationen finden Sie unter Parameter und Bedingungen für die Remote-Konfiguration .

Schritt 6: Werte abrufen und aktivieren

  1. Um Parameterwerte vom Remote Config-Backend abzurufen, rufen Sie die Methode Fetch() auf. Alle Werte, die Sie im Backend festlegen, werden abgerufen und im Remote Config-Objekt zwischengespeichert.
  2. Um abgerufene Parameterwerte für Ihre App verfügbar zu machen, rufen Sie ActivateFetched() auf.

Schritt 7: Warten Sie in Echtzeit auf Aktualisierungen

Nachdem Sie Parameterwerte abgerufen haben, können Sie Remote Config in Echtzeit verwenden, um auf Aktualisierungen vom Remote Config-Backend zu warten. Echtzeit-Remote-Config signalisiert angeschlossenen Geräten, wenn Updates verfügbar sind, und ruft die Änderungen automatisch ab, nachdem Sie eine neue Remote-Config-Version veröffentlicht haben.

Echtzeitaktualisierungen werden vom Firebase C++ SDK v11.0.0+ und höher für Android- und Apple-Plattformen unterstützt.

  1. Rufen Sie in Ihrer App AddOnConfigUpdateListener auf, um auf Aktualisierungen zu warten und automatisch alle neuen oder aktualisierten Parameterwerte abzurufen. Das folgende Beispiel wartet auf Aktualisierungen und verwendet beim Aufruf Activate die neu abgerufenen Werte, um eine aktualisierte Willkommensnachricht anzuzeigen.
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);
      }
    });

Wenn Sie das nächste Mal eine neue Version Ihrer Remote-Konfiguration veröffentlichen, rufen Geräte, auf denen Ihre App ausgeführt wird und auf Änderungen wartet, den Konfigurationsaktualisierungs-Listener auf.

Nächste Schritte

Wenn Sie es noch nicht getan haben, erkunden Sie die Remote -Konfigurations -Anwendungsfälle und sehen Sie sich einige der wichtigsten Konzepte und erweiterten Strategien an, darunter: