Ladestrategien für Firebase Remote Config

Firebase Remote Config bietet viel Flexibilität bei der Frage, wie und wann neue Werte vom Server abgerufen und in Ihrer App aktiviert werden sollen. So können Sie die Qualität der Endnutzererfahrung sicherstellen, indem Sie den Zeitpunkt sichtbarer Konfigurationsänderungen steuern. Sie können neue Werte beim Start der Anwendung mit fetchAndActivate() abrufen und Echtzeit-Remote Config als ergänzende Methode verwenden, um die neuesten Parameterwerte automatisch abzurufen, nachdem eine neue Version von Remote Config veröffentlicht wurde.

In diesem Leitfaden werden einige Lademethoden vorgestellt und wichtige Überlegungen zur Auswahl der besten Option für Ihre App erläutert.

Methode 1: Beim Laden abrufen und aktivieren

Bei dieser Methode ruft Ihre App beim ersten Start fetchAndActivate() auf, um neue Werte von Remote Config abzurufen und sie zu aktivieren, sobald sie geladen sind. Dieser einfache Ansatz eignet sich gut für Konfigurationsänderungen, die keine gravierenden visuellen Änderungen an der Benutzeroberfläche verursachen. Er sollte in allen Situationen vermieden werden, in denen sich die Benutzeroberfläche spürbar ändern könnte, während Nutzer sie verwenden.

Nachdem Ihre App fetchAndActivate() aufgerufen hat, kann sie mit addOnConfigUpdateListener in Echtzeit auf Aktualisierungen von Parameterwerten warten. Bei dieser Methode wird auf serverseitige Aktualisierungen von Parameterwerten gewartet, sie werden automatisch abgerufen und dann wird der Listener aufgerufen. Eine einfache Methode besteht darin, die neuen Werte im Listener zu aktivieren. Wie bereits bei fetchAndActivate() erwähnt, sollte die sofortige Aktivierung jedoch bei sensiblen Benutzeroberflächen vermieden werden.

Methode 2: Hinter dem Ladebildschirm aktivieren

Um das potenzielle Problem mit der Benutzeroberfläche in Methode 1 zu beheben, können Sie einen Ladebildschirm verwenden. Anstatt Ihre App sofort zu starten, zeigen Sie einen Ladebildschirm an und rufen Sie fetchAndActivate im Completion-Handler auf. Anschließend können Sie den Ladebildschirm wieder schließen und dem Nutzer die Interaktion mit Ihrer App ermöglichen. Auch hier können Sie einen Callback oder eine Benachrichtigung verwenden.

Wenn Sie diese Methode verwenden, sollten Sie dem Ladebildschirm ein Zeitlimit hinzufügen. Das einminütige Zeitlimit von Remote Config ist möglicherweise zu lang, um Nutzern ein optimales App-Starterlebnis zu bieten.

Das Warten auf Echtzeit-Remote Config Aktualisierungen durch Aufrufen von addOnConfigUpdateListener funktioniert gut mit dieser Methode. 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 gravierenden visuellen Änderungen verursachen.

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

Eine effektive Methode besteht darin, neue Konfigurationswerte zu laden, die beim nächsten Start Ihrer App aktiviert werden sollen. Bei dieser Methode aktiviert Ihre App beim Start abgerufene Werte, bevor sie versucht, neue abzurufen. Dabei wird davon ausgegangen, dass sie bereits neue Konfigurationswerte abgerufen, aber noch nicht aktiviert hat. Die Reihenfolge der Vorgänge für diese Methode ist:

  1. Aktivieren Sie beim Start sofort zuvor abgerufene Werte. Dadurch werden alle Werte angewendet, die Sie in einer vorherigen Sitzung vom Server heruntergeladen haben. Dieser Vorgang ist fast sofort abgeschlossen.
  2. Während der Nutzer mit Ihrer App interagiert, starten Sie einen asynchronen Aufruf, um neue Werte gemäß dem standardmäßigen Mindestabrufintervall abzurufen, und fügen Sie einen Listener für Konfigurationsaktualisierungen in Echtzeit hinzu. Der Echtzeit-Listener ruft automatisch alle Werte ab, die auf dem Server veröffentlicht werden, während Ihre App ausgeführt wird. Bei Echtzeitaktualisierungen wird die Einstellung für das Mindestabrufintervall umgangen.
  3. Im Completion-Handler oder Callback für den Abrufaufruf müssen Sie nichts tun. Ihre App behält die heruntergeladenen Werte bei, bis Sie sie beim nächsten Start der App aktivieren.

Mit dieser Methode wird die Wartezeit für Nutzer erheblich verkürzt. Wenn Sie die Abruf und Echtzeit-Listener-Methoden mit activate() Aufrufen kombinieren, die bei Bedarf im App-Lebenszyklus verwendet werden, haben Nutzer immer die neuesten Werte von Remote Config, wenn sie mit Ihrer App interagieren.

Methoden, die Sie vermeiden sollten

Wie Sie aus der obigen Diskussion der Vor- und Nachteile der verschiedenen Methoden entnehmen können, gibt es einige Nutzungsmuster, die Sie vermeiden sollten.

  • Aktualisieren oder ändern Sie nicht Aspekte der Benutzeroberfläche, während der Nutzer sie ansieht oder damit interagiert. Eine Ausnahme gilt nur , wenn es dafür triftige Gründe gibt, z. B. wenn Sie Optionen im Zusammenhang mit einer gerade beendeten Werbeaktion entfernen möchten.
  • Senden Sie nicht eine große Anzahl gleichzeitiger Abrufanfragen, da der Server Ihre App sonst möglicherweise drosselt. Wenn Sie häufig Aktualisierungen abrufen müssen, verwenden Sie Remote Config in EchtzeitRemote Config. Das Risiko einer Drosselung ist in den meisten Produktionsszenarien gering, kann aber während der aktiven Entwicklung ein Problem darstellen. Remote Config in Echtzeit ist für diesen Anwendungsfall konzipiert.Remote Config Weitere Informationen finden Sie in der Anleitung zur Drosselung.
  • Verlassen Sie sich nicht auf die Netzwerkverbindung, um Remote Config Werte abzurufen. Legen Sie in der App Standardparameterwerte fest, damit sich Ihre App immer wie erwartet verhält. Sie können die Standardwerte der App und des Remote Config Backends regelmäßig synchronisieren , indem Sie heruntergeladene Vorlagen Standards verwenden.

Nächste Schritte

Diese drei grundlegenden Methoden sind bei Weitem keine vollständige Liste der Möglichkeiten zum Laden von Konfigurationswerten. Je nach Ihren Anforderungen können Sie viel komplexere Methoden entwickeln.

Weitere Informationen zu den spezifischen Aufrufen zum Abrufen und Aktivieren von Konfigurationswerten finden Sie in der API-Referenz für Ihre Plattform.