2012-11-18 5 views
14

はこちらをご覧ください:iOS SDK 2.0用Google Analytics - アプリデリゲートの「トラッカー」変数とは何ですか?概要を以下の後

ここ- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

は、Googleの概要ページからのコードです:私は、コードの最後の行にUnused variable "tracker"警告を見てい

https://developers.google.com/analytics/devguides/collection/ios/v2/

が追加しました:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    // Optional: automatically track uncaught exceptions with Google Analytics. 
    [GAI sharedInstance].trackUncaughtExceptions = YES; 
    // Optional: set Google Analytics dispatch interval to e.g. 20 seconds. 
    [GAI sharedInstance].dispatchInterval = 20; 
    // Optional: set debug to YES for extra debugging information. 
    [GAI sharedInstance].debug = YES; 
    // Create tracker instance. 
    id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"]; 

} 

trackerは、この時点を過ぎても全く使用されていないと本当に分かります。概要文書は実際にそれをどうしたらいいのか分かりません。助言がありますか?

答えて

24

あなたは

[[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"]; 

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"]; 

からのコードの最後の行を変更して警告を削除することができ、あなたのトラッカーへの参照を必要としない(とそうでないように見えます)場合

このコードブロックでトラッカーへの参照を保持するためのユースケースは、ユーザーがアプリケーションを起動したときに、その参照を取得するために[GAI sharedInstance]に電話する必要なくイベントを作成する場合です。

+0

#pragma unused(tracker) 

を追加することができます。私がこれを言う理由は、ボタンの接触を追跡する例は、グローバルに「extern」していない場合、またはビューコントローラごとに 'tracker 'を初期化していない場合には存在しない' tracker'インスタンスを指しています。 –

+0

多分 - もしあなたがそれを使いたいときはいつでも[GAI sharedInstance]を呼んで同じバージョンを取得すれば、あなた自身のグローバルインスタンスを作成することはほとんどありません。 – rickerbh

+1

OK、 'GAI.h'と' GAITrackedViewController.h'を見てみると、ボタンタッチイベントを追跡するためのサンプルコードのエラーは 'tracker'が本当に' self.tracker'である必要があるようです。ここでの宣伝はhttps://developers.google.com/analytics/devguides/collection/ios/v2/advancedで、これはデザインの一部である可能性があることを示しています。つまり、GAI sharedInstanceを明示的に呼び出す必要はありません。おもう。私はまだそれが動作するかどうかを確認する必要があります。 –

5

あなただけの意図が `グローバルシングルトンことtracker`持っている場合、私は疑問に思ってライン

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"]; 
関連する問題