iX 9/2017
S. 130
Praxis
Mobile Computing
Aufmacherbild

Google Analytics for Firebase

Wer tut wann was?

Eine App zu verkaufen, ist das eine. Das andere: erfahren, wer die Software wann und wie nutzt. Antworten auf diese Fragen liefert ein kostenloses Framework von Google.

Google Firebase ist eine Plattform, die nützliche Tools und Infrastrukturen bereitstellt, mit denen man mobile Apps entwickelt, testet sowie weitere Benutzer gewinnt und an das Produkt bindet. Sie dominiert inzwischen den Markt für solche Anwendungen und entwickelt sich rasant weiter [1]. Die Werkzeuge ermöglichen unter anderem das Bereitstellen nachladbarer Inhalte und das zentrale Speichern von Einstellungen, das plattformübergreifende Benachrichtigen von Anwendern, das Einbinden von Google-Marketingangeboten wie AdWords und AdMob sowie das Analysieren des Nutzerverhaltens mit Analytics for Firebase. Um Letzteres geht es in diesem Artikel.

Analytics for Firebase ist ein kostenloser Dienst zum Messen des Nutzerverhaltens in Apps, ähnlich Google Analytics für Webseiten. Er lässt sich für Android-Apps mit Java und Gradle, für iOS-Anwendungen mit Swift und Objective-C sowie für das Web mit JavaScript anbinden. Spiele für Android und iOS können Analytics for Firebase per C++ oder direkt via Unity-Engine integrieren.

In den Datenschutzbestimmungen weist Google darauf hin, dass seine Software Daten über die Nutzer und deren Geräte sammelt. Wer sie einsetzt, darf persönliche Daten der Nutzer ohne deren Zustimmung nicht zusammen mit nicht persönlichen Daten übertragen. Außerdem muss der Entwickler Anwender darüber informieren, dass die App Analytics for Firebase verwendet, in welchem Umfang sie Cookies oder andere Identifikationsmerkmale nutzt und wie man der Datensammelei widerspricht.

Typische Anwendung: ein Onlineshop

Als Beispiel fungiert ein Onlineshop, der Analytics for Firebase nutzt, um den Erfolg durch Käufe zu messen und zu verbessern. Der Shop verkauft Zeitschriften, die je nach Thema in unterschiedliche Warengruppen eingeteilt sind. Die Produkte können darüber oder in einer Suche ausgewählt und angesehen werden. Wie üblich gibt es eine Wunschliste und einen Warenkorb, von dem aus Käufer den Bestell- und Bezahlprozess starten.

Analytics für iOS verlangt Xcode ab Version 7 und ein Xcode-Projekt für iOS 7 oder neuer. Analog braucht man für den Einsatz mit Android ein Gerät mit mindestens der Betriebssystemversion 4.0, Android Studio ab Version 1.5 als IDE und die Google Play Services ab 11.0.1. Der folgende Text beschränkt sich auf iOS.

Zuerst legt man in der Firebase-Konsole im Browser ein neues Projekt an. Dazu gehören der Projektname, hier „OnlineShop“, und das Land (unter anderem für die Währung). Anschließend fällt die Entscheidung für die App-Plattform, also iOS. Hier ist der Bundle Identifier festzulegen, eine eindeutige Kennung für die App. Optional vergibt man einen Kurznamen und trägt die App-Store-ID ein, wenn sich das Programm bereits in Apples Laden befindet. Anschließend generiert die Konsole eine Konfigurationsdatei, die man herunterlädt und ins Xcode-Projekt einbindet.

Für die Integration des Firebase-Frameworks in ein Projekt ist CocoaPods erforderlich (siehe „Alle Links“). Dieses Paketverwaltungssystem bindet Swift- und Objective-C-Projekte per Konfigurationsdatei ein. Das Einrichten von Firebase erfolgt damit in drei Schritten:

 Initialisieren mit pod init im Terminal;

 die dadurch erzeugte Pod-Datei um den Eintrag pod Firebase/Core ergänzen und

 das Kernsystem von Firebase mit pod install installieren.

Listing 1: Firebase in iOS-App einbinden

import UIKit
import Firebase

@UIApplicationMain

class AppDelegate: UIResponder,
  UIApplicationDelegate {
   func application(_ application:
     UIApplication,
     didFinishLaunchingWithOptions 
       launchOptions:
       [UIApplicationLaunchOptionsKey:   
         Any]?)
       -> Bool {
        FirebaseApp.configure()
        return true
    }
 ...
}

Danach muss man statt des Xcode-Projekts den von CocoaPods erstellten Xcode-Workspace öffnen. Er fasst das eigene App- mit einem Pod-Projekt zusammen, in dem sich das Firebase-Framework befindet. Zum Schluss muss der App-Code das Firebase-Framework importieren und aufrufen (siehe Listing 1). Wer demografische Daten der Nutzer aufzeichnen will, verwendet den Werbeidentifizierer. Dazu muss er in Xcode das „AdSupport“-Framework im App-Target unter „Linked Frameworks and Libraries“ hinzufügen.

Ereignisse und Benutzerdaten mitschneiden

Herzstück von Analytics for Firebase sind Events und User Properties. Events bezeichnen die in der App aufgetretenen Ereignisse; etwa das Starten, das Drücken von Buttons, In-App-Käufe sowie App- und Betriebssystem-Updates. User Properties beschreiben die Nutzer der App. Sie ermöglichen das Definieren von Audiences (Benutzergruppen) und das Filtern von Events. Zu den Properties gehören Versionsinformationen, demografische Daten wie Alter, Geschlecht, Sprache und Interessen des Benutzers, die über den Werbeidentifizierer ermittelt werden können – sofern der Anwender ihn nicht deaktiviert hat.

Durch das Zusammenspiel von Events mit User Properties lässt sich das Verhalten von Benutzern besser untersuchen. Firebase ermittelt einige Events samt Parametern und User Properties automatisch. Diese können um eigene ergänzt und erweitert werden. Das Framework überträgt die Daten regelmäßig, wenn sich die App im Hintergrund befindet. Die Daten erscheinen in der Firebase-Konsole.