Optimierungs-Glossar

Fernkonfiguration

Inhalt


    Was ist Fernkonfiguration?

    Remote Config (kurz für "Fernkonfiguration") ist ein Cloud-basierter Dienst, der es Entwicklern ermöglicht, das Verhalten und das Erscheinungsbild mobiler Anwendungen dynamisch zu ändern, ohne dass die Benutzer App-Updates herunterladen und installieren müssen. Er ermöglicht Echtzeitänderungen der App-Funktionalität, der Benutzeroberfläche und der Verfügbarkeit von Funktionen durch serverseitige Konfiguration.

    Sie können das Verhalten oder die Funktionen einer App aus der Ferne ändern, ohne ein App-Update veröffentlichen zu müssen. Dies geschieht, indem Sie Standardwerte für verschiedene Einstellungen in der App festlegen und dann die Werte für diese Variablen in Echtzeit von einem entfernten Server abrufen.

    Das Konzept der Fernkonfiguration wurde von Firebase (Firebase Remote Config), einer Entwicklungsplattform für Mobile Apps von Google, bekannt gemacht und wird seitdem von Entwicklern von Mobile Apps als gängige Praxis übernommen.

    Anwendungsfälle der Fernkonfiguration

    Es gibt eine Reihe von häufigen Anwendungsfällen für die Fernkonfiguration bei der Entwicklung von Apps:

    1. Rollbacks

      Wenn eine Android- oder iOS-App aktualisiert wird, muss die App in der Regel den App Store-Review-Prozess durchlaufen, was 24-48 Stunden dauern kann, und sogar noch länger, wenn das Update abgelehnt wird. Das kann ein großes Problem sein, wenn Fehler oder Probleme in einem Update entdeckt werden, nachdem es live ist, und es Tage dauert, bis die App-Benutzer eine Lösung erhalten.

      Mit der Fernkonfiguration können Sie schnell Änderungen an einer App vornehmen, die bereits im App Store verfügbar ist, und Funktionen einer App zurücksetzen, ohne Änderungen am Backend-Code vornehmen zu müssen, indem Sie einfach serverseitige Fernkonfigurationsparameter bearbeiten.
    2. Feature-Rollouts

      Da Sie mit der Fernkonfiguration das Verhalten und das Erscheinungsbild Ihrer App aus der Ferne steuern können, ist dies eine hervorragende Möglichkeit, neue Funktionen für Ihre Benutzer kontrolliert einzuführen. Anstatt neue Funktionen mit einer App-Aktualisierung an 100% Ihrer Benutzer zu verteilen, können Sie in Ihrer App bedingte Werte festlegen, so dass nur eine bestimmte Gruppe Ihrer Benutzer eine Funktion sieht.
    3. A/B-Testing

      Da Sie mit der Fernkonfiguration Funktionen für eine Untergruppe Ihrer Benutzer aktivieren und deaktivieren können, können Sie sie auch für A/B-Testing verwenden. Beim A/B-Testing wird einem Teil Ihrer Nutzer ein neues Erlebnis geboten, während einer Kontrollgruppe das ursprüngliche Erlebnis gezeigt wird. Mithilfe einer statistischen Analyse können Sie dann die Auswirkungen einer neuen Funktion ermitteln und die Gewissheit gewinnen, dass eine neue Funktion tatsächlich eine Verbesserung gegenüber dem alten Erlebnis darstellt.

    Beispiele für Fernkonfiguration

    Angenommen, Sie sind ein App-Entwickler, der ein Mobile Game für Android & iOS entwickelt. Das Entwicklerteam möchte dem Spiel eine neue Chat-Funktion hinzufügen, ist aber besorgt darüber, wie sich dies auf die Nutzungsraten der App auswirken könnte. Ein Entwickler hat während eines Hackathons einen funktionierenden Prototyp der Funktion erstellt, aber das Team möchte erst einmal testen, wie sie sich in der realen Welt verhält, bevor es viel Entwicklungsaufwand investiert.

    Dies wäre ein guter Anwendungsfall für die Fernkonfiguration. Die Funktion könnte der App hinzugefügt und so konfiguriert werden, dass sie nur für 10 % Ihrer Benutzer angezeigt wird. Den anderen 90 % der Nutzer wird das ursprüngliche Erlebnis angezeigt, was zu einem A/B-Testing führt, bei dem Sie die Auswirkungen der neuen Funktion auf Ihre wichtigsten App-Kennzahlen messen können. Sollten Fehler oder Probleme entdeckt werden, kann die Funktion ganz einfach aus der Ferne deaktiviert werden, ohne den langwierigen App Store-Review-Prozess durchlaufen zu müssen.

    Sie können auch verschiedene Fernkonfigurationsparameter verwenden, um verschiedene Funktionen des Chats fernzusteuern und zu testen, z. B. die Länge der Nachricht, die Größe des Chat-Feldes, Inhaltsfilter usw.

    Hier ein paar weitere Beispiele für Fernkonfigurationen.

    E-Commerce App

    • Dynamische Aktualisierung von Produktpreisen und Verfügbarkeit
    • Umschalten zwischen saisonalen Aktionen und Verkäufen
    • UI-Elemente für verschiedene Benutzersegmente anpassen

    Nachrichten App

    • Steuern Sie die Sichtbarkeit der verschiedenen Nachrichtenkategorien
    • Passen Sie die Aktualisierungsrate der Inhalte je nach Nutzerinteresse an
    • Aktivieren/Deaktivieren von Kommentaren oder Social Sharing-Funktionen

    App für Fitness-Tracking

    • Ändern Sie Trainingspläne basierend auf dem Fortschritt des Benutzers
    • Algorithmen für die Zielsetzung anpassen
    • Umschalten neuer Funktionen zur Gesundheitsüberwachung

    Soziale Medien App

    • Neue Reaktionstypen für bestimmte Benutzergruppen einführen
    • Algorithmen zur Inhaltsmoderation anpassen
    • Steuern Sie die Sichtbarkeit von experimentellen Funktionen wie Audio-Räumen oder Kurzvideos

    Wie Sie die Fernkonfiguration implementieren

    Vier Schritte:

    1. Einrichten eines Servers für Fernkonfigurationen oder Auswahl eines Drittanbieterdienstes
    2. Implementieren Sie eine clientseitige Logik zum Abrufen und Anwenden von Fernkonfigurationen
    3. Entwickeln Sie eine Strategie für den Umgang mit Konfigurationsaktualisierungen und Fallback-Mechanismen
    4. Implementierung von Sicherheitsmaßnahmen zum Schutz Ihres Systems für Fernkonfigurationen

    Eine einfache Methode zur Implementierung der Fernkonfiguration ist die Verwendung von Feature Flags und Feature Variablen. Ein Feature Flag (auch bekannt als Feature Toggle) ist ein bedingtes Flag, das ein- oder ausgeschaltet werden kann. Es kann per Fernzugriff über eine API oder über eine grafische Benutzeroberfläche in einer Feature Management Plattform wie Optimizely Rollouts konfiguriert werden.

    Neue Features und Funktionen können in Feature Flags-Code verpackt werden und lassen sich leicht aus der Ferne aktivieren oder deaktivieren. Feature Flags können auch auf der Grundlage des Benutzerprofils umgeschaltet werden, so dass Flags für eine bestimmte Untergruppe Ihrer Benutzer aktiviert werden können.

    Funktionsvariablen sind Container, in denen verschiedene Werte gespeichert werden können, die dynamisch gesetzt werden können, indem eine in einem Cloud-Dienst gespeicherte Konfigurationsdatei über die REST-API abgefragt wird. Diese Remote-Werte können konfiguriert werden, um das Verhalten oder Aussehen Ihrer App dynamisch zu ändern, ohne dass Sie die Änderungen in einem App Store veröffentlichen müssen.

    Fernkonfiguration vs. Feature Flags

    Obwohl Fernkonfiguration und Feature Flags eng miteinander verwandte Konzepte sind, gibt es einige wichtige Unterschiede:

    • Umfang: Die Fernkonfiguration ist breiter angelegt und erlaubt Änderungen an verschiedenen App-Parametern, während Feature Flags sich in der Regel auf die Aktivierung/Deaktivierung bestimmter Funktionen konzentrieren.
    • Granularität: Die Fernkonfiguration ermöglicht oft eine feinere Kontrolle über das Verhalten der App, während Feature Flags in der Regel binär sind (an/aus).
    • Anwendungsfälle: Die Fernkonfiguration wird häufig für A/B-Tests und schrittweise Rollouts verwendet, während Feature Flags in der Regel für Canary-Releases und die Trennung von Deployment und Release verwendet werden.

    Beschränkungen und Überlegungen

    Beachten Sie bei der Implementierung der Fernkonfiguration die folgenden potenziellen Herausforderungen:

    • Erhöhte Komplexität der App-Architektur
    • Mögliche Leistungseinbußen durch häufige Konfigurationsabrufe
    • Bedenken hinsichtlich Datenschutz und Datennutzung im Zusammenhang mit der Segmentierung der Benutzer
    • Das Risiko, sich zu sehr auf Fernkonfigurationen zu verlassen, was die Wartung der App erschweren könnte

    Kostenlose Tools zur Fernkonfiguration

    Bei der Entwicklung von Mobile Apps wird die Fernkonfiguration wahrscheinlich eine immer wichtigere Rolle bei der Erstellung flexibler, reaktionsschneller und benutzerorientierter Anwendungen spielen.

    Wenn Sie mit der Fernkonfiguration beginnen möchten, bietet Optimizely eine kostenlose Fernkonfigurationslösung namens Optimizely free Feature Flags. Optimizely Rollouts bietet eine kostenlose Funktion für die Fernkonfiguration von Features und A/B-Testing, so dass Sie die Vorteile der Fernkonfiguration in Ihrem App-Entwicklungsprozess nutzen können.

    Optimizely Rollouts funktioniert für die gängigsten Sprachen und SDKs für die mobile Entwicklung, darunter Swift, Java, JavaScript und Objective-C.

    https://pixel.welcomesoftware.com/px.gif?key=YXJ0aWNsZT1jNzgyMDZmMmVhZGMxMWVlODcxNGIyZWZjYWE0MDhlZg==