[iOS] Google Analytics iOS SDK v3をものすごく簡単に設置する方法

GoogleAnalyticsをiOSアプリに入れることはよくあるのですが、マニュアル通りにきちんと導入しようとすると、地味にめんどくさいですね。
そこで、ここでは、ものすごく簡単に設置する方法をお伝えします。

まずは適当にSDKをダウンロードする
GoogleAnalyticsServicesiOS_3.03.zip ※2014/02/04現在最新
 
 
次にダウンロードしたファイルをXcodeで管理しているプロジェクトにぶっ込む
[code]
GAI.h
GAITracker.h
GAITrackedViewController.h
GAIDictionaryBuilder.h
GAIFields.h
GAILogger.h
libGoogleAnalyticsServices.a
[/code]
 
ここでポイントですが、コンパイルしたときにもしエラーが発生したら、多分、必要なlibrariesがすべて指定されていないのだと思います。下記をLinked Frameworks And Librariesに追加してください。
[code]
libGoogleAnalyticsServices.a
AdSupport.framework
CoreData.framework
SystemConfiguration.framework
libz.dylib
[/code]
 
 
ここから本番
XXXX-Prefix.pchに便利に使えるmacroを追加
[code]
#ifdef __OBJC__
#import
#import

// Google Analytics
#import “GAI.h”
#import “GAIDictionaryBuilder.h”
#import “GAIFields.h”
#import “GAITrackedViewController.h”
#endif

// Google Analytics Macro
#define GA_INIT_TRACKER(INTERVAL, ACCOUNT) {\
[GAI sharedInstance].trackUncaughtExceptions = YES; \
[GAI sharedInstance].dispatchInterval = INTERVAL; \
[[[GAI sharedInstance] logger] setLogLevel:kGAILogLevelWarning]; \
[[GAI sharedInstance] trackerWithTrackingId:ACCOUNT]; \
}

#define GA_TRACK_PAGE(PAGE) {\
[[[GAI sharedInstance] defaultTracker] send:[[[GAIDictionaryBuilder createAppView] set:PAGE forKey:kGAIScreenName] build]];\
};

#define GA_TRACK_EVENT(CATEGORY,ACTION,LABEL,VALUE) {\
[[[GAI sharedInstance] defaultTracker] send:[[GAIDictionaryBuilder createEventWithCategory:CATEGORY \
action:ACTION \
label:LABEL \
value:VALUE] build]]; \
};

#define GA_TRACK_CLASS GA_TRACK_PAGE(NSStringFromClass([self class]));
#define GA_TRACK_METHOD GA_TRACK_EVENT(NSStringFromClass([self class]), NSStringFromSelector(_cmd), @””, nil);
[/code]
 
 
XXXXAppDelegate.mにGoogleAnalytycsの設定を定義
XXXXAppDelegate.m
[code]
– (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
GA_INIT_TRACKER(20, @”UA-XXXXXXX-XX”);
}
[/code]

設定は終了です。
 
ここからは使い方です。
基本的には各ViewControllerにGA_TRACK_CLASS、もしくはGA_TRACK_METHODを追加していくだけ。パラメータのことは考えなくてよく、機械的に貼付けるだけ。

XXXXViewController.m
[code highlight=”4,9″]
– (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
GA_TRACK_CLASS;
}

– (void)YYYYMethod
{
GA_TRACK_METHOD;
}
[/code]
 
 
便利ですね。便利ですね。便利ですね。