Google Analytics SDK na iOS 1 (starsza wersja)

Pakiet Google Analytics dla aplikacji mobilnych na iOS ułatwia wdrożenie Google Analytics w aplikacjach na iOS. Z tego dokumentu dowiesz się, jak zintegrować pakiet SDK z aplikacjami.

Pakiet SDK ogółem

Ten pakiet SDK korzysta z modelu śledzenia, który służy do śledzenia użytkowników na tradycyjnych stronach i interakcji z widżetami na tradycyjnych stronach internetowych. Dlatego poniższe terminy są zgodne z tradycyjnym modelem śledzenia witryn i są mapowane na śledzenie aplikacji mobilnych. Aby lepiej zrozumieć, jak działa ten pakiet SDK, zapoznaj się ze śledzeniem Analytics.

Do śledzenia aplikacji telefonicznych za pomocą pakietu SDK do śledzenia mobilnego możesz śledzić te typy interakcji w Analytics:

Śledzenie odsłon
Odsłona to standardowy sposób pomiaru ruchu na tradycyjnej stronie. Aplikacje mobilne nie zawierają stron HTML, więc musisz zdecydować, kiedy (i jak często) chcesz wywoływać to wyświetlenie. Poza tym żądania odsłony są przeznaczone do tworzenia raportów dotyczących struktur katalogów, dlatego w raportach Zawartość w Analytics należy podać opisowe nazwy żądań, które można wykorzystać w nazwach ścieżek stron. Wybrane nazwy zostaną ujęte w raportach Analytics jako ścieżki stron, ale nie są to w rzeczywistości strony HTML. Możesz jednak wykorzystać tę korzyść, tworząc strukturę grupowania wywołań.
Śledzenie zdarzeń
W Analytics zdarzenia służą do śledzenia interakcji użytkowników z elementami stron internetowych niezależnie od żądań odsłon. Możesz korzystać z funkcji śledzenia zdarzeń w Google Analytics, by wywoływać dodatkowe wywołania, które będą rejestrowane w sekcji Śledzenie zdarzeń w interfejsie raportu Analytics. Zdarzenia są pogrupowane według kategorii i mogą wykorzystywać etykiety poszczególnych zdarzeń, co zapewnia elastyczność raportowania. Na przykład aplikacja do multimediów może oferować działania odtwarzanie/zatrzymywanie/wstrzymywanie w przypadku kategorii wideo i przypisywać etykietę do każdej nazwy filmu. Raporty Google Analytics będą wtedy zbierać zbiorczo dane o wszystkich zdarzeniach otagowanych kategorią wideo. Więcej informacji o śledzeniu zdarzeń znajdziesz w przewodniku po śledzeniu zdarzeń
.
Śledzenie e-commerce
Użyj funkcji śledzenia e-commerce, aby śledzić transakcje koszyka i zakupy w aplikacji. Aby śledzić transakcję, wywołaj metodę addTransaction, aby utworzyć ogólną transakcję, a także metodę addItem dla każdego produktu w koszyku. Po zebraniu danych będzie można je wyświetlić w sekcji Raportowanie e-commerce w interfejsie Google Analytics. Więcej informacji o śledzeniu e-commerce znajdziesz w tym przewodniku.
Zmienne niestandardowe
Zmienne niestandardowe to pary klucz-wartość, które możesz wstawiać w kodzie śledzenia, aby zawężać śledzenie w Google Analytics. Więcej informacji o korzystaniu ze zmiennych niestandardowych znajdziesz w przewodniku po zmiennych niestandardowych.
NoNo Support
Pakiet SDK na iPhone'a jest teraz udostępniany w wersji Nobiblioteki oraz standardowej wersji Thumb. Aby użyć biblioteki NoThumb, użyj pliku libGoogleAnalytics_NoThumb.a zamiast pliku libGoogleAnalytics.a.

Pierwsze kroki

Wymagania

Aby zintegrować z iOS aplikację Google Analytics i funkcje śledzenia, musisz mieć:

Konfiguracja

  • Otwórz Xcode i utwórz nowy projekt iPhone'a.
  • Przeciągnij GANTracker.h i libGoogleAnalytics.a z katalogu biblioteki SDK do nowego projektu.
  • Dodaj do projektu platformę CFNetwork i połącz z libsqlite3.0.dylib.

Pakiet SDK Google Analytics dla aplikacji mobilnych powinien działać z każdym iPhonem lub iPodem Touch z iOS 2.0 lub nowszym – biblioteka jest zgodna ze wszystkimi wersjami iOS, które obsługują aplikacje natywne.

Przykładowy pakiet zawiera pakiet SDK, który pokazuje, jak powinien wyglądać Twój projekt po skonfigurowaniu. Możesz jej używać jako szablonu dla własnych aplikacji zintegrowanych z Analytics.

Korzystanie z pakietu SDK

Zanim zaczniesz korzystać z pakietu SDK, musisz utworzyć bezpłatne konto na www.google.com/analytics i utworzyć na nim nową usługę internetową za pomocą fałszywego, ale opisowego adresu URL (np. http://mymobileapp.mywebsite.com). Po utworzeniu usługi zapisz lub zachowaj kopię identyfikatora usługi internetowej wygenerowanej dla nowo utworzonej usługi.

Użytkownik musi wskazać w swojej aplikacji lub warunkach usługi, że zastrzega sobie prawo do anonimowego śledzenia i zgłaszania aktywności użytkowników w aplikacji. Korzystanie z pakietu SDK Google Analytics podlega dodatkowo Warunkom korzystania z usługi Google Analytics, które trzeba zaakceptować podczas zakładania konta.

Przykłady i sprawdzone metody

Przykładowy kod i sprawdzone metody znajdziesz na stronie code.google.com w sekcji analytics-api-samples.

Biblioteka EasyTracker

Dostępna jest biblioteka EasyTracker. Zapewnia możliwość śledzenia aplikacji i poziomu na poziomie UIUI Control bez konieczności prac programistycznych. Znajdziesz je w sekcji Pobrane projektu analytics-api-samples.

Uruchamianie trackera

Uruchom tracker, wywołując metodę startTrackerWithAccountID na pojedynczym trackerze uzyskanym za pomocą [GANTracker sharedTracker]. Często wygodniej jest wywoływać tę metodę bezpośrednio w metodzie applicationDidFinishLaunching aplikacji, której przekazano dostęp. Przekazać identyfikator usługi internetowej, wymagany okres wysyłania i opcjonalnie przekazać dostęp. Przykład:

#import "BasicExampleAppDelegate.h"

#import "GANTracker.h"

// Dispatch period in seconds
static const NSInteger kGANDispatchPeriodSec = 10;

@implementation BasicExampleAppDelegate

@synthesize window = window_;

- (void)applicationDidFinishLaunching:(UIApplication *)application {
  // **************************************************************************
  // PLEASE REPLACE WITH YOUR ACCOUNT DETAILS.
  // **************************************************************************
  [[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-0000000-1"
                                        dispatchPeriod:kGANDispatchPeriodSec
                                              delegate:nil];

  NSError *error;
  if (![[GANTracker sharedTracker] setCustomVariableAtIndex:1
                                                       name:@"iPhone1"
                                                      value:@"iv1"
                                                  withError:&error]) {
    // Handle error here
  }

  if (![[GANTracker sharedTracker] trackEvent:@"my_category"
                                       action:@"my_action"
                                        label:@"my_label"
                                        value:-1
                                   withError:&error]) {
    // Handle error here
  }

  if (![[GANTracker sharedTracker] trackPageview:@"/app_entry_point"
                                   withError:&error]) {
    // Handle error here
  }

  [window_ makeKeyAndVisible];
}

- (void)dealloc {
  [[GANTracker sharedTracker] stopTracker];
  [window_ release];
  [super dealloc];
}

@end

Śledzenie wyświetleń stron i zdarzeń

Śledzenie odsłon i zdarzeń jest proste: wystarczy wywołać trackPageView obiektu śledzącego za każdym razem, gdy chcesz wywołać odsłonę. Aby nagrać wydarzenie, zadzwoń do trackEvent. Więcej informacji o odsłonach i zdarzeniach znajdziesz powyżej w sekcji Omówienie pakietu SDK.

Korzystanie ze zmiennych niestandardowych

Dodawanie zmiennej niestandardowej też jest proste: wystarczy użyć metody setCustomVariableAtIndex dostępnej w pakiecie SDK na urządzenia mobilne. Planuj z wyprzedzeniem, aby indeksować wszystkie zmienne niestandardowe, tak aby nie zastępować wcześniej istniejących zmiennych. Więcej informacji o zmiennych niestandardowych znajdziesz w przewodniku po zmiennych niestandardowych. Pamiętaj, że metoda setCustomVariableAtIndex nie przesyła danych bezpośrednio. Zamiast tego dane są wysyłane z następną śledzoną odsłoną lub zdarzeniem. Musisz zadzwonić setCustomVariableAtIndex przed śledzeniem zdarzenia lub zdarzeniem. Pamiętaj, że domyślny zakres zmiennych niestandardowych ma zakres ograniczony do strony.

Korzystanie ze śledzenia e-commerce

Istnieją 4 metody włączania śledzenia e-commerce w aplikacji:

  • addTransaction
  • addItem
  • trackTransactions
  • clearTransactions

Wywołanie addTransaction i addItem powoduje dodanie transakcji lub produktu do wewnętrznego bufora e-commerce, do którego można dodać więcej elementów i transakcji. Tylko wtedy, gdy dzwonisz do trackTransactions, transakcje i elementy są wysyłane do dyspozytora i trafiają do kolejki w Google Analytics.

Aby usunąć bufor, możesz wywołać metodę clearTransactions. Uwaga: nie anuluje żadnych transakcji, które zostały wcześniej wysłane do dyspozytora, ani żadnych transakcji pobranych już przez Google Analytics.

Ten przykładowy kod pomoże Ci rozpocząć.

  /**
   * The purchase was processed.  We will track the transaction and its associated line items
   * now, but only if the purchase has been confirmed.
   */
- (void) processPurchase:Purchase purchase {
  [[GANTracker sharedTracker] addTransaction:[purchase transactionId]
                                  totalPrice:[purchase totalPrice]
                                   storeName:[purchase store]
                                    totalTax:[purchase tax]
                                shippingCost:[purchase shipping]
                                   withError:&error];
  if (error) {
    // Handle error
  }
  for (PurchaseItem item in [purchase items]) {
    [[GANTracker sharedTracker] addItem:[purchase transactionId]
                                itemSKU:[item itemSKU]
                              itemPrice:[item price]
                              itemCount:[item count]
                           itemCategory:[item category]
                              withError:&error];
    if (error) {
      // Handle error
    }
  }

  if ([purchase isConfirmed]) {
    [[GANTracker sharedTracker] trackTransactions:&error];
  } else {
    // The purchase was denied or failed in some way.  We need to clear out
    // any data we've already put in the Ecommerce buffer.
    [[GANTracker sharedTracker] clearTransactions:&error];
  }
}

Więcej informacji o e-commerce znajdziesz w tym przewodniku.

Ukryj adres IP

Aby zanonimizować informacje o adresie IP użytkownika, ustaw właściwość anonymizeIp na TAK. Dzięki temu Google Analytics anonimizuje informacje wysyłane przez pakiet SDK, usuwając ostatni oktet adresu IP przed jego przechowywaniem.

Oto przykład:

 [[GANTracker sharedTracker] setAnonymizeIp:YES];

anonymizeIp możesz ustawić w każdej chwili.

Ustawienie częstotliwości próbkowania

Częstotliwość próbkowania możesz ustawić za pomocą właściwości sampleRate. Jeśli aplikacja generuje duży ruch na stronie Analytics, ustawienie częstotliwości próbkowania może uniemożliwić wygenerowanie raportów na podstawie próbkowanych danych. Próbkowanie odbywa się spójnie dla unikalnych użytkowników, więc gdy włączona jest częstotliwość próbkowania, trendy dotyczące integralności i raportowania są wiarygodne. Parametr sampleRate to identyfikator NSUInteger, który może mieć wartość od 0 do 100 włącznie. Oto przykład obniżający wartość sampleRate do 95%:

 [[GANTracker sharedTracker] setSampleRate:95];

Współczynnik 0 wyłącza generowanie działań, a współczynnik 100 wysyła wszystkie dane do Google Analytics. Najlepiej ustawić sampleRate przed wywołaniem jakichkolwiek metod śledzenia.

Więcej informacji o wykorzystywaniu próbek znajdziesz w przewodniku po próbkach próbkowania.

Grupowanie działań

Aby zaoszczędzić na kosztach połączenia i nakładu baterii, zalecamy grupowanie żądań śledzenia. Możesz wywołać obiekt dispatch w obiekcie śledzenia w dowolnym momencie, gdy chcesz wysłać żądanie zbiorcze. Możesz to zrobić ręcznie lub w określonych odstępach czasu.

Znane problemy

  • Odesłania / Źródła wizyt: obecnie nie można śledzić kampanii ani źródeł odesłania aplikacji na urządzenie z iOS.
  • Zdecydowanie odradzamy wywoływanie funkcji dispatch w tych sytuacjach:
    • W metodzie applicationWillTerminate
    • W tunelu – applicationDidEnterBackground
    • Zanim zadzwonisz do: stopTracker
    Może to spowodować dwukrotne wysłanie działań. Zamiast tego użyj metody dispatchSynchronous:.
  • Wywołanie metod GANTracker w różnych wątkach może spowodować przesłanianie błędów SQLite. Pamiętaj, by wszystkie rozmowy wykonywać w tym samym wątku.
  • Kampanie śledzące

    Ogólne śledzenie kampanii

    Od wersji 1.3 pakietu SDK Google Analytics na iOS możesz teraz śledzić odesłania z kampanii. Jeśli np. aplikacja stosuje niestandardowy schemat URL, możesz utworzyć URL zawierający parametry zapytania z kampanii. Gdy Twoja aplikacja zostanie uruchomiona w odpowiedzi na ten adres URL, możesz pobrać parametry zapytania i przekazać je do setreferrer, tak aby informacje były przechowywane w Google Analytics.

    Aby ustawić informacje o witrynie odsyłającej z kampanii, użyj metody setReferrer w ten sposób:

      [[GANTracker sharedTracker] setReferrer:referrer withError:&error];
    

    Ta funkcja ma 2 ograniczenia. Przed nawiązaniem połączenia z użytkownikiem setReferrer musisz zadzwonić pod numer startTrackerWithAccountID. Musisz to zrobić, ponieważ baza danych SQLite używana przez Google Analytics nie jest skonfigurowana przed wywołaniem startTrackerWithAccountID i setReferrer. Jeśli nie wywołasz metody startTrackerWithAccountID, wystąpi błąd.

    Drugie ograniczenie polega na tym, że ciąg znaków z rekomendacją przekazywany do setReferrer musi mieć określony format. Musi mieć postać zestawu parametrów URL i musi zawierać co najmniej parametr gclid lub każdy z parametrów utm_campaign, utm_medium i utm_source. W drugim przypadku mogą one mieć też parametry utm_term i utm_content.

    Parametr gclid jest częścią funkcji automatycznego tagowania, która automatycznie łączy Google Analytics z Google Ads. Przykładowe odesłanie z kampanii korzystające z automatycznego tagowania może wyglądać tak:

    referrer = @“gclid=gclidValue”;
    

    Ciąg tekstowy odesłania z kampanii ręcznej może wyglądać tak:

    referrer = @“utm_campaign=campaign&utm_source=source&utm_medium=medium&utm_term=term&utm_content=content”;
    

    Jeśli przekażesz do setReferrer nieprawidłowo sformatowany ciąg odsyłający, informacje o stronie odsyłającej nie ulegną zmianie i otrzymasz wartość false (fałsz). Zwracana wartość true oznacza, że strona odsyłająca została zaktualizowana i będzie dodawana do każdego działania. Zobaczysz też komunikat o błędzie, który możesz sprawdzić, by dowiedzieć się, co poszło nie tak.

    Pamiętaj, że nowa sesja rozpocznie się, gdy wywołasz funkcję setReferrer, która zwróci wartość true.

    Parametr Wymagany Opis Przykłady
    utm_campaign Tak Nazwa kampanii używana do analizy określonych słów kluczowych lub kampanii strategicznych. utm_campaign=spring_sale
    utm_source Tak Źródło kampanii używane do identyfikowania wyszukiwarki, newslettera lub innego źródła. utm_source=google
    utm_medium Tak Medium kampanii – służy do identyfikowania medium, np. e-mail lub koszt kliknięcia (CPC). utm_medium=cpc
    utm_term Nie Hasło kampanii; używane w płatnych wynikach wyszukiwania do podawania słów kluczowych do reklam utm_term=running+shoes
    utm_content Nie Treść kampanii; używana do testów A/B i reklam kierowanych na treść do rozróżniania reklam lub linków prowadzących do tego samego adresu URL utm_content=logolink
    utm_content=textlink