It’s #FrontendFriday – Firebase App Check & Remote Config

01.09.2023

Hallo interessierte #FrontendFriday Leser/innen. Nachdem wir uns zum Thema Firebase schon die Authentifizierung sowie Firebase Extensions & Dynamic Links angeschaut haben, geht es heute in Teil drei unserer Serie, um die beiden Firebase Funktionen App Check und Remote Config.

Was ist Firebase App Check?

Firebase App Check ist ein Sicherheitsfeature, welches dabei hilft, die eigenen Firebase Ressourcen vor Missbrauch zu schützen. Dies hilft dem Entwickler einer App, da er sich weniger Gedanken darum machen muss, dass seine APIs missbraucht werden. Da zum Beispiel jeder Request Geld kostet, wenn bestimmte Quotas erreicht sind, kann Missbrauch hier schnell zusätzliche Kosten für den Entwickler einer App verursachen.

App Check hilft dabei, dass nur authentische Requests von Userclients geschickt werden können und so missbräuchliche Requests gefiltert werden.

Wie finden wir heraus, ob der Traffic von einem authentischen User kommt?

App Check filtert den gesamten Traffic auf unsere Firebase Endpunkte und prüft, ob es sich um authentische User handelt. Sogenannte Attestation Provider fügen den Requests der Clients ein Token hinzu, welches von Firebase gescannt wird. Diese befinden sich auf dem jeweiligen Gerät der User.

Dabei werden je nach Umgebung folgende Provider genutzt:

  • Play Integrity (Android)
  • DeviceCheck (iOS)
  • Re-Captcha (Web)

Nach diesem Setup ist es möglich, missbräuchliche Requests herauszufiltern und so die eigenen Endpunkte abzusichern.

Fazit: App Check ist eine schöne Möglichkeit als Developer mehr Sicherheit zu haben, dass die eigenen Apis nur von authentischen Clients genutzt werden und keine dritten, ungewollte Requests an die eigenen Endpunkte schicken können, um diese zu manipulieren bzw. die Kosten durch unnötige Requests zu erhöhen.

Was ist Firebase Remote Config?

Firebase Remote Config ist ein mächtiges Werkzeug um die Usererfahrung zu personalisieren und zu verbessern, durch Veränderung von App Features und Inhalten, ohne dass hierfür ein updaten der App notwendig ist.

Besonders hilfreich ist das Feature für folgende Anwendungsbereiche:

  • A/B Testing: Man kann verschiedenen Gruppen von Usern verschiedene Versionen ausrollen
  • Personalisierung: Bestimmte Usergruppen können angepasste Inhalte bekommen, um z. B. die Monetarisierung zu erhöhen
  • Echtzeit Anpassungen: In Echtzeit auf Eventsreagieren (z. B. Werbeevents)
  • Kein Release: Man muss kein neues Release veröffentlichen, das die User erst per Update installieren müssen.

Wie funktioniert Firebase Remote Config?

Es werden Konfigurationen per Key-value pairs in Firebase gespeichert, dabei kann man unterschiedliche Konfigurationen erstellen. Mit bestimmten Regeln kann man festlegen, dass zum Beispiel 30 % der Nutzer Feature A bekommen sollen und 70 % Feature B. Firebase sucht dann zufällig die Geräte aus, auf denen die jeweiligen Features ausgerollt werden.

Es gibt auch die Möglichkeit, Machine Learning gestützt, Features auszurollen. Dabei entscheidet der Algorithmus dann darüber, für welche User das Feature Sinn macht. Zum Beispiel, wenn man für Poweruser andere Werte setzen will oder diesen Sonderfunktionen bereitstellen will, kann der Algorithmus diese User für einen ausfindig machen und diesen automatisch das Feature ausspielen.

Fazit: Firebase Remote Config ist ein interessantes Tool, um die Usererfahrung zu personalisieren und vor allem lästige Updates zu verringern. Dabei sollte man allerdings im Kopf behalten, dass es sich nur um textbasierte Changes handelt und man nicht komplett neue Funktionen einer App hinzufügen kann.

Im nächsten #FrontendFriday geht es in der Firebase-Reihe um Datenspeicherung und in welchem Kontext welche Speicherung Sinn macht.

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*