Firebase Remote Config bietet viel Flexibilität dafür, wie und wann neue Werte vom Server abgerufen und in Ihrer App aktiviert werden, sodass Sie eine qualitativ hochwertige Endbenutzererfahrung sicherstellen können, indem Sie das Timing aller sichtbaren Konfigurationsänderungen steuern. Sie können neue Werte beim Anwendungsstart mit fetchAndActivate()
abrufen und die 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 erläutert wichtige Überlegungen zur Auswahl der besten Option für Ihre App.
Strategie 1: Abrufen und beim Laden 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 fertig geladen sind. Dieser einfache Ansatz eignet sich gut für Konfigurationsänderungen, die keine dramatischen visuellen Änderungen in Ihrer Benutzeroberfläche verursachen. Es 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 damit beginnen, in Echtzeit auf Aktualisierungen von Parameterwerten zu lauschen, indem sie addOnConfigUpdateListener
aufruft. Diese Methode beginnt mit der Überwachung von serverseitigen Aktualisierungen der Parameterwerte, ruft sie automatisch ab und ruft dann den Listener auf. Eine einfache Strategie besteht darin, die neuen Werte im Listener zu aktivieren. Wie bei fetchAndActivate()
erwähnt, sollte jedoch bei sensiblen UIs eine sofortige Aktivierung vermieden werden.
Strategie 2: Aktivieren Sie hinter dem Ladebildschirm
Als Abhilfe für das potenzielle UI-Problem, das in Strategie 1 aufgetreten ist, könnten Sie sich auf einen Ladebildschirm verlassen. Anstatt Ihre App sofort zu starten, zeigen Sie einen Ladebildschirm an und rufen Sie fetchAndActivate
in Ihrem Abschluss-Handler auf. Schließen Sie dann direkt danach – wieder mit einem Rückruf oder einer Benachrichtigung – den Ladebildschirm und erlauben Sie dem Benutzer, mit der Interaktion mit Ihrer App zu beginnen.
Wenn Sie diese Strategie verwenden, wird empfohlen, dem Ladebildschirm ein Timeout 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 Abhören von Echtzeit-Remote-Konfigurationsaktualisierungen 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, 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, wobei sie davon ausgeht, dass sie möglicherweise bereits neue Konfigurationswerte abgerufen, aber noch nicht aktiviert hat. Die Reihenfolge der Operationen für diese Strategie ist:
- Aktivieren Sie beim Start sofort zuvor abgerufene Werte. Dies wendet alle Werte an, die Sie in einer vorherigen Sitzung vom Server heruntergeladen haben, und erfolgt nahezu augenblicklich.
- 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 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. Echtzeitaktualisierungen umgehen die Einstellung für das minimale Abrufintervall.
- Führen Sie im Abschlusshandler oder Rückruf für den Abrufaufruf nichts aus. 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 stark minimiert. Durch die Kombination der Abruf- und Echtzeit-Listener-Strategien mit activate()
-Aufrufen nach Bedarf im App-Lebenszyklus wird sichergestellt, dass Benutzer die neuesten Werte von Remote Config haben, wenn sie mit Ihrer App interagieren.
Laden von Anti-Strategien
Wie Sie vielleicht aus der obigen Diskussion über die Vor- und Nachteile des Ladens verstanden haben, gibt es ein paar Nutzungsmuster, die Sie vermeiden sollten.
- Aktualisieren oder wechseln Sie keine Aspekte der Benutzeroberfläche, während der Benutzer sie ansieht oder damit interagiert – es sei denn, Sie haben starke App- oder geschäftliche Gründe dafür, z. B. das Entfernen von Optionen im Zusammenhang mit einer gerade beendeten Werbeaktion.
- Senden Sie keine Massenzahlen gleichzeitiger Abrufanforderungen, da dies dazu führen könnte, dass der Server Ihre App drosselt. Wenn Sie häufig Updates abrufen müssen, verwenden Sie Remote Config in Echtzeit . Während das Drosselungsrisiko in den meisten Produktionsszenarien gering ist, kann es während der aktiven Entwicklung zu einem Problem werden – und die Echtzeit-Remotekonfiguration ist für diesen Anwendungsfall konzipiert. Sehen Sie sich die Anleitung zur Drosselung an.
- Verlassen Sie sich nicht auf die Netzwerkkonnektivität, 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 der Anwendung und des Remote Config-Backends regelmäßig synchron halten, indem Sie heruntergeladene Vorlagenstandards verwenden.
Nächste Schritte
Diese drei grundlegenden Strategien 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.