2016-08-30 13 views
1

私のアプリでGoogleアナリティクスを使用してユーザーの行動を追跡しています。私は、各VCと私のための便利は2つのパラメータのみ(アクションとラベル)しているとき、それは多くのスペースを取るトラッキングコードの最小化

id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker]; 

[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"ui_action"  
                action:@"button_press" 
                label:@"play" 
                value:nil] build]]; 

ように私が何かを貼り付ける必要があるたびに追跡する必要があります。私はこの関数のマクロについて考えていますが、トラッカーを宣言する必要があります。プロジェクト全体に対してトラッカーを1回宣言するにはどうすればよいですか?

答えて

1

デフォルトトラッカーはGAIによって[[GAI sharedInstance] defaultTracker]と宣言されているため、アプリ全体に使用できます。

ui_actionイベントを短いコードで追跡する独自の機能を実装することができます。例:AppTracking.m

/** 
* @brief interface (AppTracking.h) file 
*/ 
@interface AppTracking : NSObject 

+ (void)sendGAIAction:(NSString *)action label:(NSString *)label; 

@end 

AppTracking.h新しいクラスAppTrackingを作成し、ここに

をトラッキングコードを書く

/** 
* brief implementation (AppTracking.m) file 
*/ 
@implementation AppTracking 

+ (void)sendGAIAction:(NSString *)action label:(NSString *)label { 
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker]; 
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"ui_action" 
                  action:action 
                  label:label 
                  value:nil] build]]; 
} 

@end 

とトラックイベント

// call AppTracking function to track your event 
[AppTracking sendGAIAction:@"button_press" label:@"play"];