Mit dem Google Analytics for Mobile Apps SDK for Android kann Google Analytics ganz einfach in Android-basierten Anwendungen implementiert werden. In diesem Dokument wird beschrieben, wie Sie das SDK in Ihre Apps einbinden.
SDK – Übersicht
Dieses SDK verwendet ein Tracking-Modell, mit dem Nutzer auf herkömmliche Websites gelangen und mit Widgets auf herkömmlichen Webseiten interagieren können. Aus diesem Grund beziehen sich die unten verwendeten Begriffe auf das herkömmliche Website-Tracking-Modell und werden auf mobile Tracking-Apps angewendet. Sie sollten mit dem Tracking in Analytics vertraut sein, um die Funktionsweise dieses SDK zu verstehen.
Mit dem Mobile Tracking SDK können Sie Ihre Smartphone-Apps mit den folgenden Analytics-Interaktionstypen erfassen:
- Seitenaufruf-Tracking
- Ein Seitenaufruf ist eine Standardmethode zur Messung der Anzahl der Zugriffe auf eine herkömmliche Website. Da mobile Apps keine HTML-Seiten enthalten, musst du festlegen, wann (und wie oft) eine Seitenaufruf-Anfrage ausgelöst werden soll. Da bei Seitenaufrufanfragen Berichte zu Verzeichnisstrukturen erstellt werden, sollten Sie den Anfragen aussagekräftige Namen geben, damit Sie die Seitenpfadbenennung in den Contentberichten in Analytics nutzen können. Die von Ihnen gewählten Namen werden in Ihren Analytics-Berichten als Seitenpfade dargestellt, auch wenn es sich dabei nicht um HTML-Seiten handelt. Sie können dies jedoch zu Ihrem Vorteil nutzen, indem Sie Pfade so strukturieren, dass Ihre Aufrufe zusätzliche Gruppierungen enthalten.
- Ereignis-Tracking
- In Analytics dienen Ereignisse dazu, Nutzerinteraktionen mit Webseitenelementen unabhängig von Seitenaufrufanfragen zu erfassen. Mit der Funktion „Ereignis-Tracking“ von Google Analytics können Sie zusätzliche Aufrufe ausführen, die im Bereich „Ereignis-Tracking“ der Analytics-Benutzeroberfläche für Berichte aufgeführt werden. Ereignisse werden anhand von Kategorien gruppiert und können auch ereignisspezifische Labels verwenden, um Flexibilität bei der Berichterstellung zu ermöglichen. Eine Multimedia-App könnte beispielsweise die Aktionen play/stop/pause für die Kategorie video haben und jedem Videonamen ein Label zuweisen. In den Google Analytics-Berichten werden dann Ereignisse für alle Ereignisse mit der Kategorie Video zusammengefasst. Weitere Informationen zum Ereignis-Tracking finden Sie im Leitfaden zum Ereignis-Tracking.
- E-Commerce-Tracking
- Mit der E-Commerce-Tracking-Funktion können Sie Einkaufswagentransaktionen und In-App-Käufe erfassen.
Verwende zum Erfassen einer Transaktion die Klasse
Transaction
für die Gesamtkaufinformationen und die KlasseItem
für jedes Produkt im Einkaufswagen. Die erfassten Daten können dann in Google Analytics im Bereich „E-Commerce-Berichte“ aufgerufen werden. Weitere Informationen zum E-Commerce-Tracking finden Sie im Leitfaden zum E-Commerce-Tracking. - Benutzerdefinierte Variablen
- Benutzerdefinierte Variablen sind Tags mit Name/Wert-Paaren, die Sie in Ihren Tracking-Code einfügen können, um das Google Analytics-Tracking zu optimieren. Weitere Informationen zur Verwendung von benutzerdefinierten Variablen finden Sie in der Anleitung zu benutzerdefinierten Variablen.
Erste Schritte
Voraussetzungen
Um die Tracking-Funktionen von Google Analytics in Ihre Android-App zu integrieren, ist Folgendes erforderlich:
- Android Developer SDK (verfügbar für Windows, Mac OS X und Linux)
- Google Analytics for Mobile Apps Android SDK
Einrichtung
- Fügen Sie
libGoogleAnalytics.jar
dem/libs
-Verzeichnis Ihres Projekts hinzu. -
Fügen Sie der Manifestdatei
AndroidManifest.xml
Ihres Projekts die folgenden Berechtigungen hinzu:<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Das SDK enthält eine Beispielanwendung, die zeigt, wie Ihr Projekt bei 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 darin eine neue Web-Property mit einer gefälschten, aber beschreibenden Website-URL erstellen (z.B. http://mymobileapp.mywebsite.com
). Notieren oder kopieren Sie die ID der neu erstellten Property.
Sie müssen Ihre Nutzer entweder in der Anwendung selbst oder in Ihren Nutzungsbedingungen darauf hinweisen, dass Sie sich das Recht vorbehalten, die Aktivitäten eines Nutzers in Ihrer App anonym zu erfassen und zu melden. Die Verwendung des Google Analytics SDK unterliegt außerdem den Nutzungsbedingungen für Google Analytics, denen Sie zustimmen müssen, wenn Sie sich für ein Konto registrieren.
Beispiele und Best Practices
Beispielcode und Best Practices finden Sie auf code.google.com im Projekt analytics-api-sample.
EasyTracker-Bibliothek
Eine EasyTracker-Bibliothek ist verfügbar. Sie ermöglicht Tracking auf Anwendungs- und Aktivitätsebene ohne Entwicklungsaufwand. Sie finden es im Abschnitt Downloads des Projekts analytics-api-sample.
Tracker starten
Rufen Sie den Tracker-Singleton durch Aufrufen von GoogleAnalyticsTracker.getInstance()
ab. Rufen Sie dann die zugehörige startNewSession
-Methode auf und übergeben Sie die Web-Property-ID und die erfassten Aktivitäten. Sie können diese Methode direkt in der onCreate
-Methode Ihrer Aktivität aufrufen, wenn Ihre App nur eine Activity (Aktivität) hat. Beispiel:
package com.google.android.apps.analytics.sample; import com.google.android.apps.analytics.GoogleAnalyticsTracker; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class TestActivity extends Activity { GoogleAnalyticsTracker tracker; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); tracker = GoogleAnalyticsTracker.getInstance(); // Start the tracker in manual dispatch mode... tracker.startNewSession("UA-YOUR-ACCOUNT-HERE", this); // ...alternatively, the tracker can be started with a dispatch interval (in seconds). //tracker.startNewSession("UA-YOUR-ACCOUNT-HERE", 20, this); setContentView(R.layout.main); Button createEventButton = (Button)findViewById(R.id.NewEventButton); createEventButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { tracker.trackEvent( "Clicks", // Category "Button", // Action "clicked", // Label 77); // Value } }); Button createPageButton = (Button)findViewById(R.id.NewPageButton); createPageButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // Add a Custom Variable to this pageview, with name of "Medium" and value "MobileApp" and // scope of session-level. tracker.setCustomVar(1, "Navigation Type", "Button click", 2); // Track a page view. This is probably the best way to track which parts of your application // are being used. // E.g. // tracker.trackPageView("/help"); to track someone looking at the help screen. // tracker.trackPageView("/level2"); to track someone reaching level 2 in a game. // tracker.trackPageView("/uploadScreen"); to track someone using an upload screen. tracker.trackPageView("/testApplicationHomeScreen"); } }); Button quitButton = (Button)findViewById(R.id.QuitButton); quitButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } }); Button dispatchButton = (Button)findViewById(R.id.DispatchButton); dispatchButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // Manually start a dispatch, not needed if the tracker was started with a dispatch // interval. tracker.dispatch(); } }); } @Override protected void onDestroy() { super.onDestroy(); // Stop the tracker when it is no longer needed. tracker.stopSession(); } }
Wenn Ihre Anwendung mehrere Aktivitäten enthält, können Sie die EasyTracker-Bibliothek verwenden, die im Abschnitt Downloads des Projekts analytics-api-sample bereitgestellt wird.
Seitenaufrufe und Ereignisse erfassen
Das Tracking von Seitenaufrufen und Ereignissen ist unkompliziert: Rufen Sie 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 in der SDK-Übersicht.
Benutzerdefinierte Variablen verwenden
Benutzerdefinierte Variablen lassen sich ebenfalls ganz einfach hinzufügen: Verwenden Sie einfach die Methode setCustomVar
aus dem Mobile SDK. Planen Sie daher im Voraus, welchen Indexen die einzelnen benutzerdefinierten Variablen zugeordnet sind, damit Sie keine zuvor vorhandenen Variablen überschreiben. Weitere Informationen zu benutzerdefinierten Variablen finden Sie in der Anleitung zu benutzerdefinierten Variablen. Mit der Methode setCustomVar
werden Daten nicht direkt gesendet. Stattdessen werden die Daten mit dem nächsten erfassten Seitenaufruf oder Ereignis gesendet. Sie müssen setCustomVar
aufrufen, bevor Sie einen Seitenaufruf oder ein Ereignis erfassen. Hinweis: Der Standardbereich von benutzerdefinierten Variablen ist auf Seitenebene.
E-Commerce-Tracking verwenden
Es gibt vier Methoden, um E-Commerce-Tracking in Ihrer Anwendung zu aktivieren:
addTransaction
addItem
trackTransactions
clearTransactions
Durch Aufrufen von addTransaction
und addItem
wird die Transaktion oder das Element einem internen E-Commerce-Zwischenspeicher hinzugefügt, in den weitere Elemente und Transaktionen eingefügt werden können. Nur beim Aufrufen von trackTransactions
werden Transaktionen und Artikel an den Disponenten gesendet und in die Warteschlange zum Senden an Google Analytics gestellt.
Zum Löschen des Zwischenspeichers können Sie die Methode clearTransactions
aufrufen.
Hinweis: Zuvor an den Disponenten gesendete Transaktionen oder bereits von Google Analytics erfasste Transaktionen werden nicht zurückgerufen.
Der folgende Beispielcode kann Ihnen bei den ersten Schritten helfen. Wir gehen davon aus, dass die Methode onPurchaseCompleted
aufgerufen wird, wenn der Kauf bestätigt oder abgelehnt wird.
/** * The purchase was processed. We will track the transaction and its associated line items * now, but only if the purchase has been confirmed. * * @param purchase A PurchaseObject containing all of the transaction information needed to * send the ecommerce hit to Google Analytics. */ public void onPurchaseCompleted(PurchaseObject purchase) { tracker.addTransaction(new Transaction.Builder( purchase.getTransactionId(), purchase.getTotal()) .setStoreName(purchase.getStoreName()) .setTotalTax(purchase.getTotalTax()) .setShippingCost(purchase.getShippingCost()) .build()); for (PurchaseLineItem lineItem : purchase.getLineItems()) { tracker.addItem(new Item.Builder( purchase.getTransactionId(), lineItem.getItemSKU(), lineItem.getItemCost(), lineItem.getQuantity()) .setItemName(lineItem.getItemName()) .setItemCategory(lineItem.getItemCategory()) .build()); } if (purchase.isConfirmed()) { tracker.trackTransactions(); } 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. tracker.clearTransactions(); } }
Weitere Informationen zu E-Commerce finden Sie im Leitfaden zum E-Commerce-Tracking.
IP-Anonymisierung
Verwenden Sie die Methode setAnonymizeIp
, um die IP-Informationen von Nutzern zu anonymisieren.
Dadurch wird Google Analytics angewiesen, die vom SDK gesendeten Informationen zu anonymisieren, indem das letzte Oktett der IP-Adresse vor dem Speichern entfernt wird.
Du kannst jederzeit setAnonymizeIp
anrufen.
Abtastrate festlegen
Sie können die Abtastrate mit der Methode setSampleRate
festlegen.
Falls Ihre Anwendung viele Analytics-Zugriffe generiert, kann das Festlegen der Stichprobenrate verhindern, dass Ihre Berichte mit Stichproben erstellt werden. Die Stichprobenerhebung erfolgt konsistent für einzelne Nutzer, sodass die Trends und Berichte fehlerfrei sind, wenn die Stichprobenrate aktiviert ist.
Die Methode setSampleRate
akzeptiert genau einen int
-Parameter. Gültige Werte für diesen Parameter sind beliebige Ganzzahlen zwischen 0 und 100 (jeweils einschließlich).
Bei einer Rate von 0 wird die Treffergenerierung deaktiviert. Bei einer Rate von 100 werden alle Daten an Google Analytics gesendet.
Am besten rufen Sie vor dem Aufruf von Tracking-Methoden setSampleRate
auf.
Weitere Informationen zur Stichprobenerhebung finden Sie im Leitfaden zu Konzepten für Stichproben.
Treffer im Batch
Um den Aufwand für die Verbindung und den Akku zu sparen, empfehlen wir, die Tracking-Anfragen in einem Batch zusammenzufassen. Sie können dispatch
für das Tracking-Objekt jederzeit aufrufen, wenn Sie eine Batchanfrage stellen möchten, und zwar entweder manuell oder in bestimmten Zeitintervallen.
Bekannte Probleme
Tracking von Kampagnen
Das SDK unterstützt zwei Arten des Kampagnen-Trackings.
– Google Play-Kampagnen-Tracking: Damit können Sie die Installationsempfehlungen über Google Play erfassen.
– Allgemeines Kampagnen-Tracking: Damit können Sie alle Kampagnen erfassen, die Nutzer auf Ihre App verweisen.
Google Play-Kampagnen-Tracking
Die Android-Version 1.6 unterstützt die Verwendung eines referrer
-URL-Parameters in Downloadlinks zu Google Play. Das Google Analytics SDK for Android verwendet diesen Parameter, um automatisch Kampagneninformationen für Ihre App in Google Analytics bereitzustellen. So kann die Quelle der App-Installation erfasst und zukünftigen Seitenaufrufen und Ereignissen zugeordnet werden. So lässt sich beispielsweise die Effektivität einer bestimmten Anzeige für Ihre App beurteilen.
Damit das Verweis-Tracking funktioniert, müssen Sie der Manifestdatei AndroidManifest.xml
Ihres Projekts das folgende Code-Snippet hinzufügen:
<!-- Used for install referrer tracking --> <receiver android:name="com.google.android.apps.analytics.AnalyticsReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver>
Wenn Sie das Google Analytics-Kampagnen-Tracking über Google Play einrichten möchten, verwenden Sie das Tool zur URL-Erstellung unten, um einen Verweislink zu generieren. Verweisen Sie Nutzer über den Link auf Ihre App. Das Analytics SDK parst und zeichnet die Verweisinformationen automatisch auf und fügt sie in Ihren Analytics-Bericht ein.
Um den Empfehlungslink zu generieren, können Sie das Tool zur URL-Erstellung für Google Play-Kampagnen verwenden. Paketname, Kampagnenquelle, Kampagnenmedium und Kampagnenname sind erforderlich. Eine ausführliche Beschreibung der einzelnen Parameter finden Sie in der Tabelle unten.
Allgemeines Kampagnen-Tracking
Mit Version 1.3 des Google Analytics SDK für Android können Sie jetzt Kampagnen für andere Quellen als Google Play erfassen. Wenn Sie beispielsweise wissen möchten, dass Ihre App über einen Link in einer Anzeige gestartet wurde, können Sie Informationen zu Kampagnenverweisen in dem Intent suchen, der den Start Ihrer App ausgelöst hat, und diese Kampagneninformationen in Google Analytics speichern.
Verwenden Sie zum Festlegen der Kampagnenverweisinformationen die setReferrer
-Methode:
tracker.setReferrer(referrer);
Für die Verwendung dieser Funktion gelten zwei Einschränkungen. Sie müssen zuerst startNewSession
aufrufen, bevor Sie setReferrer
aufrufen. Dies ist erforderlich, da die von Google Analytics verwendete SQLite-Datenbank nicht vor dem Aufruf von startNewSession
eingerichtet ist und setReferrer
diese Datenbank benötigt. Wenn Sie startNewSession
noch nicht angerufen haben, erhalten Sie ein IllegalStateException
.
Die zweite Einschränkung besteht darin, dass der an setReferrer
übergebene Verweisstring einem bestimmten Format entsprechen muss.
Er muss in Form einer Gruppe von URL-Parametern vorliegen und mindestens einen „gclid“-Parameter oder „utm_campaign“, „utm_medium“ und „utm_source“ enthalten. Im letzteren Fall können sie auch die Parameter „utm_term“ und „utm_content“ enthalten.
Der Parameter „gclid“ ist Teil der automatischen Tag-Kennzeichnung, bei der Google Analytics automatisch mit Google Ads verknüpft wird. Ein Beispiel für einen Kampagnenverweis mit automatischem 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 falsch formatierten Referrer-String an setReferrer
übergeben, werden die Referrer-URL-Informationen nicht geändert und Sie erhalten den Rückgabewert „false“. Der Rückgabewert „true“ gibt an, dass die Referrer-URL aktualisiert wurde und zukünftig zu jedem Treffer hinzugefügt wird.
Beachten Sie außerdem, dass eine neue Sitzung gestartet wird, wenn Sie "setReferrer" aufrufen und der Wert "true" zurückgibt.
Parameter für Verweislinks
Parameter | Erforderlich | Beschreibung | Beispiel(e) |
---|---|---|---|
utm_campaign |
Ja | Kampagnenname; wird für die Keyword-Analyse verwendet, um eine bestimmte Werbeaktion oder strategische Kampagne zu identifizieren | utm_campaign=spring_sale |
utm_source |
Ja | Kampagnenquelle; zur Identifizierung einer Suchmaschine, eines Newsletters oder einer anderen Quelle | utm_source=google |
utm_medium |
Ja | Kampagnenmedium; zur Identifizierung eines Mediums wie E-Mail oder Cost-per-Click (CPC) | utm_medium=cpc |
utm_term |
Nein | Kampagnenbegriff; wird bei bezahlter Suche verwendet, um die Keywords für Anzeigen bereitzustellen | utm_term=running+shoes |
utm_content |
Nein | Kampagneninhalte; wird 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
|