2014-12-05 23 views
9

Czytałem ten Custom Dimensions documentation for iOS i znaleźć następujący przykład:iOS Google Analytics niestandardowe wymiary

// 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]]; 

Ale gdy wymiar jest tworzony w panelu sterowania, proponowana kod jest:

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

Czytałem także documentation for Android i znalazłem ten przykład:

// 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() 
); 

Moje pytania:

  • Który jest poprawny sposób ustawić wymiary w iOS?
  • W przypadku pierwszego (dokumentacja pierwsza), dlaczego w systemie iOS należy ustawić wartość zarówno w narzędziu śledzącym, jak i konstruującym?
  • Dlaczego w systemie iOS wartość wymiaru w module śledzącym ("użytkownik premium") jest ustawiona na inną wartość w programie budującym ("premium")?
  • Czy ustawienie tej samej wartości w śledzącej i konstruktorze byłoby prawidłowe?
  • W takim przypadku, dlaczego ustawienie dwa razy? Próbowałem ustawić go tylko w konstruktorze, a następnie chums z błędem ta klasa nie jest zgodna z kluczem kodowania kluczem & cd1. Ustawienie go w trackerze nie spowoduje zmiany wartości (GA for iOS and custom dimensions).

Kod może być:

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

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

Napotykam dokładnie awarię podczas korzystania z budowniczego. Czy pojawiłeś się przy jakichkolwiek rozwiązaniach? Używam Swift, jeśli to ma znaczenie. – Sam

+0

Ustaw dwa razy: w '[zestawie tracker:]' oraz w '[tracker send:]' zgodnie z podpisem w ostatnim kodzie. Ale wciąż nie ma odpowiedzi na to pytanie ... – Miquel

Odpowiedz

3

Jest good tutorial jak używać niestandardowych wymiarów zarówno iOS i Android i jak ustawić raporty niestandardowe.

W przypadku pierwszego są dwa różne sposoby. Są niezależne od siebie.

pierwsze:

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

drugie:

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

Jeśli chcesz śledzić niestandardowe wymiary lub niestandardowych danych, to trzeba je tworzyć na GA adminpage. Tutaj wybierz niestandardowe definicje. Następnie utwórz niestandardowy raport na karcie dostosowywania, który będzie reprezentował Twoje pomiary.

Ważne, że musisz poczekać jeden lub dwa dni po rejestracji w Google Analytics, aż wyniki pojawią się w raportach niestandardowych.

Powiązane problemy