2015-06-18 9 views
10

Sto tentando di inviare N quantità di coppie chiave-valore personalizzate associate a un singolo hit. Quel colpo avrà la sua categoria/azione/etichetta chiave, ma io dopo aver definito le mie chiavi.Invio di payload di coppie valore-chiave a Google Analytics

Sto cercando di integrare Google Analytics nella mia applicazione. Ho seguito tutti i passaggi di configurazione e funziona, ma sto cercando di capire come funziona il reporting degli eventi e come posso inviare i miei eventi personalizzati su coppie di valori-chiave predefinite.

Map<String, String> myMap = new HashMap<>(); 
myMap.put("hello", "world"); 
myMap.put("liek", "turtles"); 
GoogleAnalytics analytics = GoogleAnalytics.getInstance(context); 
analytics.setLocalDispatchPeriod(1800); 
Tracker tracker = analytics.newTracker(token); 
tracker.send(myMap); 

che viene ricevuto inavvertitamente con un errore Logcat.

W/GAv4﹕ Discarding hit. Missing hit type parameter: tid=world, a=504324093 

sto sperimentando con altre API come HitBuilders e set(), ma nessuno fornisce una chiara mappatura coppia chiave-valore.

+0

Non sono sicuro di quello che stai cercando di ottenere. Forse le dimensioni o le variabili personalizzate possono essere utili per te. – crigore

+0

Sto tentando di inviare N quantità di coppie chiave-valore personalizzate associate a un singolo hit. Quel successo avrà la sua categoria/azione/etichetta, ma io sono dopo aver definito le mie categorie. Le dimensioni personalizzate sono limitate a 20/200 che devono essere predefinite e che non voleranno per le mie chiavi arbitrarie. Quali sono le variabili? –

risposta

4

Penso che si sta cercando Custom Dimensions. Innanzitutto devi create a custom dimension e inviarlo insieme a una schermata/evento.

Usando il tuo esempio, si dovrebbe usare in questo modo:

// Get tracker. 
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(TrackerName.APP_TRACKER); 
t.setScreen("Home Screen"); 

// Send the custom dimension value with a screen view. 
// Note that the value only needs to be sent once. 
t.send(new HitBuilders.ScreenViewBuilder() 
    .setCustomDimension(1, "world") 
    .setCustomDimension(2, "turtles") 
    .build() 
); 

Dove dimensione # 1 sarebbe configured come un "ciao dimensione" e la dimensione # 2 sarebbe una "dimensione liek". Questo è un esempio su una schermata, ma lo stesso potrebbe essere realizzato con un evento.

+0

Le dimensioni personalizzate sono limitate a 20/200 che devono essere predefinite e che non voleranno per le mie chiavi arbitrarie provenienti da un jono appiattito serializzato. –

+0

Se non c'è altro modo, darò la tua risposta come valida. –

3

Sembra che tu stia utilizzando il vecchio SDK di Analytics, che non consiglierei. Prova a utilizzare lo v4 e segui lo Analytics SDK for Android manual.

io non sono sicuro di quello che stai cercando di fare esattamente, ma evento personalizzato possono essere inviati utilizzando il EventBuilder in questo modo:

tracker.send(new HitBuilders.EventBuilder() 
     .setCategory("your-category") 
     .setAction("your-action") 
     .setLabel("your-label") 
     .build()); 
+0

Sto usando v4. Categoria, azione o etichetta non sono mappe arbitrarie di coppie chiave-valore, solo singole stringhe. –

+0

Sto tentando di inviare N quantità di coppie chiave-valore personalizzate associate a un singolo hit. Quel successo avrà la sua categoria/azione/etichetta, ma io sono dopo aver definito le mie categorie. –