2015-01-28 8 views
7

Ich folgte this guide, um Google Analytics in meiner Android App zu implementieren. Ich habe Probleme, das Dokument zu verstehen.In Google Analytics V4, welchen Bildschirmnamen soll ich senden?

In dem Dokument heißt es eine XML-Datei mit diesem als Inhalt zu erstellen:

<screenName name="com.mycompany.myapp.MainActivity"> 
     SomeApp MainActivity 
</screenName> 

und sendet die Bildschirmansicht, ich habe dies zu tun:

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(TrackerName.APP_TRACKER); 
t.setScreenName(screenName); 
t.send(new HitBuilders.AppViewBuilder().build()); 

Aber ich bin unsicher, was das screenName sein sollte. Ist es der name Wert (com.mycompany.myapp.MainActivity) oder der screenName Wert (SomeApp MainActivity)?

Antwort

0

Legen Sie einfach einen Tag für den Namen des aktuellen Bildschirms (Ansicht) in String fest. Es wird verwendet, um die Bildschirme zu verfolgen, die von den Benutzern angezeigt werden.

+0

Es scheint so. Als ich versucht habe, 'com.mycompany.myapp.SomeActivity' zu senden, hat es die gleiche Zeichenfolge im Dashboard gemeldet. – alxcyl

13

Die von Ihnen beschriebene XML-Konfiguration wird immer dann verwendet, wenn die automatische Aktivitätsverfolgung aktiviert ist. Diese Verfolgung meldet automatisch eine neue Bildschirmansicht, sobald eine Aktivität gestartet wird, und erspart Ihnen die manuelle Auslösung von Bildschirmansichtsereignissen in Ihrem Code.

Um die automatische Activity Tracking zu aktivieren, können Sie die ga_autoActivityTracking boolean auf true gesetzt in Ihrem Tracker xml Konfiguration:

<!-- Enable automatic Activity measurement --> 
<bool name="ga_autoActivityTracking">true</bool> 

standardmäßig das automatische Reporting-Tool Ihre Aktivitätsklasse Namen als gemeldete Bildschirmnamen verwenden (zB com.mycompany.myapp.MainActivity). Diese Klassennamen sind oft lang und schwer zu lesen, daher erlaubt Google uns, den gemeldeten Bildschirmnamen für jede Aktivität anzupassen. Das ist, was dieser Teil Ihrer Frage tut:

<screenName name="com.mycompany.myapp.MainActivity"> 
    SomeApp MainActivity 
</screenName> 

Mit dieser Konfiguration Auto Activity Tracking die Zeichenfolge „SomeApp MainActivity“ anstelle von „com.mycompany.myapp.MainActivity“ verwenden würde, wenn automatisch Bildschirmansichten Berichterstattung für die Aktivität.

Es ist wichtig zu beachten, dass wenn Sie nicht mit automatischer Aktivitätsverfolgung sind, wird jede Konfiguration des Bildschirmnamens im XML-Tracker ignoriert. In diesem Fall müssen Sie den Bildschirmnamen jedes Mal angeben, wenn Sie ein Bildschirmansichtsereignis programmgesteuert auslösen. Das ist, was in Ihrem Code Beispiel geschieht:

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(TrackerName.APP_TRACKER); 
t.setScreenName(screenName); 
t.send(new HitBuilders.AppViewBuilder().build()); 

Der Bildschirm Name Setup in Ihrer XML-Konfiguration wird in diesem Code nicht verwendet werden, weil es nicht Teil des Auto-Activity Tracking ist. Stattdessen müssen Sie den Bildschirmnamen manuell auf dem Tracker festlegen, bevor Sie die Bildschirmansicht senden. Dies ist flexibler als die automatische Aktivitätsverfolgung. In einer fragmentlastigen App kann die Navigation beispielsweise eher über Fragmenttransaktionen als über Aktivitätsänderungen erfolgen. In diesem Szenario würde das Tracking von Aktivitätsänderungen allein nicht jede Bildschirmänderung in Ihrer App entsprechend melden. Die automatische Aktivitätsverfolgung soll weniger Overhead als das manuelle Senden von Bildschirmansichten sein, aber ich finde es unflexibel und fehleranfällig (Sie müssen <screenName> Einträge jedes Mal, wenn eine neue Aktivität eingeführt wird, manuell zu Ihrem XML hinzufügen, und es ist sehr leicht zu vergessen).

+1

nette Erklärung – Gattsu

Verwandte Themen