适用于iOS的Google Analytics(v3.03) - 无法接收数据

时间:2014-04-23 10:12:45

标签: ios iphone objective-c google-analytics google-analytics-api

我遇到了iOS分析的有线问题。 根据控制台,似乎我正在发送数据,但是当我查看Google Analytics中的实时概述时,我看到我在应用中的操作没有响应。

这就是我实现跟踪器的方式:

在AppDelegate.h中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    //Start Google Analytics
    [GAI sharedInstance].dryRun = NO;
    [[GAI sharedInstance].logger setLogLevel:kGAILogLevelVerbose];
    [GAI sharedInstance].dispatchInterval = kGANDispatchPeriodSec; // 10 secs
    id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:kGANAccountId]; // UA-XXXXXX-XX
    [GAI sharedInstance].defaultTracker = tracker;

在MyViewController.h中:     #import“GAITrackedViewController.h”

@interface FRAdviceViewController : GAITrackedViewController {
    ...
}

在MyViewController.m中:

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSString *godeRaadPath = @"/godeRåd/";
    //[[GANTracker sharedTracker] trackPageview:[godeRaadPath stringByAppendingString:advice.title] withError:nil];
    self.screenName = [godeRaadPath stringByAppendingString:advice.title];

    ...
}

基本上,我设置了screenName,并希望GAITrackedViewController能够做到这一点。

加载viewController时,我在控制台中收到以下消息:

2014-04-23 11:47:46.889 TÆNK[256:3303] VERBOSE: GoogleAnalytics 3.03c -[GAIBatchingDispatcher persist:] (GAIBatchingDispatcher.m:418): Saved hit: {
parameters =     {
    "&_u" = ".o";
    "&_v" = "mi3.0.3c";
    "&an" = "T\U00c6NK";
    "&av" = "1.8.2";
    "&cd" = "/s\U00e5danHarViTestetArtikel/S\U00e5dan har vi testet br\U00f8dristere";
    "&cid" = "d1c5e459-ed0b-49d0-b532-f81fb9ff1d85";
    "&sr" = 320x480;
    "&t" = appview;
    "&tid" = "UA-1418061-9";
    "&ul" = da;
    "&v" = 1;
    "&z" = 15611112842331434332;
    gaiVersion = "3.03c";
};
timestamp = "2014-04-23 09:47:46 +0000";
}
2014-04-23 11:47:56.914 TÆNK[256:3303] VERBOSE: GoogleAnalytics 3.03c -[GAIRequestBuilder requestGetUrl:payload:] (GAIRequestBuilder.m:177): building URLRequest for https://ssl.google-analytics.com/collect
2014-04-23 11:47:56.923 TÆNK[256:3303] VERBOSE: GoogleAnalytics 3.03c -[GAIBatchingDispatcher dispatch] (GAIBatchingDispatcher.m:503): Sending hit(s) GET: https://ssl.google-analytics.com/collect?av=1.8.2&cd=%2Fs%C3%A5danHarViTestetArtikel%2FS%C3%A5dan+har+vi+testet+br%C3%B8dristere&t=appview&ul=da&_u=.o&tid=UA-1418061-9&cid=d1c5e459-ed0b-49d0-b532-f81fb9ff1d85&v=1&sr=320x480&_v=mi3.0.3c&an=T%C3%86NK&ht=1398246466879&qt=10034&z=15611112842331434332
2014-04-23 11:47:57.210 TÆNK[256:60b] INFO: GoogleAnalytics 3.03c -[GAIBatchingDispatcher didSendHits:response:data:error:] (GAIBatchingDispatcher.m:157): Hit(s) dispatched: HTTP status 200
2014-04-23 11:47:57.214 TÆNK[256:3303] INFO: GoogleAnalytics 3.03c -[GAIBatchingDispatcher deleteHits:] (GAIBatchingDispatcher.m:430): hit(s) Successfully dispatched
2014-04-23 11:47:57.225 TÆNK[256:3303] INFO: GoogleAnalytics 3.03c -[GAIBatchingDispatcher didSendHits:] (GAIBatchingDispatcher.m:167): 1 hit(s) sent

令我困惑的是,它说:“HTTP状态200”,“命中成功”和“1次命中” - 当我在RealTime图上没有响应时。

(在iPhone 4上测试)

非常感谢任何帮助!

编辑: 我本来应该更具体一点。 我们当前版本的应用已经实施了Google Analytics(但旧版本,XCode不会使用该版本构建)。 所以我确实在RealTime上看到了一些活动。当我使用当前版本的旧分析时,它可以正常工作并实时显示。 但是我的更新版本的分析测试设备没有显示出来。

1 个答案:

答案 0 :(得分:0)

有一个很好的未清除问题,未在任何地方声明。

第一次开始使用分析时。您只需几步即可生成配置文件。在您创建并Downloaded config files并下载GoogleService-Info.plist后,Google会自动创建credentials -> API keys

  • 浏览器密钥(由Google服务自动创建)
  • 服务器密钥(由Google服务自动创建)
  • iOS密钥(由Google服务自动创建)

状态为:

  

此API密钥不受限制。防止未经授权的使用和配额   盗窃,限制你的密钥以限制它的使用方式。

这就是分析无法收集数据的原因。

您需要完成以下几个步骤:

  1. 转到google developers console
  2. 选择a project
  3. API keys列表中点击无限制密钥 - 表单将会出现
  4. Key restriction部分中,选择iOS apps
  5. 设置Accept requests from an iOS application with one of these bundle identifiers
  6. 保存
  7. 这就是全部。现在,Google Analytics将开始收集数据。