Mit dem Google Analytics for Mobile Apps SDK for iOS können Sie Google Analytics ganz einfach in iOS-basierte Apps implementieren. In diesem Dokument wird beschrieben, wie Sie das SDK in Ihre Apps einbinden.
SDK – Übersicht
Dieses SDK verwendet ein Tracking-Modell, das entwickelt wurde, um Nutzer auf herkömmliche Websites zu führen und Interaktionen mit Widgets auf herkömmlichen Webseiten zu erfassen. Daher entsprechen die unten verwendeten Begriffe dem herkömmlichen Website-Tracking-Modell und werden mobilen Apps zugeordnet. Du solltest mit Analytics-Tracking vertraut sein, damit du weißt, wie dieses SDK funktioniert.
Mit dem Mobile Tracking SDK können Sie Ihre Telefonanwendungen mit den folgenden Analytics-Interaktionstypen erfassen:
- Tracking von Seitenaufrufen
- Ein Seitenaufruf ist eine Standardmethode zum Messen des Trafficvolumens zu einer herkömmlichen Website. Da mobile Apps keine HTML-Seiten enthalten, müssen Sie festlegen, wann und wie oft eine Seitenaufrufanfrage ausgelöst werden soll. Da Anfragen zu Seitenaufrufen dazu dienen, Berichte zu Verzeichnisstrukturen zu erstellen, solltest du ihnen aussagekräftige Namen geben, damit die Namen der Seitenpfade in den Analytics-Berichten zu Inhalten berücksichtigt werden. Die von Ihnen ausgewählten Namen werden in Ihren Analytics-Berichten als Seitenpfade ausgefüllt, obwohl es sich in Wirklichkeit nicht um HTML-Seiten handelt. Sie können dies jedoch zu Ihrem Vorteil nutzen, indem Sie Pfade strukturieren, um zusätzliche Gruppierungen für Ihre Aufrufe bereitzustellen.
- Ereignis-Tracking
- In Analytics sollen Ereignisse die Nutzerinteraktionen auf Webseitenelemente von Seitenaufrufanfragen unterscheiden. Mit der Ereignis-Tracking-Funktion in Google Analytics kannst du zusätzliche Aufrufe tätigen, die im Bereich „Ereignis-Tracking“ der Analytics-Benutzeroberfläche für Berichte angezeigt werden. Ereignisse werden nach Kategorien gruppiert und können auch Labels pro Ereignis verwenden, was Flexibilität bei der Berichterstellung bietet. So kann beispielsweise eine Multimedia-App die Aktionen play/stop/pause für die Kategorie video haben und für jeden Videonamen ein Label zuweisen. In den Google Analytics-Berichten werden dann Ereignisse für alle Ereignisse zusammengefasst, die mit der Kategorie video gekennzeichnet sind. Weitere Informationen zum Ereignis-Tracking finden Sie im Leitfaden zum Ereignis-Tracking.
- E-Commerce-Tracking
- Mit der E-Commerce-Tracking-Funktion kannst du Einkaufswagentransaktionen und In-App-Käufe erfassen.
Rufen Sie zum Erfassen einer Transaktion die Methode
addTransaction
auf, um eine Gesamttransaktion zu erstellen, sowie die MethodeaddItem
für jedes Produkt im Einkaufswagen. Nachdem die Daten erfasst wurden, können sie im Bereich „E-Commerce-Berichte“ der Google Analytics-Benutzeroberfläche angesehen werden. Weitere Informationen zum E-Commerce-Tracking findest du im Leitfaden zu E-Commerce-Tracking. - Benutzerdefinierte Variablen
- Benutzerdefinierte Variablen sind Name/Wert-Paar-Tags, die Sie zur Optimierung des Google Analytics-Trackings in Ihren Tracking-Code einfügen können. Weitere Informationen zur Verwendung von benutzerdefinierten Variablen findest du im Leitfaden zu benutzerdefinierten Variablen.
- NoThumb-Support
-
Das SDK für das iPhone enthält jetzt sowohl eine NoThumb-Version der Bibliothek als auch die Thumb-Standardversion. Wenn du die NoThumb-Version der Mediathek verwenden möchtest, verwende die Datei
libGoogleAnalytics_NoThumb.a
anstelle der DateilibGoogleAnalytics.a
.
Erste Schritte
Voraussetzungen
Wenn Sie Tracking-Funktionen von Google Analytics in Ihre iOS-App einbinden möchten, benötigen Sie Folgendes:
- iOS Developer SDK (Xcode 3.1 oder höher unter Mac OS X 10.5.3 oder höher erforderlich)
- Google Analytics Mobile SDK iOS SDK
Einrichtung
- Öffnen Sie Xcode und erstellen Sie ein neues iPhone-Betriebssystemprojekt.
- Ziehen Sie
GANTracker.h
undlibGoogleAnalytics.a
aus dem SDK-Bibliotheksverzeichnis in Ihr neues Projekt. - Fügen Sie das
CFNetwork
-Framework in Ihr Projekt ein und verknüpfen Sie es mitlibsqlite3.0.dylib
.
Das Google Analytics for Mobile Apps SDK sollte mit jedem iPhone oder iPod Touch 2.0 oder höher funktionieren. Die Bibliothek ist mit allen iOS-Versionen kompatibel, die native Anwendungen unterstützen.
Im SDK ist eine Beispielanwendung enthalten, die zeigt, wie Ihr Projekt nach erfolgreicher Einrichtung aussehen sollte. Sie können sie als Vorlage für Ihre eigenen in Analytics integrierten Apps verwenden.
SDK verwenden
Bevor Sie das SDK verwenden können, müssen Sie zuerst unter www.google.com/analytics ein kostenloses Konto erstellen und in diesem Konto eine neue Web-Property mit einer fiktiven, aber beschreibenden Website-URL erstellen (z.B. http://mymobileapp.mywebsite.com
). Notieren Sie sich oder erstellen Sie eine Kopie der Web-Property-ID, die für die neu erstellte Property generiert wurde.
Sie müssen Ihren Nutzern entweder in der App selbst oder in Ihren Nutzungsbedingungen angeben, dass Sie sich das Recht vorbehalten, anonym die Aktivitäten eines Nutzers in Ihrer App nachzuverfolgen und zu melden. Ihre Verwendung des Google Analytics SDK unterliegt außerdem den Google Analytics-Nutzungsbedingungen, denen Sie bei der Registrierung für ein Konto zustimmen müssen.
Beispiele und Best Practices
Beispielcode und Best Practices finden Sie unter code.google.com im Projekt analytics-api-samples.
EasyTracker-Bibliothek
Eine EasyTracker-Bibliothek ist verfügbar. Es bietet auf App- und UI-Controller-Ebene Tracking ohne Programmieraufwand. Sie finden sie im Abschnitt Downloads des Projekts analytics-api-samples.
Der Tracker wird gestartet
Starte den Tracker, indem du die startTrackerWithAccountID
-Methode auf dem Tracker-Singleton aufrufst, der über [GANTracker sharedTracker]
abgerufen wurde. Es ist oft praktischer, diese Methode direkt in der Methode applicationDidFinishLaunching
des Bevollmächtigten Ihrer App aufzurufen. Übergeben Sie die Web-Property-ID, den erforderlichen Weiterleitungszeitraum und optional den Bevollmächtigten. Beispiel:
#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
Seitenaufrufe und Ereignisse erfassen
Das Tracking von Seitenaufrufen und Ereignissen ist unkompliziert: Sie rufen einfach jedes Mal trackPageView
des Tracker-Objekts auf, wenn Sie einen Seitenaufruf auslösen möchten. Rufe trackEvent
auf, um ein Ereignis aufzuzeichnen. Weitere Informationen zu Seitenaufrufen und Ereignissen finden Sie oben unter SDK-Übersicht.
Benutzerdefinierte Variablen verwenden
Benutzerdefinierte Variablen lassen sich ebenfalls ganz einfach hinzufügen: Dazu verwenden Sie einfach die vom Mobile SDK bereitgestellte Methode setCustomVariableAtIndex
. Sie sollten vorausplanen, damit die einzelnen benutzerdefinierten Variablen indexiert werden. Vorhandene Variablen werden also nicht überschrieben. Weitere Informationen zu benutzerdefinierten Variablen finden Sie im Leitfaden zu benutzerdefinierten Variablen. Beachten Sie, dass die Methode setCustomVariableAtIndex
selbst keine Daten sendet. Vielmehr werden die Daten zusammen mit dem nächsten erfassten Seitenaufruf oder Ereignis gesendet. Sie müssen setCustomVariableAtIndex
aufrufen, bevor Sie einen Seitenaufruf oder ein Ereignis erfassen. Der Standardumfang von benutzerdefinierten Variablen ist seitenbezogen.
E-Commerce-Tracking verwenden
Es gibt vier Methoden, mit denen Sie E-Commerce-Tracking in Ihrer Anwendung aktivieren können:
addTransaction
addItem
trackTransactions
clearTransactions
Durch das Aufrufen von addTransaction
und addItem
wird die Transaktion oder das Element einem internen E-Commerce-Zwischenspeicher hinzugefügt, dem weitere Elemente und Transaktionen hinzugefügt werden können. Nur wenn trackTransactions
aufgerufen wird, werden die Transaktionen und Artikel an den Disziplin gesendet und in die Warteschlange gestellt.
Zum Löschen des Zwischenspeichers können Sie die Methode clearTransactions
aufrufen.
Hinweis: Es werden keine Transaktionen zurückgerufen, die zuvor an den Dispatcher gesendet wurden, noch Transaktionen, die bereits von Google Analytics erfasst wurden.
Den folgenden Beispielcode können Sie verwenden.
/** * 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]; } }
Weitere Informationen zum E-Commerce
IP-Anonymisierung
Wenn Sie die IP-Informationen von Nutzern anonymisieren möchten, setzen Sie die Property anonymizeIp
auf YES.
Dadurch wird Google Analytics angewiesen, die vom SDK gesendeten Informationen zu anonymisieren. Dabei wird das letzte Oktett der IP-Adresse vor dem Speichern entfernt.
Hier ein Beispiel für die Einstellung:
[[GANTracker sharedTracker] setAnonymizeIp:YES];
Sie können anonymizeIp
jederzeit festlegen.
Abtastrate festlegen
Sie können die Abtastrate mit der Property sampleRate
festlegen.
Wenn in Ihrer Anwendung viele Analytics-Zugriffe generiert werden, kann die Festlegung der Abtastrate dazu führen, dass Ihre Berichte nicht anhand von Stichprobendaten erstellt werden. Die Stichprobenerhebung wird konsequent bei einzelnen Nutzern durchgeführt. Daher sind die Trends und die Berichte einheitlich, wenn die Abtastrate aktiviert ist.
Der Parameter sampleRate
ist eine NSUGanzzahl und kann einen Wert zwischen 0 und 100 haben. In diesem Beispiel wird die sampleRate
auf 95 % reduziert:
[[GANTracker sharedTracker] setSampleRate:95];
Bei einer Rate von 0 wird die Treffergenerierung deaktiviert, bei einer Rate von 100 werden alle Daten an Google Analytics gesendet.
Am besten legen Sie sampleRate
vor dem Aufruf von Tracking-Methoden fest.
Weitere Informationen zur Stichprobenerhebung finden Sie im Leitfaden zu Stichprobenkonzepten.
Batch-Treffer
Wir empfehlen Ihnen, Ihre Tracking-Anfragen in Batches zusammenzufassen, um die Verbindung und den Akkuverbrauch zu verringern. Sie können dispatch
für das Tracking-Objekt jederzeit aufrufen, wenn Sie eine Batchanfrage stellen möchten – entweder manuell oder in bestimmten Zeitintervallen.
Bekannte Probleme
dispatch
in den folgenden Situationen aufzurufen:
-
In der Methode
applicationWillTerminate
-
Im
applicationDidEnterBackground
-
Vor dem Anruf bei
stopTracker
dispatchSynchronous:
.
Tracking-Kampagnen
Kampagnen-Tracking
Mit Version 1.3 des Google Analytics SDK for iOS können Sie jetzt Kampagnenverweise erfassen. Wenn in Ihrer Anwendung beispielsweise ein benutzerdefiniertes URL-Schema implementiert ist, können Sie eine URL erstellen, die Abfrageparameter für Kampagnen enthält. Wenn Ihre Anwendung als Antwort auf eine solche URL gestartet wird, können Sie die Abfrageparameter abrufen und an „setReferrer“ übergeben, damit die Informationen in Google Analytics gespeichert werden.
Verwenden Sie zum Festlegen der Verweisinformationen für die Kampagne die Methode setReferrer
:
[[GANTracker sharedTracker] setReferrer:referrer withError:&error];
Für diese Funktion gelten zwei Einschränkungen. Sie müssen zuerst startTrackerWithAccountID
aufrufen, bevor Sie setReferrer
aufrufen. Dieser Schritt ist erforderlich, da die von Google Analytics verwendete SQLite-Datenbank nicht vor dem Aufruf von startTrackerWithAccountID
eingerichtet wird und setReferrer
diese Datenbank benötigt. Wenn Sie startTrackerWithAccountID
nicht aufgerufen haben, wird eine Fehlermeldung zurückgegeben.
Die zweite Einschränkung besteht darin, dass der an setReferrer
übergebene Verweisstring ein bestimmtes Format haben muss.
Er muss die Form eines URL-Parametersatzes haben und mindestens einen gclid-Parameter oder einen der Parameter „utm_campaign“, „utm_medium“ und „utm_source“ enthalten. Im letzteren Fall können auch die Parameter „utm_term“ und „utm_content“ enthalten sein.
Der Parameter „gclid“ ist Teil der automatischen Tag-Kennzeichnung. Damit werden Google Analytics automatisch mit Google Ads verknüpft. Ein Beispiel für einen Kampagnenverweis mit dem automatischen Tagging könnte so aussehen:
referrer = @“gclid=gclidValue”;
Der String für den manuellen Kampagnenverweis könnte so aussehen:
referrer = @“utm_campaign=campaign&utm_source=source&utm_medium=medium&utm_term=term&utm_content=content”;
Wenn Sie einen ungültigen Verweis-URL-String an setReferrer
übergeben, werden die Verweisinformationen nicht geändert und Sie erhalten den Rückgabewert „false“. Der Rückgabewert "true" gibt an, dass die Verweis-URL aktualisiert wurde, und wird jedem Treffer in Zukunft hinzugefügt.
Außerdem erhalten Sie eine Fehlermeldung, die Sie sich ansehen können, um herauszufinden, was im Falle eines Fehlers aufgetreten ist.
Wenn Sie setReferrer aufrufen, wird eine neue Sitzung gestartet und „true“ zurückgegeben.
Parameter für Empfehlungslinks
Parameter | Required | Beschreibung | Beispiel(e) |
---|---|---|---|
utm_campaign |
Ja | Kampagnenname; wird für die Keyword-Analyse verwendet, um eine bestimmte Produktwerbung oder strategische Kampagne zu identifizieren | utm_campaign=spring_sale |
utm_source |
Ja | Kampagnenquelle; dient zur Identifizierung einer Suchmaschine, eines Newsletters oder einer anderen Quelle | utm_source=google |
utm_medium |
Ja | Kampagnenmedium; wird verwendet, um ein Medium wie E-Mail oder Cost-per-Click (CPC) zu identifizieren | utm_medium=cpc |
utm_term |
Nein | Kampagnenbegriff; wird zusammen mit der bezahlten Suche verwendet, um die Keywords für Anzeigen bereitzustellen | utm_term=running+shoes |
utm_content |
Nein | Kampagneninhalte; werden für A/B-Tests und inhaltsbezogene Anzeigen verwendet, um Anzeigen oder Links zu unterscheiden, die auf dieselbe URL verweisen |
utm_content=logolink
utm_content=textlink
|