Ladestrategien für Firebase Remote Config

Firebase Remote Config bietet Ihnen viele Möglichkeiten, wie und wann Sie neue Werte vom Server abrufen und in Ihrer App aktivieren können. So können Sie die Zeitplanung für alle sichtbaren Konfigurationsänderungen steuern und für eine hochwertige Endnutzererfahrung sorgen. Sie können beim Start der Anwendung mit fetchAndActivate neue Werte abrufen und Remote Config in Echtzeit als ergänzende Methode verwenden, um automatisch die neuesten Parameterwerte abzurufen, nachdem Sie eine neue Version Ihrer Remote Config veröffentlicht haben.

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

Strategie 1: Beim Laden abrufen und aktivieren

Bei dieser Strategie ruft Ihre App beim ersten Start fetchAndActivate auf, um neue Werte von Remote Config abzurufen und sie zu aktivieren, sobald sie geladen sind. Dieser Ansatz eignet sich gut für Konfigurationsänderungen, die keine dramatischen visuellen Änderungen an der Benutzeroberfläche verursachen. Vermeiden Sie diesen Ansatz in allen Situationen, in denen sich Ihre Benutzeroberfläche während der Nutzung merklich ändern könnte.

Nachdem Ihre App fetchAndActivate aufgerufen hat, kann sie mit dem Aufruf von addOnConfigUpdateListener in Echtzeit auf Aktualisierungen von Parameterwerten warten. Mit dieser Methode wird auf serverseitige Aktualisierungen von Parameterwerten gewartet, die dann automatisch abgerufen werden. Anschließend wird der Listener aufgerufen. Eine Strategie besteht darin, die neuen Werte im Listener zu aktivieren. Wie bereits für fetchAndActivate erwähnt, sollten Sie die Funktion jedoch nicht sofort für sensible Benutzeroberflächen aktivieren.

Strategie 2: Hinter dem Ladebildschirm aktivieren

Als Abhilfe für das potenzielle UI-Problem in Strategie 1 können Sie einen Ladebildschirm verwenden. Anstatt die App sofort zu starten, zeigen Sie einen Ladebildschirm an und rufen Sie fetchAndActivate im Completion Handler auf. Schließen Sie dann direkt danach – ebenfalls über einen Callback oder eine Benachrichtigung – den Ladebildschirm und ermöglichen Sie dem Nutzer, mit Ihrer App zu interagieren.

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

Das Warten auf Echtzeit-Remote Config-Aktualisierungen durch Aufrufen von addOnConfigUpdateListener funktioniert gut mit dieser Strategie. 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, die beim nächsten Start der App aktiviert werden. Bei dieser Strategie aktiviert Ihre App beim Start abgerufene Werte, bevor sie versucht, neue Werte abzurufen. Dabei wird davon ausgegangen, dass möglicherweise bereits neue Konfigurationswerte abgerufen, aber noch nicht aktiviert wurden. Die Reihenfolge der Vorgänge für diese Strategie ist:

  1. Beim Start werden zuvor abgerufene Werte sofort aktiviert. Dabei werden alle Werte angewendet, die Sie in einer vorherigen Sitzung vom Server heruntergeladen haben. Dies geschieht fast sofort.
  2. Während der Nutzer mit Ihrer App interagiert, können Sie einen asynchronen Aufruf starten, um neue Werte gemäß dem standardmäßigen Mindestabrufintervall abzurufen, und einen Listener für Echtzeit-Konfigurationsupdates hinzufügen. 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 für das minimale Abrufintervall.
  3. Im Abschluss-Handler oder Callback für den Abrufaufruf wird nichts unternommen. Die heruntergeladenen Werte werden in der App gespeichert, bis Sie sie beim nächsten Start der App aktivieren.

Mit dieser Strategie wird die Wartezeit der Nutzer erheblich minimiert. Wenn Sie die Abruf- und Echtzeit-Listener-Strategien nach Bedarf mit activate()-Aufrufen im App-Lebenszyklus kombinieren, haben Nutzer die neuesten Werte aus Remote Config, wenn sie mit Ihrer App interagieren.

Anti-Strategien werden geladen

Vermeiden Sie basierend auf den vorherigen Abschnitten zu Ladestrategien die folgenden Nutzungsmuster:

  • Aktualisiere oder ändere keine Aspekte der Benutzeroberfläche, während der Nutzer sie ansieht oder mit ihr interagiert, es sei denn, es gibt wichtige Gründe dafür, die mit der App oder dem Unternehmen zusammenhängen, z. B. das Entfernen von Optionen im Zusammenhang mit einer gerade beendeten Werbeaktion.
  • Senden Sie keine große Anzahl gleichzeitiger Abrufanfragen, da dies dazu führen kann, dass der Server Ihre App drosselt. Wenn Sie häufig Updates abrufen müssen, verwenden Sie Echtzeit-Remote Config. Das Risiko einer Drosselung ist in den meisten Produktionsszenarien zwar gering, kann aber während der aktiven Entwicklung ein Problem sein. Die Echtzeit-Remote Config ist für diesen Anwendungsfall konzipiert. Weitere Informationen finden Sie im Leitfaden zur Drosselung.
  • Verlassen Sie sich nicht auf die Netzwerkverbindung, um Remote Config-Werte abzurufen. Legen Sie In-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 die Standardwerte der heruntergeladenen Vorlage verwenden.

Nächste Schritte

Diese drei grundlegenden Strategien sind keineswegs eine vollständige Liste der Möglichkeiten, Konfigurationswerte zu laden. Je nach Ihren Anforderungen können Sie viel komplexere Strategien entwickeln.

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