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 sichtbarer Konfigurationsänderungen steuern und für eine hohe Nutzerfreundlichkeit sorgen. Sie können beim Start der Anwendung mit fetchAndActivate neue Werte abrufen und in EchtzeitRemote Config als ergänzende Methode verwenden, um automatisch die neuesten Parameterwerte abzurufen, nachdem Sie eine neue Version von Remote Config veröffentlicht haben.
In diesem Leitfaden werden einige Ladestrategien und wichtige Überlegungen zur Auswahl der besten Option für Ihre App behandelt.
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 Ansatz eignet sich gut für Konfigurationsänderungen, die keine drastischen visuellen Änderungen in der Benutzeroberfläche verursachen. Vermeiden Sie diesen Ansatz in allen Situationen, in denen sich die Benutzeroberfläche während der Nutzung durch die Nutzer deutlich ä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 Werte werden automatisch abgerufen und der Listener wird aufgerufen. Eine Strategie besteht darin, die neuen Werte im Listener zu aktivieren. Wie bereits für fetchAndActivate erwähnt, sollten Sie die Aktivierung bei sensiblen Benutzeroberflächen jedoch nicht sofort auslösen.
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, zeigen Sie einen Ladebildschirm an und rufen Sie fetchAndActivate in Ihrem Completion-Handler auf. 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 qualitativ hochwertigen App-Start für Nutzer.
Das Abrufen von Remote Config-Updates 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:
- Beim Starten werden zuvor abgerufene Werte sofort aktiviert. Das gilt für alle Werte, die Sie in einer vorherigen Sitzung vom Server heruntergeladen haben, und erfolgt nahezu sofort.
- 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 Echtzeit-Konfigurationsupdates 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 Completion-Handler oder Callback für den Fetch-Aufruf keine Aktion aus. 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 nach Bedarf im App-Lebenszyklus mit activate()-Aufrufen kombinieren, haben Nutzer immer die neuesten Werte von Remote Config, wenn sie mit Ihrer App interagieren.
Anti-Strategien werden geladen
Vermeiden Sie auf Grundlage der vorherigen Abschnitte zu Ladestrategien die folgenden Nutzungsmuster:
- Aktualisieren oder ändern Sie Aspekte der Benutzeroberfläche nicht, während der Nutzer sie ansieht oder mit ihr 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. Das Risiko einer Drosselung ist in den meisten Produktionsszenarien gering, kann aber während der aktiven Entwicklung ein Problem darstellen. 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 der App und des Remote Config-Backends regelmäßig mit den heruntergeladenen Vorlagenstandards synchronisieren.
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.