Echtzeit-Remote-Konfiguration verstehen


Mit der Echtzeit-Remotekonfiguration können Sie aktualisierte Parameterschlüssel und -werte erhalten, sobald diese auf dem Server veröffentlicht werden. Dadurch können Sie jede Art von App-Attribut, das über einen Remote-Config-Parameterwert gesteuert wird, schnell aktualisieren. Mit Remote-Konfigurationsaktualisierungen in Echtzeit können Sie:

  • Reduzieren Sie das Risiko, indem Sie Funktionen schrittweise für bestimmte Benutzer bereitstellen und bei Bedarf ein Notfall-Rollback durchführen.
  • Erhöhen Sie die Benutzereinbindung, indem Sie die Benutzererfahrungen bei der Nutzung der App schnell anpassen. Sie könnten beispielsweise Banner aktualisieren und Anreize für Benutzer bieten, die mit bestimmten Google Analytics-Benutzereigenschaften übereinstimmen, oder den Spielschwierigkeitsgrad für Kohorten von Spielern dynamisch anpassen.
  • Reduzieren Sie Build-Abhängigkeiten und steigern Sie die Entwicklerproduktivität: Verwenden Sie Remote Config-Parameter als Feature-Flags, um Funktionen für Ihre Entwicklungs- und Testteams verfügbar zu machen, während sie für Benutzer in der Produktion verborgen bleiben.

Weitere Informationen zur Verwendung von Remote Config finden Sie unter „Was können Sie mit Remote Config tun?“.

In diesem Leitfaden erfahren Sie:

  • Erfahren Sie mehr über die Client-Server-Beziehung, die Echtzeitaktualisierungen unterstützt.
  • Verstehen Sie, wie die Echtzeitfunktionalität im SDK funktioniert.
  • Erfahren Sie, wie Sie Echtzeit-Updates nutzen, um Ihre App-Konfiguration auf dem neuesten Stand zu halten.

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 derzeit auf dem Gerät zwischengespeichert ist. Der Echtzeit-Remote-Konfigurationsserver verwendet eine Ungültigkeitsmeldung , um der App zu signalisieren, wann eine neuere Version einer serverseitigen Konfiguration abgerufen werden soll.

Wenn der Server über eine neuere Version verfügt, sendet er das Invalidierungssignal sofort. Wenn es keine neuere Version gibt, hält es die Verbindung offen und wartet, bis eine auf dem Server veröffentlicht wird. Wenn das Client-SDK ein Invalidierungssignal empfängt, ruft es es automatisch ab und ruft dann den Listener-Rückruf auf, der beim Öffnen der Listener-Verbindung registriert wurde. Dieser Abruf ähnelt dem Abrufaufruf, den Sie mit dem SDK durchführen können, umgeht jedoch jegliche Caching- oder minimumFetchInterval Einstellungen. Die Client-Server-Verbindung bleibt bestehen, während die App im Vordergrund läuft.

Echtzeit-Remote-Config-Client-Server-Workflow

Da die Client-Server-Verbindung über HTTP erfolgt, sind keine Abhängigkeiten zu anderen Bibliotheken erforderlich.

Achten Sie auf Updates

Echtzeitaktualisierungen ergänzen Remote Config- fetch . Wir empfehlen, fetch beim Start Ihrer App (oder irgendwann während des Lebenszyklus Ihrer App) aufzurufen und während der Benutzersitzung auf Remote-Konfigurationsaktualisierungen in Echtzeit zu warten, um sicherzustellen, dass Sie über die neuesten Werte verfügen, sobald diese auf dem Server veröffentlicht werden.

Um auf Aktualisierungen zu warten, rufen SieaddOnConfigUpdateListener ,auf und implementieren einen Rückruf, der immer dann aufgerufen wird, wenn in der App ein Remote Config-Update verfügbar ist . Hinter den Kulissen beginnt dieser Aufruf, auf Updates vom Remote Config-Server zu warten. Weitere Informationen zur Client-Server-Beziehung finden Sie im vorherigen Abschnitt .

Der Rückruf 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, wenn Sie Echtzeit-Remotekonfiguration verwenden, finden Sie unter Firebase Remote Config Loading Strategies .

Parameterwerte gezielt aktivieren

Wenn SieaddOnConfigUpdateListener ,aufrufen, können Sie die Änderung abwarten und aktivieren.

zurückgegeben. Der onUpdate Rückruf wird aufgerufen, wenn sowohl eine neue Version der Vorlage automatisch abgerufen wurde als auch wenn diese neue Version Änderungen an den aktuell aktivierten Parameterwerten in der App aufweist.

Diese Rückrufe werden mit einem Parameter configUpdate aufgerufen. configUpdate enthältupdatedKeys “ und“. Dabei handelt es sich um den Satz geänderter Parameterschlüssel, der die Echtzeitaktualisierung initiiert hat, und umfasst Folgendes:

  • Parameterschlüssel hinzugefügt oder entfernt
  • Parameterschlüssel, deren Werte sich geändert haben
  • Parameterschlüssel, deren Metadaten sich geändert haben (z. B. Remote Config-Personalisierungsinformationen)
  • 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 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 beim Aufruf der fetch oder durch Echtzeit-Remotekonfiguration initiiert) nicht zu einer Aktualisierung für den Client. In diesen Fällen wird die MethodeonUpdateoder die Vervollständigung nicht aufgerufen.

Listener hinzufügen und entfernen

addOnConfigUpdateListenerist der Haupteinstiegspunkt für die Echtzeit-Remotekonfiguration. Wenn Sie diesen Listener zum ersten Mal im Lebenszyklus Ihrer App aufrufen, wird die Verbindung zum Backend geöffnet. Nachfolgende Aufrufe verwenden dieselbe Verbindung erneut und multiplexen die in der Echtzeit-Client-Server-Verbindung beschriebene Ungültigkeitsmeldung.

Der Aufruf gibt eine „Listener-Registrierung“ zurück, die über eine Methode namensremove .

Um das Zuhören zu beenden, speichern Sie den Verweis auf die Listener-Registrierung. Rufen Sie remove auf, um das Abhören dieser Registrierung zu beenden. Wenn es sich um den einzigen registrierten Listener handelt, wird durch den Aufruf von remove die Echtzeitverbindung zum Server geschlossen.

Obwohl Sie das Warten auf Updates manuell beenden können , ist dies häufig nicht erforderlich. Real-time Remote Config hört automatisch auf, auf Aktualisierungen zu warten, wenn die App in den Hintergrund wechselt, und startet neu, wenn die App im Vordergrund angezeigt wird.

Nächste Schritte

Sehen Sie sich „Erste Schritte mit Firebase Remote Config“ an, um Remote Config zu konfigurieren und in Echtzeit auf Updates zu warten .