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 Qualität der Nutzererfahrung durch die Steuerung des Zeitpunkts sichtbarer Konfigurationsänderungen verbessern. Sie können neue Werte beim Starten der Anwendung mit fetchAndActivate() abrufen und Remote Config in Echtzeit als ergänzende Methode verwenden, um die neuesten Parameterwerte automatisch abzurufen, nachdem eine neue Version Ihrer Remote Config veröffentlicht wurde.

In diesem Leitfaden werden einige Ladestrategien vorgestellt und wichtige Aspekte 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() beim ersten Start auf, um neue Werte von Remote Config abzurufen und sie zu aktivieren, sobald das Laden abgeschlossen ist. Dieser einfache Ansatz eignet sich gut für Konfigurationsänderungen, die keine drastischen visuellen Änderungen an der Benutzeroberfläche verursachen. Sie sollten in allen Situationen vermieden werden, in denen sich die Benutzeroberfläche während der Nutzung deutlich ändern könnte.

Nachdem Ihre App fetchAndActivate() aufgerufen hat, kann sie mit dem Aufruf von addOnConfigUpdateListener in Echtzeit auf Aktualisierungen des Parameterwerts warten. Diese Methode beginnt, auf serverseitige Aktualisierungen von Parameterwerten zu warten, ruft sie automatisch ab und ruft dann den Listener auf. Eine einfache Strategie besteht darin, die neuen Werte im Listener zu aktivieren. Wie bereits bei fetchAndActivate() erwähnt, sollte die sofortige Aktivierung bei sensiblen UIs vermieden werden.

Strategie 2: Hinter dem Ladebildschirm aktivieren

Als Lösung für das potenzielle UI-Problem bei Strategie 1 könnten Sie einen Ladebildschirm verwenden. Anstatt die App sofort zu starten, zeigen Sie einen Ladebildschirm an und rufen Sie fetchAndActivate in Ihrem Abschluss-Handler auf. Schließen Sie dann sofort danach – wieder mit einem Callback oder einer Benachrichtigung – den Ladebildschirm und ermöglichen Sie dem Nutzer, mit Ihrer App zu interagieren.

Wenn Sie diese Strategie verwenden, sollten Sie dem Ladebildschirm eine Zeitüberschreitung hinzufügen. Das Zeitlimit von einer Minute für Remote Config ist möglicherweise zu lang, um Nutzern ein reibungsloses Starten der App zu ermöglichen.

Wenn Sie Remote Config-Updates in Echtzeit abrufen, indem Sie addOnConfigUpdateListener aufrufen, eignet sich diese Strategie gut. Fügen Sie den Listener hinzu, wenn der Ladebildschirm angezeigt wird, und verwenden Sie 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 aktiviert Ihre App abgerufene Werte beim Starten, bevor neue abgerufen werden. Dabei wird davon ausgegangen, dass bereits neue Konfigurationswerte abgerufen, aber noch nicht aktiviert wurden. Die Reihenfolge der Vorgänge für diese Strategie ist:

  1. Zu Beginn werden zuvor abgerufene Werte sofort aktiviert. Dabei werden alle Werte angewendet, die Sie in einer vorherigen Sitzung vom Server heruntergeladen haben. Die Aktualisierung erfolgt nahezu sofort.
  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 die Echtzeitkonfigurationsaktualisierung 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. Führen Sie im Completion-Handler oder Callback für den Abrufaufruf nichts aus. 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 mit activate()-Aufrufen kombinieren, die im App-Lebenszyklus nach Bedarf erforderlich sind, erhalten Nutzer die neuesten Werte von Remote Config, wenn sie mit Ihrer App interagieren.

Anti-Ladestrategien

Wie Sie aus der oben genannten Diskussion über die Vor- und Nachteile des Ladens vielleicht wissen, gibt es einige Nutzungsmuster, die Sie vermeiden sollten.

  • Aktualisieren oder wechseln Sie keine Aspekte der Benutzeroberfläche, während sich der Nutzer die Seite ansieht oder mit ihr interagiert – es sei denn, Sie haben triftige App- oder Geschäftsgründe dafür, z. B. das Entfernen von Optionen, die sich auf ein gerade abgelaufenes Angebot beziehen.
  • Senden Sie nicht eine 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 Remote Config in Echtzeit. In den meisten Produktionsszenarien ist das Risiko einer Drosselung zwar gering, während der aktiven Entwicklung kann es jedoch zu Problemen kommen. Echtzeit-Remote Config ist für diesen Anwendungsfall konzipiert. Weitere Informationen finden Sie in der Anleitung zur Drosselung.
  • Verwenden Sie keine Netzwerkverbindung, um Remote Config-Werte zu erhalten. Legen Sie In-App-Standardparameterwerte fest, damit sich Ihre App immer wie erwartet verhält. Mithilfe der heruntergeladenen Vorlagenstandardwerte können Sie die Standardwerte der App und des Remote Config-Backends regelmäßig synchronisieren.

Nächste Schritte

Diese drei grundlegenden Strategien sind bei Weitem nicht die einzigen Möglichkeiten, Konfigurationswerte zu laden. Je nach Ihren Anforderungen können Sie auch viel ausgefeiltere Strategien entwickeln.

In der API-Referenz für deine Plattform findest du weitere Informationen zu den spezifischen Aufrufen zum Abrufen und Aktivieren von Konfigurationswerten.