Mit Firebase Remote Config können Sie Parameter in Ihrer App definieren und ihre Werte in der Cloud aktualisieren. So können Sie die Darstellung und das Verhalten Ihrer App ändern, ohne ein App-Update zu verteilen.
Mit der Remote Config-Bibliothek werden Standardparameterwerte in der App gespeichert, aktualisierte Parameterwerte aus dem Remote Config-Backend abgerufen und gesteuert, wann abgerufene Werte für Ihre App verfügbar gemacht werden. Weitere Informationen finden Sie unter Remote Config-Ladestrategien.
Schritt 1: Firebase zu Ihrer App hinzufügen
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 bereits Firebase verwendet, ist es bereits für Firebase registriert und konfiguriert.
Fügen Sie Ihrem C++-Projekt das Firebase C++ SDK hinzu.
Das Hinzufügen von Firebase zu Ihrem C++-Projekt umfasst Aufgaben sowohl in der Firebase-Konsole als auch in Ihrem geöffneten C++-Projekt. Sie laden beispielsweise Firebase-Konfigurationsdateien aus der Konsole herunter und verschieben sie dann in Ihr C++-Projekt.
Schritt 2: Remote Config in Ihre App einfügen
Android
Nachdem Sie Firebase zu Ihrer App hinzugefügt haben, können Sie Folgendes tun:
Erstellen Sie eine Firebase-App und übergeben Sie die JNI-Umgebung und die Aktivität:
app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);
Initialisieren Sie die Remote Config-Bibliothek wie unten gezeigt:
::firebase::remote_config::Initialize(app);
iOS+
Nachdem Sie Firebase zu Ihrer App hinzugefügt haben, können Sie Folgendes tun:
Firebase-App erstellen:
app = ::firebase::App::Create(::firebase::AppOptions());
Initialisieren Sie die Remote Config-Bibliothek wie unten gezeigt:
::firebase::remote_config::Initialize(app);
Schritt 3: In-App-Standardparameterwerte festlegen
Sie können Standardparameterwerte für In-App-Konfigurationen im Remote Config-Objekt festlegen, damit sich Ihre App wie vorgesehen verhält, bevor sie eine Verbindung zum Remote Config-Backend herstellt. So sind Standardwerte verfügbar, wenn im Backend keine festgelegt sind.
Definieren Sie eine Reihe von Parameternamen und Standardparameterwerten mit einem
ConfigKeyValue*
-Objekt oder einemConfigKeyValueVariant*
-Objekt mit der Größe des Arrays.Wenn Sie bereits Werte für Remote Config-Backend-Parameter konfiguriert haben, können Sie eine Datei mit diesen Schlüssel/Wert-Paaren herunterladen und damit Ihr
map
-Objekt erstellen. Weitere Informationen finden Sie unter Standardvorlagen für Remote Config herunterladen.Fügen Sie diese Werte mit
SetDefaults()
zum Objekt Remote Config hinzu.
Schritt 4: Parameterwerte für die Verwendung in Ihrer App abrufen
Sie können jetzt Parameterwerte aus dem Remote Config-Objekt abrufen. Wenn Sie Werte im Remote Config-Backend festlegen, abrufen und dann aktivieren, sind diese Werte für Ihre App verfügbar. Andernfalls erhalten Sie die In-App-Parameterwerte, die mit SetDefaults()
konfiguriert wurden.
Rufen Sie die unten aufgeführte Methode auf, die dem von Ihrer App erwarteten Datentyp entspricht, und geben Sie den Parameterschlüssel als Argument an, um diese Werte abzurufen:
Schritt 5: Parameterwerte festlegen
- Öffnen Sie Ihr Projekt in der Firebase-Konsole.
- Wählen Sie im Menü Remote Config aus, um das Remote Config-Dashboard aufzurufen.
- 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 den In-App-Standardwert überschreibt) und bedingte Werte festlegen. Weitere Informationen finden Sie unter Remote Config-Parameter und ‑Bedingungen.
Schritt 6: Werte abrufen und aktivieren
- Wenn Sie Parameterwerte aus dem Remote Config-Backend abrufen möchten, rufen Sie die Methode
Fetch()
auf. Alle Werte, die Sie im Backend festlegen, werden abgerufen und im Remote Config-Objekt zwischengespeichert. - Damit abgerufene Parameterwerte für Ihre App verfügbar sind, rufen Sie die
ActivateFetched()
auf.
Schritt 7: Echtzeit-Updates anhören
Nachdem Sie Parameterwerte abgerufen haben, können Sie mit Echtzeit-Remote Config auf Aktualisierungen vom Remote Config-Backend warten. Remote Config-Signale in Echtzeit werden an verbundene Geräte gesendet, wenn Updates verfügbar sind. Die Änderungen werden automatisch abgerufen, nachdem Sie eine neue Remote Config-Version veröffentlicht haben.
Echtzeit-Updates werden vom Firebase C++ SDK ab Version 11.0.0 für Android- und Apple-Plattformen unterstützt.
- Rufen Sie in Ihrer App
AddOnConfigUpdateListener
auf, um mit dem Abhören von Updates zu beginnen und automatisch alle neuen oder aktualisierten Parameterwerte abzurufen. Im folgenden Beispiel wird auf Aktualisierungen gewartet. WennActivate
aufgerufen wird, werden die neu abgerufenen Werte verwendet, 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 von Remote Config veröffentlichen, wird der Listener für Konfigurationsupdates auf Geräten aufgerufen, auf denen Ihre App ausgeführt wird und die auf Änderungen warten.
Nächste Schritte
Falls Sie das noch nicht getan haben, sehen Sie sich die Remote Config Anwendungsfälle an und lesen Sie die Dokumentation zu einigen der wichtigsten Konzepte und erweiterten Strategien, darunter: