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 Start der Anwendung mit fetchAndActivate()
abrufen und Echtzeit-Remote Config als zusätzliche Methode verwenden, um automatisch die neuesten Parameterwerte 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 jedoch 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 über einen Callback oder eine Benachrichtigung – den Ladebildschirm und ermöglichen Sie dem Nutzer, mit Ihrer App zu interagieren.
Wenn Sie diese Strategie verwenden, wird empfohlen, dem Ladebildschirm ein Zeitlimit hinzuzufü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 großen 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 Anwendung die abgerufenen Werte beim Start, bevor sie versucht, neue abzurufen. Dabei wird angenommen, dass neue Konfigurationswerte möglicherweise bereits abgerufen, aber noch nicht aktiviert wurden. Die Reihenfolge der Vorgänge für diese Strategie lautet wie folgt:
- 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.
- 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.
- 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 Nutzenden erheblich reduziert. 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.
- Du solltest keine Aspekte der Benutzeroberfläche aktualisieren oder wechseln, während der Nutzer sie ansieht oder damit interagiert – es sei denn, du hast begründete App- oder geschäftliche Gründe dafür, z. B. das Entfernen von Optionen für ein gerade beendetes Angebot.
- 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 Leitfaden zur Drosselung.
- Verlassen Sie sich nicht auf eine Netzwerkverbindung, um Remote Config-Werte zu erhalten. Richtig: Legen Sie In-App-Standardparameterwerte fest, damit sich Ihre Anwendung 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.
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.