6

特定のユーザーによるページビューとセッションを追跡するためにグーグルアナリティクスを使用したいと思います。これを行うには、最新の(v1.1)GANTrackerバージョンでサポートされているカスタム変数を使用します(したい)。

私のappHeaderには、次のコードがあります。

[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-xxxxxxxx-x"
                                       dispatchPeriod:10
                                             delegate:nil];

NSError *error1;
if(![[GANTracker sharedTracker] setCustomVariableAtIndex:0
                                                    name:@"userSession"
                                                   value:@"username"
                                                   scope:kGANSessionScope
                                               withError:&error1]){
    NSLog(@"error1 %@", error1);
}

NSError *error2;
if(![[GANTracker sharedTracker] setCustomVariableAtIndex:1
                                                    name:@"userSession"
                                                   value:@"username"
                                                   scope:kGANPageScope
                                               withError:&error2]){
    NSLog(@"error2 %@", error2);
}

アプリを起動すると、次のエラーが発生します。

error1: Error Domain=com.google.googleanalytics.GANTrackerError Code=195946409 "The operation couldn’t be completed. (com.google.googleanalytics.GANTrackerError error 195946409.)"
error2: Error Domain=com.google.googleanalytics.GANTrackerError Code=195946409 "The operation couldn’t be completed. (com.google.googleanalytics.GANTrackerError error 195946409.)"

追跡したいページを開く関数にこれを置きます:

NSError * error;
if(![[GANTracker sharedTracker] trackPageview:@"/pagename"]
                                    withError:&error]){
        NSLog(@"%@", error);
}

これはエラーを返しません

setCustomVariableAtIndex関数を省略すると、ページビューはアナリティクスに記録されますが、カスタム変数を使用すると何も得られません。

誰かが私がこの問題を解決する方法について考えを持っていますか?

4

1 に答える 1

6

私は同じ問題にぶつかり、 Google のサンプル コードで答えを見つけました。

インデックスをゼロに設定すると、カスタム変数はエラーをスローします。最初の変数はインデックス 1 を使用する必要があります。これにより、上記のコード スニペットが次のように変更されます...

[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-xxxxxxxx-x"
                                       dispatchPeriod:10
                                             delegate:nil];

NSError *error1;
if(![[GANTracker sharedTracker] setCustomVariableAtIndex:1
                                                    name:@"userSession"
                                                   value:@"username"
                                                   scope:kGANSessionScope
                                               withError:&error1]){
    NSLog(@"error1 %@", error1);
}

NSError *error2;
if(![[GANTracker sharedTracker] setCustomVariableAtIndex:2
                                                    name:@"userSession"
                                                   value:@"username"
                                                   scope:kGANPageScope
                                               withError:&error2]){
    NSLog(@"error2 %@", error2);
}
于 2011-07-26T01:02:22.070 に答える