Informationen zu Remote Config in Echtzeit

Plattform auswählen: iOS+ Android Web Flutter Unity C++

Mit Remote Config in Echtzeit können Sie aktualisierte Parameterschlüssel und -werte empfangen, sobald sie auf dem Server veröffentlicht werden. So können Sie schnell jede Art von App-Attribut aktualisieren, das über einen Remote Config-Parameterwert gesteuert wird. Mit Echtzeitaktualisierungen für Remote Config können Sie Folgendes tun:

  • Sie können das Risiko verringern, indem Sie Funktionen schrittweise für bestimmte Nutzer einführen und bei Bedarf ein Notfall-Rollback durchführen.
  • Sie können das Nutzer-Engagement steigern, indem Sie die Nutzererfahrung während der Nutzung der App schnell anpassen. Sie können beispielsweise Banner aktualisieren und Nutzern, die bestimmte Google Analytics-Nutzereigenschaften erfüllen, Anreize bieten oder den Schwierigkeitsgrad des Spiels für bestimmte Spielergruppen dynamisch anpassen.
  • Build-Abhängigkeiten reduzieren und die Produktivität von Entwicklern steigern: Verwenden Sie Remote Config-Parameter als Funktions-Flags, um Funktionen für Ihre Entwicklungs- und Testteams bereitzustellen, während sie für Nutzer in der Produktion ausgeblendet bleiben.

Weitere Informationen zu den Verwendungsmöglichkeiten von Remote Config finden Sie unter Was können Sie mit Remote Config tun?.

In dieser Anleitung werden folgende Themen behandelt:

  • Die Client-Server-Beziehung, die Echtzeitaktualisierungen unterstützt.
  • Wie die Echtzeitfunktion im SDK funktioniert.
  • Wie Sie mit Echtzeit-Updates Ihre App-Konfiguration auf dem neuesten Stand halten.
  • Best Practices für Echtzeit-Remote Config.

Die Echtzeit-Client-Server-Verbindung

Wenn Sie Echtzeit-Remote Config in Ihrer App implementieren, erstellen Sie einen Echtzeit-Listener, der eine HTTP-Verbindung zum Remote Config-Backend öffnet. Die Anfrage enthält die Konfigurationsversion, die auf dem Gerät im Cache gespeichert ist. Der Echtzeit-Remote Config-Server verwendet eine Ungültigkeitsnachricht, um der App zu signalisieren, wenn eine neuere Version einer serverseitigen Konfiguration abgerufen werden soll.

Wenn der Server eine neuere Version hat, sendet er sofort das Entwertungssignal. Wenn keine neuere Version vorhanden ist, bleibt die Verbindung geöffnet und es wird gewartet, bis eine auf dem Server veröffentlicht wird. Wenn das Client-SDK ein Entwertungssignal empfängt, ruft es dieses automatisch ab und ruft dann den Listener-Callback auf, der beim Öffnen der Listener-Verbindung registriert wurde. Dieser Abruf ähnelt dem Abrufaufruf, den Sie mit dem SDK ausführen können, umgeht jedoch alle Caching- oder minimumFetchInterval-Einstellungen. Die Client-Server-Verbindung wird aufrechterhalten, während sich die App im Vordergrund befindet.

Client-Server-Workflow für Remote Config in Echtzeit
Echtzeit-Remote Config-Client-Server-Workflow

Da die Client-Server-Verbindung über HTTP hergestellt wird, sind keine Abhängigkeiten von anderen Bibliotheken erforderlich.

Auf Updates achten

Echtzeitaktualisierungen ergänzen Remote Config fetch-Aufrufe. Wir empfehlen, „fetch“ beim Start der App (oder irgendwann während des Lebenszyklus der App) aufzurufen und während der Nutzersitzung auf Echtzeit-Remote Config-Updates zu warten, damit Sie die neuesten Werte haben, sobald sie auf dem Server veröffentlicht werden.

Wenn Sie auf Updates warten möchten, rufen Sie onConfigUpdate auf und implementieren Sie einen Callback, der immer dann aufgerufen wird, wenn ein Remote Config-Update in der App verfügbar ist. Im Hintergrund wird durch diesen Aufruf auf Updates vom Remote Config-Server gewartet. Weitere Informationen zur Client-Server-Beziehung finden Sie im vorherigen Abschnitt.

Der Callback ist oft ein guter Ort, um activate zu verwenden, um die aktualisierten Konfigurationsparameter für Ihre App verfügbar zu machen. Weitere Strategien zum Aktivieren von Parameterwerten bei Verwendung von Echtzeit-Remote Config finden Sie unter Firebase-Remote Config-Ladestrategien.

Parameterwerte selektiv aktivieren

Wenn Sie onConfigUpdate aufrufen, können Sie auf die Änderung warten und sie aktivieren.

Der Callback next wird aufgerufen, wenn eine neue Version der Vorlage automatisch abgerufen wurde und diese neue Version Änderungen an den aktiven Parameterwerten in der App enthält.

Diese Callbacks werden mit dem Parameter configUpdate aufgerufen. configUpdate enthält updated_keys, d. h. die geänderten Parameterschlüssel, die die Echtzeitaktualisierung initiiert haben. Dazu gehören:

  • Parameterschlüssel, die hinzugefügt oder entfernt wurden
  • Parameterschlüssel, deren Werte sich geändert haben
  • Parameterschlüssel, deren Metadaten sich geändert haben (z. B. Personalisierungsinformationen für Remote Config)
  • Parameterschlüssel, deren Wertquelle sich geändert hat (z. B. ein In-App-Standardwert, der auf einen serverseitigen Wert aktualisiert wird)

Wenn Sie einen Echtzeit-Listener in einer bestimmten Ansicht in Ihrer App verwenden, können Sie vor der Aktivierung prüfen, ob sich die für diese Ansicht relevanten Parameter geändert haben.

Gelegentlich führt ein Abruf (entweder durch Aufrufen der Methode fetch oder durch Echtzeit-Remote Config) nicht zu einer Aktualisierung für den Client. In diesen Fällen wird die Methode next oder die Vervollständigung nicht aufgerufen.

Listener hinzufügen und entfernen

onConfigUpdate ist der Haupteinstiegspunkt für Echtzeit-Remote Config. Wenn dieser Listener zum ersten Mal im Lebenszyklus Ihrer App aufgerufen wird, wird die Verbindung zum Backend geöffnet. Bei nachfolgenden Aufrufen wird dieselbe Verbindung wiederverwendet. Dabei wird die unter Echtzeit-Client-Server-Verbindung beschriebene Entwertungsnachricht gemultiplext.

Der Aufruf gibt eine „Listener-Registrierung“ zurück, die eine Methode namens Unsubscribe hat. Wenn Sie keine Updates mehr erhalten möchten, rufen Sie die Funktion Unsubscribe auf, die bei der ersten Registrierung des Beobachters zurückgegeben wurde. Wenn dies der einzige aktive Listener ist, wird durch den Aufruf von Unsubscribe die Echtzeitverbindung zum Server geschlossen.

Sie können das Abhören von Updates zwar manuell beenden, dies ist jedoch oft nicht erforderlich. Die Echtzeit-Remote Config-Funktion hört automatisch auf, auf Aktualisierungen zu warten, wenn die App in den Hintergrund wechselt, und startet neu, wenn die App in den Vordergrund wechselt.

Nächste Schritte

Unter Erste Schritte mit Firebase Remote Config erfahren Sie, wie Sie Remote Config konfigurieren und Updates in Echtzeit abrufen.