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. So können Sie die Zeitplanung aller sichtbaren Konfigurationsänderungen steuern und so für eine hohe Qualität der 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 die neuesten Parameterwerte automatisch abzurufen, nachdem eine neue Version von Remote Config veröffentlicht wurde.

In diesem Leitfaden werden einige Ladestrategien vorgestellt 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 fetchAndActivate() auf, wenn sie zum ersten Mal gestartet wird, um neue Werte von Remote Config abzurufen und zu aktivieren, sobald sie geladen sind. Dieser einfache Ansatz eignet sich gut für Konfigurationsänderungen, die keine drastischen visuellen Änderungen in der Benutzeroberfläche verursachen. Sie 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 dem Aufruf von addOnConfigUpdateListener in Echtzeit auf Aktualisierungen von Parameterwerten warten. Mit dieser Methode wird auf serverseitige Aktualisierungen von Parameterwerten gewartet, die Werte werden automatisch abgerufen und der Listener wird aufgerufen. Eine einfache Strategie besteht darin, die neuen Werte im Listener zu aktivieren. Wie bereits bei fetchAndActivate() erwähnt, sollte eine sofortige Aktivierung bei sensiblen Benutzeroberflächen vermieden werden.

Strategie 2: Hinter dem Ladebildschirm aktivieren

Als Abhilfe für das potenzielle UI-Problem in Strategie 1 können Sie einen Ladebildschirm verwenden. Anstatt Ihre App sofort zu starten, sollten Sie einen Ladebildschirm anzeigen und fetchAndActivate in Ihrem Completion-Handler aufrufen. Blenden Sie dann direkt danach – wieder über einen Callback oder eine Benachrichtigung – den Ladebildschirm aus und ermöglichen Sie dem Nutzer, mit Ihrer App zu interagieren.

Wenn Sie diese Strategie verwenden, empfiehlt es sich, dem Ladebildschirm ein Zeitlimit hinzuzufügen. Das einminütige Zeitlimit von Remote Config ist möglicherweise zu lang für einen schnellen App-Start.

Das Warten auf Remote Config-Aktualisierungen in Echtzeit durch Aufrufen von addOnConfigUpdateListener funktioniert gut mit dieser Strategie. Fügen Sie den Listener hinzu, wenn der Ladebildschirm angezeigt wird. Verwenden Sie dann activate() an einer oder mehreren Stellen in Ihrer App, an denen Remote Config-Werte keine drastischen 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 Ihrer App aktiviert werden. Bei dieser Strategie werden die abgerufenen Werte beim Start der App aktiviert, bevor versucht wird, 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 Starten sofort zuvor abgerufene Werte aktivieren. Dabei werden alle Werte angewendet, die Sie in einer vorherigen Sitzung vom Server heruntergeladen haben. Das geht fast sofort.
  2. Während der Nutzer mit Ihrer App interagiert, starten Sie einen asynchronen Aufruf, um neue Werte gemäß dem standardmäßigen minimalen Abrufintervall abzurufen, und fügen Sie einen Listener für Echtzeitkonfigurationsupdates 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 für das minimale Abrufintervall.
  3. Tun Sie im Completion-Handler oder Callback für den Fetch-Aufruf nichts. Die heruntergeladenen Werte bleiben in Ihrer App gespeichert, bis Sie sie beim nächsten Start der App aktivieren.

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

Antistrategien werden geladen

Wie Sie aus der obigen Diskussion der Vor- und Nachteile des Ladens vielleicht schon erkannt haben, gibt es einige Nutzungsmuster, die Sie vermeiden sollten.

  • Aktualisieren oder ändern Sie Aspekte der Benutzeroberfläche nicht, während der Nutzer sie ansieht oder damit interagiert, es sei denn, Sie haben dafür triftige App- oder geschäftliche Gründe, z. B. das Entfernen von Optionen im Zusammenhang mit einem Angebot, das gerade beendet wurde.
  • Senden Sie nicht eine große Anzahl gleichzeitiger Abrufanfragen, da der Server Ihre App sonst möglicherweise drosselt. Wenn Sie häufig Updates abrufen müssen, verwenden Sie Remote Config in Echtzeit. In den meisten Produktionsszenarien ist das Risiko einer Drosselung gering. Während der aktiven Entwicklung kann es jedoch zu Problemen kommen. Echtzeit-Remote Config ist für diesen Anwendungsfall konzipiert. Weitere Informationen zur Drosselung
  • Verlassen Sie sich nicht auf die Netzwerkverbindung, um Remote Config-Werte zu erhalten. Legen Sie In-App-Standardparameterwerte fest, damit sich Ihre App immer wie erwartet verhält. Sie können die Standardwerte für die App und das Remote Config-Backend regelmäßig synchronisieren, indem Sie heruntergeladene Vorlagenstandards verwenden.

Nächste Schritte

Diese drei grundlegenden Strategien sind keineswegs eine vollständige Liste der Möglichkeiten zum Laden von Konfigurationswerten. Je nach Bedarf können Sie viel komplexere Strategien entwickeln.

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