Ответ 1
UPDATE - SDK для Google Analytics для iOS v3
Итак, я использую v3, и нет никаких проблем:
Я реализовал его в AppDelegate. В файле .h:
#import "GAI.h"
@property (nonatomic,assign) id<GAITracker> tracker; // I'm not using ARC (assign)
.m:
#import "GAIDictionaryBuilder.h"
#import "GAIFields.h"
// GOOGLE ANALYTICS
[GAI sharedInstance].trackUncaughtExceptions = YES;
[GAI sharedInstance].dispatchInterval = 0;
tracker = [[GAI sharedInstance] trackerWithTrackingId:@"yourGAID"];
И напишите такой метод:
- (void) sendGoogleAnalyticsView:(NSString*)viewName{
[tracker set:kGAIScreenName value:viewName];
[tracker send:[[GAIDictionaryBuilder createAppView] build]];
[[GAI sharedInstance] dispatch]; // this will force track your views.
}
Старый ответ:
См. этот ответ ниже этой ссылки, если вы сделаете это так же, как я сказал в этом ответе, он должен работать
Еще один вопрос о переполнении стека ответил на вопрос Google Analytics
и используйте следующие методы:
[GAI sharedInstance].optOut = YES;
[GAI sharedInstance].dispatchInterval = 0;
[GAI sharedInstance].trackUncaughtExceptions = YES;
tracker = [[GAI sharedInstance] trackerWithTrackingId:@"YOUR TRACKERID"];
[tracker sendView:@"Your View name"];
[tracker sendEventWithCategory:@"YOUR CATEGORY" withAction:@"YOUR ACTION" withLabel:nil withValue:nil];
Загрузите GoogleAnalyticsiOS_2.0beta4.zip из эта ссылка, это будет содержать те классы, в которых вы нуждаетесь, и будет работать отлично. Будьте осторожны, аналитика google получила время, чтобы показать вам информацию о реальном времени. И не в реальном времени данные будут отображаться только через день после
EDIT для версии 3.0:
Я нашел некоторые полезные вещи для вас:
Мы только что столкнулись с этой проблемой, и это немного устарело так что вот обновленный ответ. Вопрос, который мы имели после инструкции на веб-сайте Google Analytics, они добавьте следующие файлы
GAI.h
,GAIDictionaryBuilder.h
,GAILogger.h
,GAITrackedViewController.h
,GAITracker.h
иlibGoogleAnalytics_debug.a
библиотека. Что они полностью забывают включить на веб-сайте инструкции, где вы должны включить библиотекуlibGoogleAnalyticsServices.a
. Это включено в zipped download, но нет инструкций, указывающих на включение это в отладочной версии.Примечание. В readme.txt
libGoogleAnalyticsServices.a
просто указано какlibGoogleAnalytics.a
Google не обновили свои документацию, чтобы включить новое имя или правильные инструкции, которые укажите, что это требуется при отладке.Файлы и библиотеки, которые больше всего будут включены
GAI.h
GAIDictionaryBuilder.h
GAIFields.h
GAILogger.h
GAITrackedViewController.h
GAITracker.h
libGoogleAnalytics.a // Also know as libGoogleAnalyticsServices.a
libGoogleAnalytics_debug.a
плюс информация:
Я уверен, что Google еще не предоставил версию arm64
libGoogleAnalyticsServices.a
, что очень раздражает... у него есть были недели с тех пор, как публика выпустила Xcode 5GM.На данный момент, я думаю, только строить для armv7, armv7s или удалить google аналитики, пока они не выйдут из своих штанов.
Вот Руководство по началу работы с iOS. для его реализации.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Optional: automatically send uncaught exceptions to Google Analytics.
[GAI sharedInstance].trackUncaughtExceptions = YES;
// Optional: set Google Analytics dispatch interval to e.g. 20 seconds.
[GAI sharedInstance].dispatchInterval = 0;
// Optional: set Logger to VERBOSE for debug information.
[[[GAI sharedInstance] logger] setLogLevel:kGAILogLevelVerbose];
// Initialize tracker.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXX-Y"];
}
Чтобы вручную отправить представление экрана, задайте значения поля экрана на трекере, а затем отправьте его:
// May return nil if a tracker has not already been initialized with a
// property ID.
id tracker = [[GAI sharedInstance] defaultTracker];
// This screen name value will remain set on the tracker and sent with
// hits until it is set to a new value or to nil.
[tracker set:kGAIScreenName
value:@"Home Screen"];
[tracker send:[[GAIDictionaryBuilder createAppView] build]];
Или автоматическое измерение экрана:
Автоматически измерять представления в виде экранов, используя
GAITrackedViewController
класс. У каждого из ваших контроллеров просмотра растянитеGAITrackedViewController
и добавьте свойство, называемое screenName. Это свойство будет использоваться для установки поля имени экрана.
//
// MyViewController.h
// An example of using automatic screen tracking in a ViewController.
//
#import "GAITrackedViewController.h"
// Extend the provided GAITrackedViewController for automatic screen
// measurement.
@interface AboutViewController : GAITrackedViewController
@end
//
// MyViewController.m
//
#import "MyViewController.h"
#import "AppDelegate.h"
@implementation MyViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Set screen name.
self.screenName = @"Home Screen";
}
// Rest of the ViewController implementation.
@end
Отслеживание событий:
Чтобы отправить событие в Google Analytics, используйте GAIDictionaryBuilder.createEventWithCategory: действие: label: значение: и отправьте хит, как в этом примере:
// May return nil if a tracker has not already been initialized with a property
// ID.
id<GAITracker> = [[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