Ladestrategien für Firebase Remote Config

Firebase Remote Config bietet viel Flexibilität bei der Art und Weise, wie und wann neue Werte vom Server abgerufen und in Ihrer App aktiviert werden. So können Sie ein qualitativ hochwertiges Endbenutzererlebnis sicherstellen, indem Sie den Zeitpunkt aller sichtbaren Konfigurationsänderungen steuern. Sie können neue Werte beim Anwendungsstart mit fetchAndActivate() abrufen und Echtzeit-Remote-Konfiguration als ergänzende Methode verwenden, um automatisch die neuesten Parameterwerte abzurufen, nachdem eine neue Version Ihrer Remote-Konfiguration veröffentlicht wurde.

Dieser Leitfaden befasst sich mit einigen Ladestrategien und erörtert wichtige Überlegungen zur Auswahl der besten Option für Ihre App.

Strategie 1: Beim Laden abrufen und aktivieren

Bei dieser Strategie würde Ihre App fetchAndActivate() aufrufen, wenn Ihre App zum ersten Mal gestartet wird, um neue Werte von Remote Config abzurufen und sie zu aktivieren, sobald sie mit dem Laden fertig sind. Dieser einfache Ansatz eignet sich gut für Konfigurationsänderungen, die keine dramatischen visuellen Änderungen in Ihrer Benutzeroberfläche verursachen. Dies sollte in allen Situationen vermieden werden, in denen sich Ihre Benutzeroberfläche merklich ändern könnte, während Benutzer sie gerade verwenden.

Nachdem Ihre App fetchAndActivate() aufgerufen hat, kann sie durch den Aufruf von addOnConfigUpdateListener in Echtzeit auf Parameterwertaktualisierungen warten. Diese Methode beginnt mit der Überwachung auf serverseitige Aktualisierungen von Parameterwerten, ruft diese automatisch ab und ruft dann den Listener auf. Eine einfache Strategie besteht darin, die neuen Werte im Listener zu aktivieren. Allerdings sollte, wie bereits für fetchAndActivate() erwähnt, bei sensiblen Benutzeroberflächen eine sofortige Aktivierung vermieden werden.

Strategie 2: Hinter dem Ladebildschirm aktivieren

Als Abhilfe für das potenzielle UI-Problem, das bei Strategie 1 aufgetreten ist, können Sie sich auf einen Ladebildschirm verlassen. Anstatt Ihre App sofort zu starten, zeigen Sie einen Ladebildschirm an und rufen Sie fetchAndActivate in Ihrem Abschlusshandler auf. Schließen Sie dann direkt danach – wiederum über einen Rückruf oder eine Benachrichtigung – den Ladebildschirm und ermöglichen Sie dem Benutzer, mit Ihrer App zu interagieren.

Wenn Sie diese Strategie verwenden, wird empfohlen, dem Ladebildschirm eine Zeitüberschreitung hinzuzufügen. Das einminütige Timeout von Remote Config ist möglicherweise zu lang für ein qualitativ hochwertiges App-Starterlebnis für Benutzer.

Das Lauschen auf Remote-Konfigurationsaktualisierungen in Echtzeit durch den Aufruf von addOnConfigUpdateListener funktioniert mit dieser Strategie gut. Fügen Sie den Listener hinzu, wenn der Ladebildschirm angezeigt wird, und verwenden Sie dann activate() an einer oder mehreren Stellen in Ihrer App, an denen Remote Config-Werte keine dramatischen visuellen Änderungen verursachen.

Strategie 3: Neue Werte für den nächsten Start laden

Eine effektive Strategie besteht darin, neue Konfigurationswerte zu laden, um sie beim nächsten Start Ihrer App zu aktivieren. Bei dieser Strategie aktiviert Ihre App abgerufene Werte beim Start, bevor sie versucht, neue abzurufen. Dabei wird davon ausgegangen, dass sie möglicherweise bereits neue Konfigurationswerte abgerufen, aber noch nicht aktiviert hat. Die Reihenfolge der Operationen für diese Strategie ist:

  1. Aktivieren Sie beim Start sofort zuvor abgerufene Werte. Dies wendet nahezu augenblicklich alle Werte an, die Sie in einer früheren Sitzung vom Server heruntergeladen haben.
  2. Während der Benutzer mit Ihrer App interagiert, starten Sie einen asynchronen Aufruf, um neue Werte gemäß dem standardmäßigen Mindestabrufintervall abzurufen, und fügen Sie einen Echtzeit-Listener für Konfigurationsaktualisierungen hinzu. Der Echtzeit-Listener ruft automatisch alle Werte ab, die auf dem Server veröffentlicht werden, während Ihre App ausgeführt wird. Echtzeitaktualisierungen umgehen die Einstellung des Mindestabrufintervalls.
  3. Führen Sie im Abschlusshandler oder Rückruf für den Abrufaufruf keine Aktion durch. Ihre App behält die heruntergeladenen Werte, bis Sie sie beim nächsten Start der App aktivieren.

Mit dieser Strategie wird die Wartezeit der Benutzer erheblich minimiert. Durch die Kombination der Abruf- und Echtzeit-Listener-Strategien mit activate() -Aufrufen nach Bedarf im App-Lebenszyklus wird sichergestellt, dass Benutzer bei der Interaktion mit Ihrer App über die neuesten Werte von Remote Config verfügen.

Anti-Strategien werden geladen

Wie Sie vielleicht aus der obigen Diskussion über die Vor- und Nachteile des Ladens verstanden haben, gibt es einige Nutzungsmuster, die es zu vermeiden gilt.

  • Aktualisieren oder ändern Sie keine Aspekte der Benutzeroberfläche, während der Benutzer sie anzeigt oder mit ihr interagiert – es sei denn, Sie haben starke App- oder geschäftliche Gründe dafür, wie etwa das Entfernen von Optionen im Zusammenhang mit einer gerade beendeten Werbeaktion.
  • Senden Sie keine Massenabrufanfragen gleichzeitig, da dies dazu führen könnte, dass der Server Ihre App drosselt. Wenn Sie häufig Updates abrufen müssen, verwenden Sie die Echtzeit-Remotekonfiguration . Während das Risiko einer Drosselung in den meisten Produktionsszenarien gering ist, kann es während der aktiven Entwicklung zu einem Problem kommen – und Echtzeit-Remote-Konfiguration ist für diesen Anwendungsfall konzipiert. Sehen Sie sich die Drosselungsanleitung an.
  • Verlassen Sie sich nicht auf die Netzwerkkonnektivität, um Remote-Konfigurationswerte zu erhalten. Legen Sie In-App-Standardparameterwerte fest, damit sich Ihre App immer wie erwartet verhält. Mithilfe der heruntergeladenen Standardvorlagen können Sie die Standardwerte der App und des Remote Config-Backends regelmäßig synchronisieren.

Nächste Schritte

Diese drei Grundstrategien stellen keineswegs eine vollständige Liste der Möglichkeiten zum Laden von Konfigurationswerten dar. Abhängig von Ihren Bedürfnissen könnten Sie viel ausgefeiltere Strategien entwickeln.

Sehen Sie sich die API-Referenz für Ihre Plattform an, um mehr über die spezifischen Aufrufe zum Abrufen und Aktivieren von Konfigurationswerten zu erfahren.