Bu kılavuzda, iOS için Google Analytics SDK'sının V3'e nasıl geçileceği açıklanmaktadır.
Bir Bakışta: V3'teki Yenilikler
V3'teki API'ler, yerel ve web platformları genelinde daha tutarlı olacak şekilde yeniden düzenlendi. Tüm V2 kullanıcıları şu değişikliklere dikkat etmelidir:
- İsabetler artık tek bir
send:(NSDictionary *)params
yöntemi kullanılarak gönderiliyor. - Otomatik istemci tarafı oturum yönetimi kaldırıldı. Bunun yerine, oturum zaman aşımı yönetim arayüzünde yapılandırılabilir. Daha fazla bilgi edinin.
- Hata ayıklama modu,
Logger
ile değiştirildi - Yeni: Dağıtılan verilerin raporlarda görünmesini önlemek için
dryRun
işareti eklendi. - Yeni: iOS için yerel para birimleri desteği eklendi.
Değişikliklerin tam listesi için Değişiklik günlüğü'ne bakın.
Başlamadan önce
v3'e yükseltme işlemine başlamadan önce aşağıdakilere ihtiyacınız olacaktır:
Yeni Sürüme Geçiş Yolları
Başlamak için mevcut uygulamanızdan v3'e yükseltme yolu seçin:
v1.x'ten v3'e
Google Analytics iOS SDK v1.x kullanıcılarının, v3'ü kullanmaya başlamak için v3 Başlangıç Kılavuzu'nu izlemeleri önerilir.
v2.x'ten v3'e
v2.x kullanıcıları v3'e geçmek için şu adımları uygulamalıdır:
send<hit-type>
kolaylık yönteminin tamamını yenisend:
yöntemiyle değiştirin:// v2 (Old) id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker]; [tracker sendView:@"HomeScreen"];
// v3 id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker]; // Set the screen name on the tracker so that it is used in all hits sent from this screen. [tracker set:kGAIScreenName value:@"Home Screen"]; // Send a screenview. // [tracker send:[[GAIDictionaryBuilder createAppView] build]]; // Previous V3 SDK versions. [tracker send:[[GAIDictionaryBuilder createScreenView] build]]; // SDK Version 3.08 and up.
- Otomatik, istemci tarafı oturum yönetimi v3'te kaldırıldı. Oturum zaman aşımı süresi, yönetim arayüzünde ayarlanabilir ve varsayılan olarak 30 dakika'ya ayarlanır.
Ayrıca oturumlar,
sessionControl
parametresi kullanılarak manuel olarak başlatılabilir ve durdurulabilir. 3. sürümde oturum yönetimi hakkında daha fazla bilgi edinin. -
Otomatik Ekran İzleme kullanıcıları,
GAITrackedViewController.trackedViewName
referanslarınıGAITrackedViewController.screenName
ile değiştirmelidir:// v2 (Old) #import "GAITrackedViewController.h" @implementation AboutViewController - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; self.trackedViewName = @"About Screen"; } // ... Rest of ViewController implementation.
// v3 #import "GAITrackedViewController.h" @implementation AboutViewController - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; self.screenName = @"About Screen"; } // ... Rest of ViewController implementation.
- Hata ayıklama modu kullanımdan kaldırıldı. Bunun yerine
Logger
kullanın:// v2 (Old) [GAI sharedInstance].debug = YES;
// v3 [[GAI sharedInstance].logger setLogLevel:kGAILogLevelVerbose];
GAI.useHttp
özelliği kaldırıldı. İsabetleri varsayılan HTTPS yerine HTTP kullanarak göndermek istiyorsanız bunun yerine her birGAITracker
içinkGAIUseSecure
parametresini ayarlayın:// v2 (Old) // AppDelegate.m #import AppDelegate.h #import GAI.h - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { static NSString const *kGaPropertyId = @"UA-XXXX-Y"; id
tracker = [[GAI sharedInstance] trackerWithTrackingId:kGaPropertyId]; // Send hits using HTTP (default=HTTPS). tracker.useHttps = NO; } // v3 // AppDelegate.m #import AppDelegate.h #import GAI.h - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { static NSString const *kGaPropertyId = @"UA-XXXX-Y"; id
tracker = [[GAI sharedInstance] trackerWithTrackingId:kGaPropertyId]; // Send hits using HTTP (default=HTTPS). [tracker set:kGAIUseSecure value:[@NO stringValue]]; } - v3 SDK artık uygulama açıldığında otomatik olarak yeni oturum başlatmamaktadır. v2'deki bu davranışı korumak istiyorsanız bir kullanıcı uygulamayı başlattığında kendi oturum denetimi mantığınızı uygulamanız gerekir:
- Uygulama düzeyinde devre dışı bırakma ayarı artık SDK tarafından korunmaz ve uygulama her
başlatıldığında bu ayarın ayarlanması gerekir (varsayılan olarak
NO
). Uygulama düzeyinde devre dışı bırakma ayarı hakkında daha fazla bilgi edinin.
// AppDelegate.m #import AppDelegate.h #import GAI.h - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { static NSString const *kGaPropertyId = @"UA-XXXX-Y"; idtracker = [[GAI sharedInstance] trackerWithTrackingId:kGaPropertyId]; // CAUTION: Setting session control directly on the tracker persists the // value across all subsequent hits, until it is manually set to null. // This should never be done in normal operation. // // [tracker set:kGAISessionControl value:@"start"]; // Instead, send a single hit with session control to start the new session. [tracker send:[[[GAIDictionaryBuilder createEventWithCategory:@"UX" action:@"appstart" label:nil value:nil] set:@"start" forKey:kGAISessionControl] build]];
Referans
Aşağıdaki bölümlerde, V3 SDK'sını kullanarak verilerin nasıl ayarlanacağı ve gönderileceği ile ilgili referans örnekler verilmiştir.
v3'teki Sözlükleri Kullanarak Veri Gönderme
V3'te veriler, bağımsız değişken olarak bir NSDictionary
Google Analytics alanı ve değeri alan tek bir send:
yöntemi kullanılarak gönderilir. İsabet oluşturma sürecini basitleştirmek için bir GAIDictionaryBuilder
yardımcı programı sınıfı sağlanmıştır:
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker]; [tracker set:kGAIScreenName value:@"Home Screen"]; // Previous V3 SDK versions. // [tracker send:[[GAIDictionaryBuilder createAppView] setValue:@"Premium" // Creates a Map of hit type 'AppView' (screenview) and set any additional fields. // forKey:[customDimensionForIndex:1] build]; // Build and return the dictionary to the send method. // SDK Version 3.08 and up. [tracker send:[[GAIDictionaryBuilder createScreenView] setValue:@"Premium" // Creates a Map of hit type 'ScreenView' and set any additional fields. forKey:[customDimensionForIndex:1] build]; // Build and return the dictionary to the send method.
GAIDictionaryBuilder
sınıfı, etkinlikler gibi desteklenen isabet türlerinden herhangi birini oluşturmak için kullanılabilir:
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker]; [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"ui_action" // Event category (required) action:@"button_press" // Event action (required) label:@"play" // Event label value:nil] build]]; // Event value
v3 sürümünde Veri gönderme hakkında daha fazla bilgi edinin.
v3'te İzleyicide Veri Ayarlama
Değerler, set:value:forKey
yöntemi kullanılarak doğrudan bir GAITracker
üzerinde de ayarlanabilir.
Doğrudan ayarlanan değerler, söz konusu
GAITracker
kaynağından sonraki tüm isabetlere uygulanır:
// Values set directly on a tracker apply to all subsequent hits. [tracker set:kGAIScreenName value:@"Home Screen"]; // This screenview hit will include the screen name "Home Screen". // [tracker send:[[GAIDictionaryBuilder createAppView] build]]; // Previous V3 SDK versions. [tracker send:[[GAIDictionaryBuilder createScreenView] build]]; // SDK Version 3.08 and up. // And so will this event hit. [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"ui_action" action:@"button_press" label:@"play" value:nil] build]];
GAITracker
için ayarlanan bir değeri temizlemek için özelliği nil
olarak ayarlayın:
// Clear the previously-set screen name value. [tracker set:kGAIScreenName value:nil]; // Now this event hit will not include a screen name value. [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"ui_action" action:@"button_press" label:@"play" value:nil] build]];