2014-12-05 4 views
9

Ho letto il Custom Dimensions documentation for iOS e trovato il seguente esempio:iOS di Google Analytics dimensioni personalizzate

// May return nil if a tracker has not yet been initialized with a property ID. 
id tracker = [[GAI sharedInstance] defaultTracker]; 

// Set the custom dimension value on the tracker using its index. 
[tracker set:[GAIFields customDimensionForIndex:1] 
     value:@"Premium user"] 

[tracker set:kGAIScreenName 
     value:@"Home screen"]; 

// Send the custom dimension value with a screen view. 
// Note that the value only needs to be sent once, so it is set on the Map, 
// not the tracker. 
[tracker send:[[[GAIDictionaryBuilder createAppView] set:@"premium" 
                forKey:[GAIFields customDimensionForIndex:1]] build]]; 

Ma quando la dimensione è creato nel pannello di controllo, il codice proposto è:

NSString *dimensionValue = @"SOME_DIMENSION_VALUE"; 
[tracker set:[GAIFields customDimensionForIndex:1] value:dimensionValue]; 

Ho letto anche il documentation for Android e ho trovato questo esempio:

// 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.AppViewBuilder() 
    .setCustomDimension(1, "premiumUser") 
    .build() 
); 

Le mie domande:

  • Qual è il modo corretto di impostare le dimensioni in iOS?
  • Nel caso del primo (documentazione uno), perché in iOS è necessario impostare il valore sia nel tracker che nel builder?
  • Perché in iOS il valore di quota nel tracker ("Utente Premium") è impostato su un valore diverso nel builder ("premium")?
  • Sarebbe corretto impostare lo stesso valore nel tracker e nel builder?
  • In tal caso, perché impostarlo due volte? Ho provato a impostarlo solo nel builder e quindi si blocca con l'errore questa classe non è la chiave di codifica del codice-compatibile per la chiave & cd1. Impostandolo nel tracker non verrà repportato il valore (GA for iOS and custom dimensions).

Il codice potrebbe essere:

[tracker set:[GAIFields customDimensionForIndex:1] 
     value:@"custom dimension value"] 

[tracker send:[[[GAIDictionaryBuilder createAppView] set:@"custom dimension value" 
                forKey:[GAIFields customDimensionForIndex:1]] 
+0

Sto incontrando il crash esatto quando si utilizza il builder. Sei arrivato a qualche soluzione? Sto usando Swift se conta. – Sam

+0

Impostalo due volte: in '[tracker set:]' e in '[tracker send:]' come propsed nell'ultimo codice. Ma ancora nessuna risposta a questa domanda ... – Miquel

risposta

3

C'è una good tutorial come utilizzare dimensioni personalizzate sia iOS e Android e come impostare i rapporti personalizzati.

Nel caso del primo ci sono due modi diversi. Sono indipendenti l'uno dall'altro.

Primo:

id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker]; 
[tracker set:[GAIFields customDimensionForIndex:index] value:@"value"]; 
tracker send:[[GAIDictionaryBuilder createScreenView] build]]; 

Secondo:

id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker]; 
[tracker send:[[[GAIDictionaryBuilder createScreenView] set:@"value" 
                forKey:[GAIFields customDimensionForIndex:index]] build]]; 

Se si desidera monitorare le dimensioni o le metriche personalizzate, quindi è necessario creare loro sul GA adminpage. Qui scegli le definizioni personalizzate. Successivamente, crea un rapporto personalizzato nella scheda di personalizzazione, che rappresenterà le tue misurazioni.

Importante che è necessario attendere uno o due giorni dopo la registrazione di google analytics fino a quando le misurazioni non verranno visualizzate nei rapporti personalizzati.