Firebase Remote Config ist ein einzigartiger Dienst, der Ihnen ermöglicht, die Instanzen Ihrer Apps genau zu steuern, während sie auf Benutzergeräten installiert werden. Durch die Verwendung können Sie das Erscheinungsbild und das Verhalten Ihrer Apps für Ihre gesamte Nutzerbasis verlässlich ändern, ohne Updates in Google Play veröffentlichen zu müssen.
Wenn Sie der Meinung sind, dass dies ein Sicherheitsrisiko darstellen könnte, lassen Sie mich versichern, dass Sie mit Remote Config keinen neuen Code in Ihre Apps einfügen können. Sie können nur die Werte bestimmter vorab festgelegter Variablen, die bereits im Code vorhanden sind, über die Firebase-Konsole ändern. Tatsächlich können Sie sich die Variablen als serverseitige Variablen vorstellen, von denen Ihre App abhängig ist.
In diesem Tutorial zeige ich Ihnen, wie Sie einige der leistungsfähigsten Funktionen von Remote Config in Android-Apps verwenden.
Die Remote Config API ist in erster Linie dazu gedacht, als Alternative zu einfachen, hart codierten Werten in Ihren Apps verwendet zu werden. Beispiele für solche Werte sind Farben, Abmessungen, Verzögerungen und Beschriftungen.
Stellen Sie sich das folgende Szenario vor, um die Bedeutung der API besser zu verstehen: Sie erstellen und veröffentlichen eine App mit hartcodierten Werten für die Schriftgröße und Farbe aller Beschriftungen. Einige Tage später sagen Ihnen Ihre Benutzer, dass sie eine größere Schriftgröße und eine andere Schriftfarbe bevorzugen. Da die Werte hartcodiert sind, müssen Sie zum Ändern der Codes Ihren Code ändern, die App erneut erstellen, eine neue Versionsnummer hinzufügen und sie erneut bei Google Play veröffentlichen. Das ist viel Arbeit für eine solche kleine Korrektur. Wenn die Benutzer ihre Meinung ändern, müssen Sie alles noch einmal wiederholen!
Mit Firebase Remote Config können Sie die Schriftgröße und Schriftfarbe aus der Ferne konfigurierbare Variablen festlegen und die Firebase-Konsole verwenden, um ihre Werte jederzeit und beliebig oft zu ändern. Dieser moderne Ansatz stellt auch sicher, dass die Änderungen so schnell wie möglich auf den Geräten aller Benutzer vorgenommen werden, ohne dass Updates manuell heruntergeladen werden müssen.
Mit dem Firebase-Assistenten von Android Studio benötigen Sie für das Hinzufügen von Remote Config zu Ihrem Projekt nur wenige Klicks.
Beginnen Sie mit zu gehen Extras> Firebase und wählen Remote Config> Firebase Remote Config einrichten in dem Panel, das angezeigt wird.
Drücken Sie anschließend die Verbinden Sie sich mit Firebase Schaltfläche, um Ihr Android Studio-Projekt einem Firebase-Projekt zuzuordnen. Wählen Sie in dem daraufhin angezeigten Dialogfeld die Option Neues Firebase-Projekt erstellen Option und drücken Sie die Verbinden Sie sich mit Firebase Taste.
Nach einer erfolgreichen Verbindung können Sie die drücken Fügen Sie Ihrer App Remote Config hinzu Schaltfläche, um den Gradle-Dateien Ihres Projekts alle erforderlichen Abhängigkeiten hinzuzufügen. Wenn Sie dazu aufgefordert werden, drücken Sie die Taste Änderungen akzeptieren Schaltfläche, um die Projekteinrichtung abzuschließen.
Alle Variablen, die Sie remote ändern möchten, müssen in Ihrem Firebase-Projekt als Remote-Konfigurationsparameter definiert werden. Melden Sie sich in einem Browser an der Firebase-Konsole an, und scrollen Sie nach unten Projektübersicht Abschnitt, um das zu finden Remote-Konfig und drücken Sie die Loslegen Taste.
Drücken Sie im Begrüßungsbildschirm des Remote Config-Dienstes die Fügen Sie Ihren ersten Parameter hinzu um die Variablen hinzuzufügen.
Lassen Sie uns jetzt zwei Parameter definieren: Schriftgröße
und Schriftfarbe
. Ersteres ist eine Zahl und letzteres eine Zeichenfolge. Stellen Sie sicher, dass Sie beiden sinnvolle Standardwerte zuweisen.
Sie sollten jetzt die beiden von Ihnen erstellten Parameter sehen können. Ihre Werte stehen Ihrer App jedoch nicht zur Verfügung, wenn Sie sie nicht veröffentlichen. Drücken Sie also die Änderungen veröffentlichen Taste.
Um die von uns erstellten Parameter verwenden zu können, fügen Sie ein Textvorschau
Widget, das eine Nachricht in der XML-Layoutdatei Ihrer Aktivität anzeigt. Wenn Sie für dieses Tutorial ein neues Android Studio-Projekt erstellt haben, können Sie die "Hello World" verwenden. Textvorschau
Widget standardmäßig verfügbar, aber vergewissern Sie sich, dass Sie ihm eine ID geben.
In der onCreate ()
Als Methode Ihrer Aktivität können Sie jetzt mithilfe des Symbols einen Verweis auf das Widget erhalten findViewById ()
Methode.
val myMessage = findViewById(R.id.my_message)
Unsere App muss beim ersten Öffnen korrekt funktionieren, auch wenn der Benutzer nicht mit dem Internet verbunden ist. Daher muss es sowohl die Namen als auch die Standardwerte unserer Remote-Config-Parameter kennen. Das Erstellen einer Karte zum Speichern ist eine gute Idee.
Standardwerte = mapOf ("font_size" bis 18, "font_color" bis "# ff0000")
Beachten Sie, dass die Namen und Standardwerte mit ihren Gegenstücken in der Firebase-Konsole identisch sein müssen.
Wir können jetzt einen Client für den Remote Config-Dienst mithilfe von starten Standardeinstellungen
Karte. Erstellen Sie dazu zunächst eine Instanz des Clients, indem Sie die bekomme Instanz()
Methode der FirebaseRemoteConfig
Klasse und übergeben Sie dann die Karte an ihre setDefaults ()
Methode.
val remoteConfig = FirebaseRemoteConfig.getInstance () remoteConfig.setDefaults (Standardeinstellungen)
Zu diesem Zeitpunkt ist der Remote Config-Client bereit, und wir können die von ihm gelieferten Werte verwenden.
Das FirebaseRemoteConfig
Die Instanz bietet einige intuitiv benannte Methoden, mit denen Sie die Werte der Remote-Konfigurationsparameter abrufen können. Zum Beispiel können Sie das anrufen getDouble ()
Methode zum Abrufen von Werten, die Zahlen sind. Ebenso können Sie das anrufen getString ()
Methode zum Abrufen von Werten, die Zeichenfolgen sind.
Der folgende Code zeigt Ihnen, wie Sie die Werte von erhalten Schriftgröße
und Schriftfarbe
Parameter.
val fontSize = remoteConfig.getDouble ("font_size") val fontColor = remoteConfig.getString ("font_color")
Sobald Sie die Werte haben, können Sie sie nach Belieben verwenden. Im Moment wollen wir sie verwenden, um das Aussehen der zu ändern meine Nachricht
Widget.
myMessage.textSize = fontSize.toFloat () myMessage.setTextColor (Color.parseColor (fontColor))
Wenn Sie die App jetzt ausführen, können Sie das sehen Textvorschau
Widget mit den Standardwerten der Remote Config-Parameter.
Im Moment gibt der Remote Config-Client lediglich Werte aus der Map zurück, die wir ihm übergeben haben. Damit er Werte verwenden kann, die er von Firebase erhält, müssen wir seine nennen enableFetched ()
Methode.
remoteConfig.activateFetched ()
Das enableFetched ()
Die Methode holt jedoch keine Werte von Firebase. Deshalb müssen wir das anrufen holen()
Methode next, die asynchron läuft, um die Werte abzurufen.
remoteConfig.fetch ()
Wenn Sie die App zu diesem Zeitpunkt ausführen, werden weiterhin die Standardwerte verwendet. Wenn Sie jedoch einige Sekunden warten, schließen und erneut öffnen, werden die von Ihnen in der Firebase-Konsole eingegebenen Werte verwendet.
Normalerweise empfiehlt es sich, die geänderten Werte erst dann wirksam werden zu lassen, wenn die Benutzer die App das nächste Mal öffnen. Sie könnten einen Listener an den anhängen Aufgabe
Objekt zurückgegeben von holen()
Methode und aktualisieren Sie Ihre Benutzeroberfläche im Listener, aber Ihre Benutzer mögen die abrupte Änderung nicht.
Sie können den Listener jedoch zum Debuggen verwenden.
remoteConfig.fetch (). addOnSuccessListener Log.i (TAG, "Werte erfolgreich abgerufen")
Derzeit stimmen die Werte in der Karte mit den Fernwerten überein. Um den Remote Config-Dienst in Aktion sehen zu können, müssen wir die in der Firebase-Konsole genannten Werte ändern. Gehen Sie zurück zur Konsole und klicken Sie auf einen der Parameter, die im Abschnitt Remote Config angezeigt werden.
Verlassen Sie in dem sich öffnenden Dialog das Parametertaste Feld unverändert, aber ändern Sie den Wert. Ebenso können Sie den Wert des anderen Parameters ändern.
Stellen Sie abschließend sicher, dass Sie die Taste drücken Änderungen veröffentlichen Schaltfläche, damit die Werte für den Remote Config-Client verfügbar sind.
Wenn Sie die App jetzt öffnen, schließen und erneut öffnen, sollten Sie das sehen Textvorschau
Widget sieht anders aus.
Sie müssen nicht immer dieselben Remote Config-Werte für alle Benutzer bereitstellen. Mit der Firebase-Konsole können Sie Bedingungen zu Ihren Parametern hinzufügen, sodass unterschiedliche Werte an verschiedene Teilmengen Ihrer Benutzerbasis zurückgegeben werden. Es gibt viele Regeln, die Sie zum Erstellen solcher Subsets verwenden können. Sie können beispielsweise Benutzer ansprechen, die zu einem bestimmten Land gehören, Benutzer mit Geräten, auf denen eine bestimmte Android-Version ausgeführt wird, oder sogar Benutzer, die eine bestimmte Sprache sprechen.
Da Firebase sie transparent verwaltet, müssen Sie im Code keine Änderungen vornehmen, um die mit Ihren Parametern verbundenen Bedingungen zu behandeln.
Um ein Beispiel zu erhalten, fügen wir jetzt eine Bedingung in die Schriftfarbe
Parameter so, dass der Wert nur für indische Benutzer blau ist.
Klicken Sie zunächst auf den Parameter in der Firebase-Konsole. Klicken Sie im angezeigten Formular auf die Schaltfläche Wert für Bedingung hinzufügen Dropdown-Feld und wählen Sie Neuen Zustand definieren.
In dem sich öffnenden Dialog können Sie Ihrem Zustand einen Namen geben Trifft zu, wenn… Wählen Sie in der Dropdown-Liste eine Vielzahl von Optionen aus, mit denen Sie sich auf eine bestimmte Benutzergruppe konzentrieren können. Um Benutzer eines bestimmten Landes anzusprechen, müssen Sie die Option auswählen Land / Region Möglichkeit. In der nebenstehenden Liste können Sie ein oder mehrere Länder auswählen. Wählen Indien Hier.
Wenn Sie alle Felder ausgefüllt haben, drücken Sie die Taste Bedingung erstellen Schaltfläche, um die Bedingung abzuschließen.
An diesem Punkt kann Ihr Parameter zwei statt nur einen Wert annehmen. Lassen Sie die Standardwert Feld wie es ist und geben Sie den Hex-Code für die Farbe Blau in das Feld für den bedingten Wert ein.
Wenn Sie die Änderungen jetzt veröffentlichen, erhalten Benutzer in Indien ein zusätzliches Update und den Text in Textvorschau
Widget wird ihnen blau angezeigt.
Jetzt wissen Sie, wie Sie eine App mit Firebase Remote Config und der Firebase-Konsole remote ändern. Mit etwas Kreativität können Sie mit dem Dienst viel tun, um die Benutzererfahrung Ihrer App zu verbessern. Beispielsweise verwenden die meisten Entwickler heute die Themen ihrer Apps, um Festtage zu markieren. Viele verwenden es auch mit Firebase Analytics, um A / B-Tests auf ihren Anwenderbasis durchzuführen.
Weitere Informationen zu Remote Config finden Sie in der offiziellen Dokumentation.