Apptracking und Debugging

Die Entwicklerkonsole in Firefox oder Chrome ist das liebste Werkzeug des Webanalysten. Hier kann man sich schnell eine Übersicht verschaffen, welche Daten wann wohin gesendet werden. Man klickt auf „Absenden“ und prüft, ob das korrekte Formularereignis in Google Analytics, Webtrekk oder SiteCatalyst erfasst wird.

Was aber, wenn man das Web verlässt, um Appdaten zu sammeln? Wir haben einen Guide zum Nachmachen erstellt, um auch bei Apps die volle Kontrolle beim Debuggen zu behalten.

Grundlagen des Apptracking und Debugging

Nicht selten wird ein Webanalyst gefragt, wie verlässlich die Daten sind. Um diese Frage zu beantworten, müssen wir Tests durchführen, um in Stichproben die Funktion zu bestätigen. Ist eine App aber als native Anwendung installiert, so kommt man nicht mehr so leicht an Testdaten. Schließlich hat man nicht immer eine Konsole oder die App mitsamt des Quellcodes, um in einer Entwicklerumgebung den Test durchzuführen.

Grundlage zu diesem Thema bietet meine Präsentation auf der Google Analytics Summit Konferenz in Zürich 2014. Eine Abwandlung der dort gezeigten Slides gibt es nun hier zu sehen. Um die fehlende Audiospur zu ersetzen, kommen weitere Stichpunkte unter den Slides.

Vorgehen um Apptracking zu Debuggen

Wie folgt können wir vorgehen, um gängige Trackingtools wie Google Analytics, SiteCatalyst, etc. innerhalb einer App zu debuggen.

Wir möchten eine Architektur aufbauen, um Events und Screenviews (Page Impressions) bei Apps erfassen zu können. Alle erfassten Daten sollen übersichtlich angezeigt werden, damit man diese mit den durchgeführten Aktionen abgleichen kann. Klickt man etwas an oder schaut einen Screen an, der als Page Impression gezählt wird, so sollten entsprechende Daten gesammelt werden.

Um dieses Ziel zu erreichen, debuggen wir per Proxysoftware alle Requests, die auf einem Testdevice passieren (z.B. ein iPhone 5 in den Slides). Um etwas Kontext zu schaffen, sollten wir einen kurzen Ausflug zum Thema Proxies machen.

Ein Proxy ist ein Element, das man zur Verschlüsselung einer Verbindung nutzt. Quasi ein Mittelsmann der etwas weiterreicht, damit der Klient unerkannt bleibt. Da der Mittelsmann alle Pakete durchreicht, weiß er (zumindest in der Softwareentwicklung) immer was in den Paketen ist. Sollte es verschlüsselt sein, so kann man über spezielle Zertifikate auch an diese Inhalte kommen. Schließlich installieren wir den Proxy selbst und es handelt sich hier nicht um einen Hack.

Charles und Fiddler sind zwei Beispiele für Software, die als Proxy auf dem eigenen Rechner fungieren. Jegliche Daten die über ein Netzwerk verschickt werden, können hier durchgeschleust werden. Die Software bietet dann ein übersichtliches Interface, um die Daten strukturiert durchzusuchen. Da jegliches Tracking auch über ein Netzwerk verschickt wird, können wir also auch diese gesammelten Daten betrachten. Als Ersatz für die Entwicklerkonsole in einem Browser.

  1. Im ersten Schritt brauchen wir also einen Rechner der als WLAN-Hotspot fungiert. Das ist in Win7 mit zwei Konsolenbefehlen möglich (siehe Slides und hier unten im Code-Abschnitt).
  2. Nun meldet sich das Device mit der installierten App in diesem WLAN an. Dabei wird eine Proxy-Konfiguration angegeben (diese wird je nach Software in Fiddler oder Charles vorgegeben).
  3. Auf dem Rechner kann jetzt die entsprechende Proxysoftware (z.B. Charles oder Fiddler) verwendet werden um alle Requests zu erfassen, die sowohl auf dem Rechner als auch auf dem Device passieren. Klickt man in der App etwas an, wobei dann ein neuer Screen getrackt wird, dann kann man dies in einem Request in Echtzeit sehen. Inklusive aller Parameter, wie der Screen heißt und welche Metadaten sonst erfasst wurden.

Hier die versprochenen Codes um das WLAN vom Windows-PC zu starten.

netsh wlan set hostednetwork mode-allow ssid-cookie3 key-12345678

Damit starten wir ein Netzwerk mit dem Namen „cookie3“ und dem Passwort „12345678“

netsh wlan start hostednetwork

Mit dem zweiten Befehl aktivieren wir das vorher konfigurierte drahtlose Netzwerk.

Ein Beispiel, wie das Debugging in Fiddler aussieht, könnt ihr folgendem Screenshot entnehmen.

Apptracking Requests von Google Analytics (Beispiel aus Website, nur zur Veranschaulichung)

Natürlich wissen wir, dass ein solch komplexes Thema kaum in einem so kurzen Blogpost vollständig behandelt werden kann. Tatsächlich ist hier genug Futter gegeben, um mehrere Postings zu schreiben. Ich würde mich aber sehr freuen, wenn in den Kommentaren Fragen erscheinen, auf welche Herausforderungen ihr gestoßen seid. Dann können wir gerne darauf eingehen in neuen Posts oder in den Kommentaren.

 


Schreibe einen Kommentar

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