Seiten

Freitag, 19. November 2010

Seitenaufrufanalyse für eine reine Silverlight 4-Navigationsanwendung mit dem Microsoft Silverlight Analytics Framework und Google Analytics

Vor etwas längerer Zeit hatte ich einen Thread im Deutschen MSDN Silverlight-Forum mit der Frage nach einem Seitenzähler für eine reine Silverlight-Anwendung eingestellt. Oliver Michalski gab zu dieser Frage den entscheidenden Hinweis auf das Microsoft Silverlight Analytics Framework (MSAF) und damit die Antwort auf meine Frage.

Ich habe mich also eingelesen und schließlich mit Hilfe des MSAF und Google Analytics als Service-Anbieter eine Seitenaufruf-Analyse in eine reine Silverlight 4 Navigationsanwendung implementiert. Für alle, die auch eine Lösung für diese Anforderung suchen, beschreibe ich hier kurz, wie das geht. Es ist wirklich total einfach.

Das MSAF stellt eine Reihe von Behaviors, also Behaviors, Actions und Trigger, zur Verfügung. Das macht die Implementierung sehr anwenderfreundlich und mit Expression Blend 4 zu einem Kinderspiel. Ich beschränke mich hier auf die Darstellung, eir eine Seitenaufruf-Analyse mit dem MSAF für Google Analytics implementiert wird. Das MSAF bietet noch viel mehr als das. Außerdem werden neben Google Analytics viele weitere Anbieter von Analytics Services unterstützt. Es ist sogar möglich, mehrere Analytics-Services Anbieter parallel anzusprechen. Mehr Informationen gibt es auf der Codeplex-Seite des MSAF.

Das MSAF ist kostenlos erhältlich und wird unter Microsoft Public License (Ms-PL) zur Verfügung gestellt.

Vorbemerkung

Im Folgenden wird vorausgesetzt, dass ein aktiver Account bei Google Analytics besteht. Außerdem sollte natürlich eine Silverlight-Navigationsanwendung mit mehreren Pages vorhanden sein, die bereits veröffentlicht ist. Die Domain, unter der die Silverlight-Anwendung erreichbar ist, muss bei Google Analytics als Analytics-Konto eingerichtet sein. Weitere Informationen bietet die Google Analytics Hilfe und die recht intuitive Benutzerführung in der Account-Verwaltung.

Wesentlicher Bestandteil für das Implementieren von Google Analytics für eine Silverlight-Anwendung ist der Einbau des Tracking-Scripts in der Seite, welche die Silverlight-Anwendung hostet. Ich setze voraus, dass dieses Script in die Startseite implementiert ist. Bestandteil dieses Scripts ist der UA-Schlüssel für das Analytics Konto. Für jede Internetseite muss ein eigenes Analytics-Konto eingerichtet werden und existiert ein spezieller UA-Schlüssel. Dieser UA-Schlüssel ist die einzige Information, die wir im Folgenden benötigen. Der UA-Schlüssel kann dem Tracking-Script entnommen werden. Er wird dort im Format "UA-xxxxxxx-y" angezeigt.

Schritt für Schritt

Und so funktioniert die Implementierung einer Seitenaufruf-Analyse mit dem MSAF im Fall von Google Analytics:

1. Das Microsoft Silverlight Analytics Framework herunterladen und installieren.

2. Dem Silverlight-Projekt in Visual Studio 2010 einen Verweis auf die Microsoft.WebAnalytics.Navigation.dll hinzufügen.

3. Wechseln zu Expression Blend 4. Dort die Registerkarte "Objekte" selektieren. Auf "Verhalten" klicken und "TrackAction" auswählen.


Diese TrackAction wird dann per Drag&Drop auf das Frame-Steuerelement gezogen. Die hinzugefügte TrackAction wird selektiert. In der Registerkarte Eigenschaften wird für diese TrackAction die EventName-Eigenschaft auf den Wert "Navigated" gesetzt.


Das bewirkt, dass jedesmal, wenn das Navigated-Ereignis feuert, dieses Ereignis an den Analytics-Anbieter, hier also an Google Analytics, gesendet wird. In der Account-Verwaltung können dadurch später die einzelnen Seitenaufrufe nachverfolgt werden.

4. Damit die Daten zum Analytics Service Anbieter gesendet werden können, muss dem LayoutRoot der entsprechende Analytics Service Anbieter per Drag&Drop hinzugefügt werden. Das Beispiel hier benutzt Google Analytics. Also: GoogleAnalytics auswählen ...


... und per Drag&Drop dem LayoutRoot hinzufügen:


Jetzt das soeben hinzugefügte GoogleAnalytics-Behavior selektieren. In der Registerkarte Eigenschaften wird dann der UA-Schlüssel aus dem Tracking-Script als Wert für die Eigenschaft "Web Property ID" eingetragen:



Mehr braucht man nicht, damit die Silverlight-Anwendung nun mit dem konkreten Google Analytics Account kommuniziert!

5. Schließlich das Projekt neu erstellen und veröffentlichen. Das war's!

Extrem schlank. Extrem einfach. Und das Beste ist, man kann sofort nach dem Veröffentlichen ausprobieren, ob die Seitenaufruf-Analyse funktioniert. Denn die Analyse beginnt bereits unmittelbar nach der Veröffentlichung der modfizierten Silverlight-Anwendung quasi in Echtzeit. Probiert es selbst aus. Ruft die betreffende Seite auf, navigiert einige Male durch die Pages der Anwendung und wechselt dann zu dem Google Analytics Konto. Der Traffic wird sofort sichtbar:


Abschließend möchte ich noch empfehlen, einen Blick auf die weiteren Features des MSAF zu werfen. Seitenaufruf-Analyse ist wie gesagt nur ein kleiner Teil. Daneben können mit dem MSAF u.a. Ereignisse von Steuerelementen analysiert werden und ein A/B-Testing wird unterstützt. So kann das Benutzungsverhalten in verschiedenen Zuständen der UI analysiert und ausgewertet werden. Ein wirklich mächtiges Framework.

Wichtige Resource: Blog von Michael S. Scherotter; Tag: Web Analytics.

Viel Spass! Und viel Erfolg.

Keine Kommentare:

Kommentar veröffentlichen