Ten dokument jest przeznaczony dla deweloperów aplikacji mobilnych i zawiera informacje o tym, jak za pomocą Google Analytics mierzyć interakcje użytkowników i uzyskiwać odpowiedzi na pytania o korzystanie z aplikacji.
Wstęp
Google Analytics dla aplikacji mobilnych to platforma do pomiaru interakcji użytkowników, która pozwala lepiej zrozumieć i zoptymalizować zaangażowanie użytkowników w aplikację.
Domyślna implementacja Google Analytics automatycznie udostępnia te informacje o Twojej aplikacji:
- liczbę użytkowników i sesji,
- Czas trwania sesji
- Systemy operacyjne
- Modele urządzeń
- Region
Z tego przewodnika dowiesz się, jak zaimplementować dodatkowe funkcje Google Analytics, aby lepiej zrozumieć użytkowników i ich zachowanie.
Zanim zaczniesz
Zanim zapoznasz się z tym przewodnikiem, by skonfigurować Google Analytics dla aplikacji mobilnych:
- Zainstaluj pakiet SDK w przypadku platformy, na którą kierujesz reklamy:
- Zapoznaj się ze sprawdzonymi metodami konfiguracji Analytics dla aplikacji mobilnych
Przegląd
Łapacz smoków
W tym przewodniku skorzystamy z przykładowej aplikacji, która pomoże Ci wdrożyć dodatkowe funkcje Google Analytics. Aplikacja nazywa się Dragon Catcher i ma następujące cechy gry:
- Na każdym poziomie składają się gracz, smoki, ogrodzony obszar, studnia i drzewa.
- Celem gracza jest złapanie smoków poprzez przesunięcie ich na ogrodzony obszar.
- Gracz może odwiedzać różne obszary poziomu i obiekty, takie jak studnia lub magiczne drzewo.
- Gracz przechodzi na kolejny poziom, gdy złapie wszystkie smoki.
- Gracz rozpoczyna grę na pierwszym poziomie, który nosi nazwę Barren Fields.
Korzystając z Google Analytics, możesz znaleźć odpowiedzi na niektóre pytania o zachowania użytkowników w narzędziu Dragon Catcher:
- Jakie działania wykonują moi użytkownicy? (Wydarzenia)
- Ile użytkownicy wydają na moją aplikację? (e-commerce)
- Czy użytkownicy realizują cele mojej aplikacji? (Cele)
- Jak zachowują się użytkownicy o określonych cechach? (Niestandardowe wymiary lub dane)
- Ile czasu zajmuje użytkownikowi wykonanie zadania? (niestandardowe czasy)
W dalszej części tego dokumentu pokazujemy, jak na te pytania można uzyskać odpowiedź dzięki wdrożeniu funkcji Google Analytics do gry Dragon Catcher.
Jakie działania wykonują moi użytkownicy? (Zdarzenia)
Jeśli chcesz śledzić ważne działania w aplikacji, możesz je opisać za pomocą zdarzeń w Google Analytics. Zdarzenie składa się z 4 parametrów: category
, action
, label
i value
.
Na przykład w grze Dragon Catcher użytkownika, który ratuje smoka lub odwiedza konkretne miejsce na poziomie, chcemy mierzyć za pomocą zdarzeń. Fragment kodu poniżej pokazuje, jak to robić w Google Analytics.
Android SDK
// To determine how many dragons are being rescued, send an event when the // player rescues a dragon. tracker.send(new HitBuilders.EventBuilder() .setCategory("Barren Fields") .setAction("Rescue") .setLabel("Dragon") .setValue(1) .build()); // To determine if players are visiting the magic tree, send an event when the // player is in the vicinity of the magic tree. tracker.send(new HitBuilders.EventBuilder() .setCategory("Barren Fields") .setAction("Visited") .setLabel("Magic Tree") .setValue(1) .build()); // To determine if players are visiting the well, send an event when the player // is in the vicinity of the well. tracker.send(new HitBuilders.EventBuilder() .setCategory("Barren Fields") .setAction("Visited") .setLabel("Well") .setValue(1) .build());
SDK na iOS
// To determine how many dragons are being rescued, send an event when the // player rescues a dragon. [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields" action:@"Rescue" label:@"Dragon" value:@1] build]]; // To determine if players are visiting the magic tree, send an event when the // player is in the vicinity of the magic tree. [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields" action:@"Visited" label:@"Magic Tree" value:@1] build]]; // To determine if players are visiting the well, send an event when the player // is in the vicinity of the well. [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields" action:@"Visited" label:@"Well" value:@1] build]];
Wtyczka GA dla Unity
// To determine how many dragons are being rescued, send an event when the // player rescues a dragon. googleAnalytics.LogEvent("Barren Fields", "Rescue", "Dragon", 1); // To determine if players are visiting the magic tree, send an event when the // player is in the vicinity of the magic tree. googleAnalytics.LogEvent("Barren Fields", "Visited", "Magic Tree", 1); // To determine if players are visiting the well, send an event when the player // is in the vicinity of the well. googleAnalytics.LogEvent("Barren Fields", "Visited", "Well", 1);
Pomiar „osiągnięć” graczy
„Osiągnięcia” zawodników można mierzyć za pomocą zdarzeń w Google Analytics. Aby np. zmierzyć, czy udało się uratować 5 smoków, rejestrowana jest liczba uratowanych przez gracza smoków. Gdy gracz osiągnie próg, do Google Analytics wysyłane jest zdarzenie:
Android SDK
if (numDragonsRescued > 5) { if (!user.hasAchievement(RESCUED_ACHIEVEMENT) { tracker.send(new HitBuilders.EventBuilder() .setCategory("Achievement") .setAction("Unlocked") .setLabel("5 Dragons Rescued") .setValue(1) .build()); } else { tracker.send(new HitBuilders.EventBuilder() .setCategory("Achievement") .setAction("Earned") .setLabel("5 Dragons Rescued") .setValue(1) .build()); } }
SDK na iOS
if (numDragonsRescued > 5) { if (![user hasAchievement:RESCUED_ACHIEVEMENT]) { [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Achievement" action:@"Unlocked" label:@"5 Dragons Rescued" value:@1] build]]; } else { [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Achievement" action:@"Earned" label:@"5 Dragons Rescued" value:@1] build]]; } }
Wtyczka GA dla Unity
if (numDragonsRescued > 5) { if (!user.HasAchievement(RESCUED_ACHIEVEMENT)) { googleAnalytics.LogEvent("Achievement", "Unlocked", "5 Dragons Rescued", 1); } else { googleAnalytics.LogEvent("Achievement", "Earned", "5 Dragons Rescued", 1); } }
Przewodniki dla programistów dotyczące wydarzeń
- Śledzenie zdarzeń – pakiet SDK na Androida
- Śledzenie zdarzeń – pakiet SDK na iOS
- Zdarzenia – wtyczka Google Analytics do Unity
Raportowanie zdarzeń
Dane zdarzeń są dostępne w:
- w interfejsie internetowym po kliknięciu Zachowanie >> Zdarzenia >> Najczęstsze zdarzenia.
- Raporty niestandardowe
- Interfejs API podstawowego raportowania
Ile użytkownicy wydają w mojej aplikacji? (Ulepszone e-commerce)
Jeśli chcesz mierzyć zakupy w aplikacji dokonywane przez użytkowników, możesz użyć śledzenia e-commerce do śledzenia zakupów i poznawania związanych z nimi skuteczności produktów oraz zachowań użytkowników. Śledzenie e-commerce może służyć do pomiaru zakupu określonego produktu lub wirtualnej waluty.
Na przykład w aplikacji Dragon Catcher, aby mierzyć liczbę zakupów niektórych produktów, dane transakcji są wysyłane do Google Analytics ze zdarzeniem:
Android SDK
Product product = new Product() .setName("Dragon Food") .setPrice(40.00); ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE) .setTransactionId("T12345"); // Add the transaction data to the event. HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .setCategory("In-Game Store") .setAction("Purchase") .addProduct(product) .setProductAction(productAction); // Send the transaction data with the event. tracker.send(builder.build());
SDK na iOS
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init]; [product setName:@"Dragon Food"]; [product setPrice:@40.00]; GAIEcommerceProductAction *productAction = [[GAIEcommerceProductAction alloc] init]; [productAction setAction:kGAIPAPurchase]; [productAction setTransactionId:@"T12345"]; GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"In-Game Store" action:@"Purchase" label:nil value:nil]; // Add the transaction data to the event. [builder setProductAction:productAction]; [builder addProduct:product]; // Send the transaction data with the event. [tracker send:[builder build]];
Wtyczka GA dla Unity
// Note: Using Android SDK v3 and standard Ecommerce tracking. googleAnalytics.LogItem("T12345", "Dragon Food", "Food_SKU", "Items", 40.00, 1); googleAnalytics.LogTransaction("T12345", "In-Game Store", 40.00, 0.00, 0.00);
Jeśli użytkownik kupił wirtualną walutę, zalecamy pomiar wymiany rzeczywistych pieniędzy podczas wysyłania danych transakcji do Google Analytics. Gdy użytkownik wydaje wirtualną walutę, aby kupować produkty, zmierz tę wartość za pomocą zdarzeń. Na przykład:
Android SDK
/** * When the user purchases the virtual currency (Gems) measure the transaction * using enhanced ecommerce. */ Product product = new Product() .setName("2500 Gems") .setPrice(5.99); ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE) .setTransactionId("T67890"); // Add the transaction to the screenview. HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addProduct(product) .setProductAction(productAction); // Send the transaction with the screenview. tracker.setScreenName("In-Game Store"); tracker.send(builder.build()); /** * When the user purchases an item using the virtual currency (Gems) send an * event to measure this in Google Analytics. */ HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .setCategory("In-Game Store") .setAction("Purchase") .setLabel("Sword") .setValue(35); tracker.send(builder.build());
SDK na iOS
/** * When the user purchases the virtual currency (Gems) measure the transaction * using enhanced ecommerce. */ GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init]; [product setName:@"2500 Gems"]; [product setPrice:@5.99]; GAIEcommerceProductAction *productAction = [[GAIEcommerceProductAction alloc] init]; [productAction setAction:kGAIPAPurchase]; [productAction setTransactionId:@"T67890"]; GAIDictionaryBuilder *viewBuilder = [GAIDictionaryBuilder createScreenView]; // Add the transaction data to the screenview. [viewBuilder setProductAction:productAction]; [viewBuilder addProduct:product]; // Send the transaction with the screenview. [tracker set:kGAIScreenName value:@"In-Game Store"]; [tracker send:[viewBuilder build]]; /** * When the user purchases an item using the virtual currency (Gems) send an * event to measure this in Google Analytics. */ GAIDictionaryBuilder *eventBuilder = [GAIDictionaryBuilder createEventWithCategory:@"In-Game Store" action:@"Purchase" label:@"Sword" value:@35]; [tracker send:[eventBuilder build]];
Wtyczka GA dla Unity
// Note: Using Android SDK v3 and standard Ecommerce tracking. /** * When the user purchases the virtual currency (Gems) measure the transaction * using enhanced ecommerce. */ googleAnalytics.LogItem("T12345", "2500 Gems", "GEM2500_SKU", "Items", 5.99, 1); googleAnalytics.LogTransaction("T12345", "In-Game Store", 5.99, 0.00, 0.00); /** * When the user purchases an item using the virtual currency (Gems) send an * event to measure this in Google Analytics. */ googleAnalytics.LogEvent("In-Game Store", "Purchase", "Sword", 35);
Przewodniki dla programistów dotyczące Ulepszonego e-commerce
- Śledzenie ulepszonego e-commerce – pakiet SDK na Androida
- Śledzenie Ulepszonego e-commerce – pakiet SDK na iOS
- E-commerce – wtyczka Google Analytics do Unity
Raportowanie Ulepszonego e-commerce
Dane e-commerce są dostępne w:
Czy użytkownicy realizują cele mojej aplikacji? (Cele)
Jeśli masz określone cele dotyczące aplikacji, które użytkownicy mają osiągnąć, możesz ustalić i mierzyć te cele za pomocą celów w Google Analytics. Celem może być np. osiągnięcie przez użytkownika określonego poziomu w grze lub zakup produktu. Więcej informacji o tym, jak działają cele, znajdziesz w artykule Cele (Centrum pomocy).
W grze Dragon Catcher możesz skonfigurować cel, aby mierzyć zakupy w aplikacji, jeśli w przypadku każdego zakupu do Google Analytics jest wysyłane zdarzenie. Cel można określić w ustawieniach administratora interfejsu internetowego bez konieczności pisania dodatkowego kodu, korzystając z następujących parametrów:
- Typ celu (równa się): Zdarzenie
- Kategoria (równa się): Sklep w grach
- Działanie (równa się): Zakup
- Użyj wartości zdarzenia jako wartości celu podczas konwersji: Tak.
Raportowanie celów
Dane celów są dostępne w następujących językach:
- w interfejsie internetowym, klikając Konwersje >> Cele >> Przegląd.
- Raporty niestandardowe
- Interfejs API podstawowego raportowania
Jak zachowują się użytkownicy o określonych cechach? (Niestandardowe wymiary i dane)
Jeśli chcesz śledzić użytkowników z określonymi atrybutami, cechami lub metadanymi, możesz użyć wymiarów niestandardowych, by przesyłać tego rodzaju dane do Google Analytics i do analizy. Więcej informacji o działaniu wymiarów niestandardowych znajdziesz w dokumentacji funkcji niestandardowych wymiarów i danych.
W narzędziu Dragon Catcher możesz np. sprawdzić odsetek użytkowników na pierwszym, drugim poziomie itd. wymiar niestandardowy można ustawić na bieżącym poziomie użytkownika i przesłać do Google Analytics. Kroki:
- Utwórz wymiar niestandardowy o zakresie
User
. Używany jest zakresUser
, ponieważ ta wartość powinna być taka sama we wszystkich sesjach użytkownika. Więcej informacji znajdziesz w artykule Konfigurowanie i edytowanie wymiarów niestandardowych (Centrum pomocy). - Aktualizuj wartość wymiaru niestandardowego, gdy zmieni się poziom użytkownika.
Poniższy fragment ilustruje, jak zaktualizować stan użytkownika w Google Analytics, gdy indeks wymiaru niestandardowego na poziomie użytkownika to 1
, a poziom użytkownika zmieniono na Barren Fields
:
Android SDK
// Set the user level custom dimension when sending a hit to Google Analytics // such as a screenview or event. tracker.setScreenName("BarrenFields"); tracker.send(new HitBuilders.ScreenViewBuilder() .setCustomDimension(1, "Barren Fields") .build() );
SDK na iOS
// Set the user level custom dimension when sending a hit to Google Analytics // such as a screenview or event. [tracker set:kGAIScreenName value:@"BarrenFields"]; [tracker send:[[[GAIDictionaryBuilder createScreenView] set:@"Barren Fields" forKey:[GAIFields customDimensionForIndex:1]] build]];
Wtyczka GA dla Unity
// Set the user level custom dimension when sending a hit to Google Analytics // such as a screenview or event. googleAnalytics.LogScreen(new AppViewHitBuilder() .SetScreenName("BarrenFields").SetCustomDimension(1, "Barren Fields"));
Przewodniki dla programistów dotyczące wymiarów i danych niestandardowych
- Wymiary i dane niestandardowe – pakiet SDK na Androida
- Niestandardowe wymiary i dane – pakiet SDK na iOS
- Niestandardowe wymiary i dane – wtyczka Google Analytics do Unity
Raportowanie wymiarów i danych niestandardowych
Wymiary niestandardowe można uwzględniać i stosować jako segmenty w tych celach:
- Większość standardowych raportów w interfejsie internetowym
- Raporty niestandardowe
- Interfejs API podstawowego raportowania
Zastosowanie wymiaru niestandardowego jako segmentu pozwoli Ci analizować użytkowników, którzy obecnie znajdują się na określonym poziomie w grze.
Ile czasu zajmuje użytkownikowi wykonanie zadania? (Niestandardowe czasy)
Jeśli chcesz się dowiedzieć, ile czasu zajmuje wykonanie pewnych czynności w aplikacji, możesz wykorzystać w Google Analytics pomiary czasu działań użytkownika. Czasy użytkowników są podobne do zdarzeń, ale są zależne od czasu i mogą obejmować
category
, value
, name (variable)
i label
. Więcej informacji o czasie działań użytkownika znajdziesz w artykule Szybkość witryny – informacje.
Na przykład w narzędziu Dragon Catcher, aby zmierzyć, ile czasu zajmuje użytkownikowi uratowanie pierwszego smoka, możesz wysłać:
Android SDK
// Build and send a timing hit. tracker.send(new HitBuilders.TimingBuilder() .setCategory("Barren Fields") .setValue(45000) // 45 seconds. .setVariable("First Rescue") .setLabel("Dragon") .build());
SDK na iOS
[tracker send:[[GAIDictionaryBuilder createTimingWithCategory:@"Barren Fields" interval:@45000 // 45 seconds. name:@"First Rescue" label:@"Dragon"] build]];
Wtyczka GA dla Unity
// Build and send a timing hit. googleAnalytics.LogTiming("Barren Fields",45000,"First Rescue","Dragon");
Przewodniki dla programistów dotyczące niestandardowych czasów
- Czas działań użytkownika – pakiet SDK na Androida
- Czas działań użytkownika – pakiet SDK na iOS
- Czas działań użytkownika – wtyczka GA dla Unity
Raporty o niestandardowych czasach
Dane o niestandardowych terminach są dostępne w tych miejscach:
- w sekcji Zachowanie > Szybkość aplikacji.
- Raporty niestandardowe
- Interfejs API podstawowego raportowania
Przydatne materiały
- Akademia Analytics – doskonal swoje umiejętności w zakresie Analytics dzięki bezpłatnym kursom online obejmującym podstawy analityki aplikacji mobilnych.
- Interfejsy API i pakiety SDK gromadzenia danych – poznaj wszystkie sposoby wysyłania danych do Google Analytics