Artykuł

freeimages.com freeimages.com
maj 21 2015
0

Biblioteki warte poznania w C# - Google Analytics SDK for Windows 8 and Windows Phone

Ponad dwa lata temu polskim Internetem wstrząsnęła ustawa o ciasteczkach, która nakazuje właścicielom stron informować użytkowników, że na ich witrynie mogą być oni śledzeni za pomocą cookies. Denerwujące popupy i divy informujące o ciasteczkach, zaczęły wyrastać jak grzyby po deszczu. Nowa regulacja nazwała po imieniu to o czym wiedzieli wszyscy internauci - jesteśmy śledzeni.

O ile jeszcze śledzenie zarobkowe może być denerwujące (ciekawe skąd cały Internet nagle wie, że szukałem przed chwilą wakacji?), o tyle w wielu przypadkach, ciasteczka dostarczają sensownych informacji właścicielom stron, którzy dzięki temu wiedzą np. co można poprawić w nawigacji witryny i dzięki temu mogą zyskać również użytkownicy końcowi.

Jednym z większym generatorów ciastek w sieci, jest usługa Google Analytics, która śledzi ruch użytkowników na stronie. Serwis giganta z Mountain View przez wiele lat kojarzył się tylko ze stronami WWW, ale w praktyce od jakiegoś czasu możemy go wykorzystywać również w aplikacjach. W ten oto trochę zawoalowany sposób, dotarłem do meritum, czyli do biblioteki Google Analytics SDK for Windows 8 and Windows Phone, która jak sam tytuł wskazuje pozwala na podpięcie analityk w naszych aplikacjach:)

Charakterystyka i zastosowanie

Tytułowa biblioteka pozwala na sprawną obsługę statystyk Google Analytics w programach przeznaczonych zarówno na dużego jak i małego Windowsa. Rozwiązanie wspiera również aplikacje uniwersalne.

Najważniejszym elementem biblioteki Google Analytics SDK for Windows 8 and Windows Phone jest plik konfiguracyjny analytics.xml, który automatycznie powinien trafić do Waszych projektów po instalacji biblioteki. Wewnątrz znajdziecie kilkanaście węzłów XML, z czego wymaganym jest tylko trackingId, który określa ID śledzenia. Oprócz tego warto również przekazać nazwę aplikacji (appName) oraz jej wersję (appVersion). Pozostałe parametry można uzupełnić wedle uznania według informacji zawartych w komentarzach oraz schemie. Przykładowy plik XML:

<?xml version="1.0" encoding="utf-8" ?>
<!--More info at https://developers.google.com/analytics/devguides/collection/android/v2/parameters-->
<analytics xmlns="http://googleanalyticssdk.codeplex.com/ns/easytracker">
  <trackingId>UA-63240922-1</trackingId>
  <appName>Moja aplikacja</appName>
  <appVersion>WP 1.0.0.0</appVersion>
</analytics>

Biblioteka obsługuje większość najważniejszych funkcji Google Analytics. Pozwala na wysyłanie informacji o tym na jakim ekranie się obecnie znajdujemy, a także informacje na temat zdarzeń, transakcji, czy interakcji społecznościowych. Dostępnych opcji jest znacznie więcej, a wszelkie szczegóły znajdziecie na stronie dokumentacji.

Kiedy warto zastosować bibliotekę Google Analytics SDK for Windows 8 and Windows Phone?

Bibliotekę warto zastosować w sytuacji gdy chcemy skorzystać z Google Analytics w naszych aplikacjach, ale to chyba w tym przypadku oczywista oczywistość;-) Rozwiązanie to można by również samemu oprogramować, ale czy ma to jakiś większy sens, gdy w nasze ręce dostajemy kompletną, darmową, sprawnie działającą bibliotekę? Pytanie pozostawię bez odpowiedzi.

Przykład

Użycie biblioteki jest banalnie proste. Po instalacji (bibliotekę możemy pobrać z NuGeta, link w metryce) musimy uzupełnić plik analytics.xml (przykład powyżej) oraz dodać kod śledzenia w interesujących nas miejscach aplikacji.

W praktyce najczęściej śledzimy ekrany po których poruszają się użytkownicy oraz monitorujemy wybrane zdarzenia (np. kliknięcie na przycisk). Poniżej znajduje się kod XAML bardzo prostej strony aplikacji w Windows Phone:

<Page
    x:Class="AnalyticsTest.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:AnalyticsTest"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <Grid>
        <Button Content="Kliknij" Click="Button_Click" />
    </Grid>
</Page>

Oraz code-behind w którym znajdziecie przykład użycia naszej biblioteki:

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
        this.NavigationCacheMode = NavigationCacheMode.Required;
            
    }
    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        GoogleAnalytics.EasyTracker.GetTracker().SendView("MainPage");
    }

    private void Button_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
    {
        GoogleAnalytics.EasyTracker.GetTracker().SendEvent("Buttons", "Click", "Main button", 0);
    }
}

Większość operacji wykonujemy po pobraniu obiektu EasyTrackera. Można to robić każdorazowo za pomocą konstrukcji inline (jak w powyższym przykładzie), bądź też pobrać go jednorazowo i później korzystać ze zmiennej lokalnej, czy też pola klasy:

var tracker = GoogleAnalytics.EasyTracker.GetTracker();
tracker.SendView("MainPage");

W moim przykładzie użyłem dwie metody. SendView wysyła informację o aktualnym ekranie, natomiast SendEvent rejestruje konkretne zdarzenie.

Metryka

Podoba Ci się ten wpis? Powiedz o tym innym!

Send to Kindle

Komentarze

blog comments powered by Disqus