GANTracker for iPhone SDK自定义变量给出错误195946409

时间:2011-03-11 16:02:32

标签: ios ipad google-analytics-api

我想使用谷歌分析来跟踪某些用户的浏览量和会话。 为此,我(想)使用最新(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函数,则会在分析中记录分页视图,但是使用自定义变量我什么也得不到。

有没有人知道如何解决这个问题?

1 个答案:

答案 0 :(得分:6)

我遇到了同样的问题,偶然发现Google's sample code中的答案。

如果将索引设置为零,则自定义变量会引发错误。您的第一个变量需要使用索引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);
}