2014-11-19 7 views
6

Ok, ich war schon immer auf der Suche nach einer Antwort, warum meine Google Play-Kampagnenmessung nicht funktioniert. Ich erhalte keine Daten in meinem Analytics-Konto. Hier ist, was ich habe:Messung der Android-Kampagne funktioniert nicht

Google Play Services-Version 6171000 in mein Projekt importiert und als Referenz hinzugefügt.

Google Play App-Version 5.0.38 auf meinem Testgerät

In meinem res \ xml \ global_tracker.xml Datei Ich habe:

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:tools="https://schemas.android.com/tools" tools:ignore="TypographyDashes"> 

    <integer name="ga_sessionTimeout">300</integer> 
    <string name="ga_trackingId">MY-TRACKING-ID</string> 

    <bool name="ga_debug">true</bool> 
    <!-- Enable automatic activity tracking --> 
    <bool name="ga_autoActivityTracking">false</bool> 

    <!-- Enable automatic exception tracking --> 
    <bool name="ga_reportUncaughtExceptions">true</bool> 

</resources> 

In meinem Manifest habe ich:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

und innerhalb <application> Ich habe:

<!-- Used for Google Play Store Campaign Measurement --> 
<service android:name="com.google.android.gms.analytics.CampaignTrackingService" /> 

<receiver 
    android:name="com.google.android.gms.analytics.CampaignTrackingReceiver" 
    android:exported="true" > 
    <intent-filter> 
     <action android:name="com.android.vending.INSTALL_REFERRER" /> 
    </intent-filter> 
</receiver> 

<meta-data 
    android:name="com.google.android.gms.analytics.globalConfigResource" 
    android:resource="@xml/global_tracker" /> 

Nun habe ich die getTracker-Methode in meiner erweiterten Anwendungsklasse vorgeschlagen, die vom Setup-Dokument für Analytics empfohlen wird, aber ich denke nicht, dass dies nur für das Tracking der App-Downloads erforderlich ist. Bitte korrigieren Sie mich, wenn ich hier falsch liege, und ich werde den Code, den ich dafür habe, auch posten.

Um zu testen, ich

adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n com.my.package/com.google.android.gms.analytics.CampaignTrackingReceiver --es "referrer" "utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign" 

laufen haben versucht, und ich erhalte eine „Broadcast beendet: Ergebnis = 0“ auf meinem Gerät und dann öffne meine app und ich bekomme nichts in den Protokollen über Kampagne. Obwohl ich gelesen habe, dass dies nicht der richtige Weg ist, um V4 zu testen.

Ich habe auch meine App verpackt und in die Beta-Sektion meines Store-Eintrags hochgeladen. Während ich mich in einem meiner Beta-Tester-Accounts angemeldet habe, habe ich in meinem Browser folgendes geöffnet und die App heruntergeladen.

https://play.google.com/store/apps/details?id=com.my.package&referrer=utm_source%3DTestSite%26utm_medium%3DsideBanner%26utm_term%3DTestTerm%26utm_content%3DTestContent%26utm_campaign%3DtestCampaign

Das erwarte ich würde eine Art von Ergebnissen in der Akquisitions-> Google Referral Abschnitt meines Analytics-Konto und etwas mit testCampaign zu tun haben, spielen zu erhalten. Ich sehe nichts in meinem Konto nicht einmal nach 24 Stunden (nicht sicher, ob das noch erforderlich ist, aber ich erinnere mich, dass es früher für GA war).

Wenn jemand von einem Stück weiß, dass ich vermisse oder warum es nicht in meinem Konto erscheinen würde, bitte zeigen Sie mir in die richtige Richtung. Vielen Dank.

EDIT:

Hier ist mein Tracker-Code in meiner erweiterten Anwendungsklasse:

private static final String TRACKER_TAG = "GA Tracker"; 
HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>(); 

public enum TrackerName { 
    APP_TRACKER // Tracker used only in this app. 
} 

synchronized Tracker getTracker(TrackerName trackerEnum) { 
    Log.d(TRACKER_TAG, "Getting GA tracker"); 
    if (!mTrackers.containsKey(trackerEnum)) { 
     Log.d(TRACKER_TAG, "Creating new GA tracker"); 
     GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
     analytics.getLogger().setLogLevel(LogLevel.VERBOSE); 
     Tracker t = analytics.newTracker(R.xml.global_tracker); 
     mTrackers.put(trackerEnum, t); 
    } 
    return mTrackers.get(trackerEnum); 
    } 
+0

"Ich habe die getTracker-Methode in meiner erweiterten Anwendung" Geben Sie Ihren GA-Integrationscode ein. Arbeitet GA auch allgemein? –

+0

Ihr globaler Tracker zeigt den Debug-Modus an, um wahr zu sein, haben Sie ihn in der Version geändert? – CommandSpace

+0

Ich habe es in der Veröffentlichung nicht geändert, aber macht das wirklich den Unterschied? Ich nahm an, dass nur Debug-Funktionen deaktiviert. – Lee

Antwort

0

Vielleicht haben Sie es schon, aber

haben Sie setzen Ihre Tracking-ID an >> >>><string name="ga_trackingId">MY-TRACKING-ID</string>?

+0

Ja, ich habe es eingestellt, aber absichtlich geändert, um die Frage zu stellen. – Lee