2013-10-29 14 views
19

seguendo la semplice guida qui, https://developers.google.com/analytics/devguides/collection/android/v3/Android di Google Analytics v3: "non disponibile Servizio"

quando ho eseguito la mia applicazione, ottengo questo,

10-28 18:01:17.973 27022-27069/com.foo.bar W/GAV3﹕ Thread[GAThread,5,main]: Service unavailable (code=1), will retry. 
10-28 18:01:17.973 27022-27069/com.foo.bar I/GAV3﹕ Thread[GAThread,5,main]: No campaign data found. 
10-28 18:01:17.973  525-865/system_process W/ActivityManager﹕ Unable to start service Intent { act=com.google.android.gms.analytics.service.START cmp=com.google.android.gms/.analytics.service.AnalyticsService (has extras) } U=0: not found 

dal di debug, si sta cercando di avviare un servizio che non esiste. sembra che dovrei definirlo nel mio manifest, ma la guida non dice nulla a riguardo.

ho messo nei miei analytics.xml res/valori cartella come tale,

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

    <string name="ga_trackingId">UA-XXX-1</string> 
    <bool name="ga_autoActivityTracking">true</bool> 
    <bool name="ga_reportUncaughtExceptions">true</bool> 
    <integer name="ga_dispatchPeriod">1</integer> 
    <bool name="ga_debug">true</bool> 
</resources> 

Io sono completamente stumped qui da quando la guida è così semplice. se fa alcuna differenza (e non dovrebbe), sto costruendo con Android Studio/Gradle, e l'aggiunta della dipendenza come questo,

compile files('libs/libGoogleAnalyticsServices.jar') 

EDIT: aveva un pensiero ... questo dispositivo non funziona servizi di google. la lib di google analytics dipende dall'APK del servizio google installato?

+0

Sì, è necessario includere il GA SDK nell'app per dispositivi mobili. Devi anche cambiare UA-XXX-1 con il tuo GA UA ID. L'ID di proprietà deve appartenere a una proprietà dell'app mobile. –

+0

Problema simile qui. Un angolo leggermente diverso, come sto seguendo questa guida: https://developers.google.com/analytics/soluzioni/test-play-campagne. Ho aggiunto il jar alle librerie di esportazione, ma ho ancora I/GAV3 (21698): Thread [GAThread, 5, main]: Campaign found [GOOD!]: Utm_source = testSource & utm_medium = testMedium & utm_term = testTerm & utm_content = testContent & utm_campaign = testCampaign, [ then BAD]: W/ActivityManager (376): impossibile avviare il servizio Intent {act = com.google.android.gms.analytics.service.START cmp = com.google.android.gms/.analytics.service.AnalyticsService (ha extra)} – mm2001

+0

Eventualmente correlato: https://code.google.com/p/analytics-issues/issues/detail?id=294 – mm2001

risposta

14

È possibile ignorare questo avviso per ora.

Dal gruppo di Google Mobile App Analytics:

The SDK is simply attempting to connect to a global dispatch service, which is unavailable on your device. The hits are still being generated and sent to GA normally. 

Il sito degli sviluppatori GA fornirà ulteriori informazioni su questo presto.

link al gruppo: https://groups.google.com/forum/#!forum/ga-mobile-app-analytics

+0

sì, sembra funzionare nonostante il messaggio. –

1

Stesso problema qui, potresti aver appena dimenticato di inizializzare il tuo tracker.

Sotto "prossimi passi" sul GA3 site, essa afferma "prima che i dati possono essere misurati, è necessario inizializzare almeno un inseguitore via GoogleAnalytics Singleton, fornendo un contesto e un ID di proprietà di Google Analytics:"

Proprio inserire questo codice nel metodo onCreate vostre principali attività:

// Initialize a tracker using a Google Analytics property ID. 
GoogleAnalytics.getInstance(this).getTracker("UA-XXXX-Y") 

si potrebbe pensare che avrebbero menzionato questo sulla loro pagina principale, ma credo che solo un po 'si aspettano che sarete curiosi di conoscere le impostazioni avanzate.

+0

non penso che questo sia il problema. è * è * registrazione dei dati. Credo che il sistema ottenga l'ID del tracker e inizializzi in base al file 'analytics.xml'. –

0

Penso che si possa utilizzare il

GAServiceManager.getInstance().setLocalDispatchPeriod(10); 

dopo questa linea sembra funzionare bene e inviare gli eventi

Problemi correlati