Google Analytics不会显示iOS App的实时数据

时间:2015-10-19 10:37:27

标签: ios objective-c google-analytics measurement-protocol

我正在努力让Google Analytics使用我的应用程序。

我有

将官方Google AnalyticsSDK 3集成到我的项目中

AppDelegate.m

// Initialize the default tracker. After initialization, [GAI sharedInstance].defaultTracker
// returns this same tracker.
// TODO: Replace the tracker-id with your app one from https://www.google.com/analytics/web/
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"XX-XXXXX-X"];

// Provide unhandled exceptions reports.
[GAI sharedInstance].trackUncaughtExceptions = YES;

// Enable Remarketing, Demographics & Interests reports. Requires the libAdIdAccess library
// and the AdSupport framework.
// https://developers.google.com/analytics/devguides/collection/ios/display-features
tracker.allowIDFACollection = YES;

然后在WordPressViewController.m

    - (void) viewDidLoad
{

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

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
                        @"appview", kGAIHitType, @"Home Screen", kGAIScreenName, nil];
[tracker send:params];

另外bitcode不会以某种方式使用最新的sdk(不知道这对于跟踪器是否很重要)

然而,当我运行应用程序进入屏幕时,实时数据没有显示任何内容。

3 个答案:

答案 0 :(得分:0)

didFinishLaunchingWithOptions方法中的appDelegate中设置。

[[GAI sharedInstance] setDispatchInterval:kGaDispatchPeriod]; // set your period .

[[GAI sharedInstance] setOptOut:NO];

//[[[GAI sharedInstance] logger] setLogLevel:kGAILogLevelVerbose];

[[GAI sharedInstance] setTrackUncaughtExceptions:YES];

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:kGaPropertyId]; //// Placeholder property ID.

[tracker setAllowIDFACollection:NO];

在appDelegate中设置GAITracker的属性

@property (strong, nonatomic) id<GAITracker> tracker;

并在viewDidAppear中的view conroller中设置..

id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker set:kGAIScreenName value:NSStringFromClass([self class])];
[tracker send:[[GAIDictionaryBuilder createScreenView] build]];

希望对你有所帮助。

答案 1 :(得分:0)

实时数据终于有效了。

更改

[GAI sharedInstance].dispatchInterval = 20;

[GAI sharedInstance].dispatchInterval = 1;

答案 2 :(得分:0)

我是一家移动开发公司的Google中小企业(主题专家),我很高兴让自己面临许多麻烦,试图确保我们的实施工作正确。

话虽如此,您没有看到任何数据向实时分析报告且调度间隔设置为20的原因是因为这意味着您的数据每20分钟报告一次;实时数据显示的时间窗口太长,在较小的视图上限制为60秒,在较大的视图上限制为30分钟。

据说,调度数据在发送时不会出现在实时数据中。相反,该表仅反映事件/屏幕视图何时发生 - 没有指示何时调度数据。

理论上,您可以在原始设置上等待20分钟,并且假设您正确配置了所有内容,您会看到至少部分数据显示在实时事件的较大时间窗口的末尾附近,但很多该活动将缺失&#34;仅仅因为它发生的时间超过了30分钟。

要真正测试这个,请尝试执行以下操作(即时调度): 将调度间隔设置为0 - 这将触发事件和屏幕立即报告。你应该只是为了调试目的,或者如果你需要立即调度(谷歌文档不建议立即发送,因为它会更快地耗尽电池寿命)

请记住&#34;实时&#34; 最后一次调度呼叫后,数据只会显示几秒钟。我发现的一些非官方资源声称在最后一次发送后可能需要一分钟,因此耐心是关键。