屏幕跟踪未显示在Google Analytics iOS上

时间:2014-08-06 12:44:42

标签: ios objective-c google-analytics

我有一个应用程序,我正在尝试使用Google分析来跟踪屏幕。

我已在代理中设置了所有内容,并尝试自动跟踪三个屏幕。在三个屏幕中,其中只有一个是自动跟踪,另外两个我必须手动跟踪。我不明白为什么会这样,但我已经尝试寻找解决方案和答案,但没有一个出现。

我的SettingsViewController中自动屏幕跟踪工作的一个类

SettingsViewController.h我导入"GAITrackedViewController.h"

并在SettingsViewController.m中执行以下操作:

- (void)viewWillAppear:(BOOL)animated {

    [super viewWillAppear:animated];

    self.screenName = @"Settings";//GOOGLE ANALYTICS WAS IN ViewWillDisappear
    //rest of code

}

这是有效的,因为在Google Analytics中,我可以看到我已经看到过此视图的所有时间,并且我必须拥有所有跟踪数据。

在我的其他两个课程中,我尝试了完全相同的东西并且没有得到相同的结果。

在我的FriendView和HomeView中,我尝试进行自动屏幕跟踪,但这在任一视图中都不起作用,所以我尝试实现手动屏幕跟踪。

在我的HomeView和FriendView中,我执行以下操作:

#import "GAI.h"
#import "GAIFields.h"
#import "GAIDictionaryBuilder.h"
#import "GAITrackedViewController.h" //Import from when I tried automatic screen tracking

然后我做

-(void)viewDidAppear:(BOOL)animated{

    //self.screenName = @"Friends";//GOOGLE ANALYTICS

    [super viewWillAppear:animated];

    id tracker = [[GAI sharedInstance] defaultTracker];
    [tracker set:kGAIScreenName
           value:@"Friends"];

    [tracker send:[[GAIDictionaryBuilder createAppView] build]];

}

手动跟踪效果更好,因为我可以在实时屏幕跟踪下看到它。但由于某种原因,我仍然无法在Google Analytics中的行为/屏幕下看到FriendView或HomeView屏幕跟踪。我拥有的唯一数据来自SettingsView。

我更愿意使用自动屏幕跟踪,因为它的代码较少,但我尝试了这个solution和其他各种尝试让自动屏幕跟踪工作,并在Google分析中可见但是它只是没有。

要清楚,在这两种情况下,数据都不会显示在我的屏幕跟踪数据中。只有我的settingsView数据可见并发送。唯一的区别是,当我进行手动屏幕跟踪时,我可以看到实时数据,但它仍然没有显示在常规屏幕数据视图中。

我在我的应用中使用v 3.0.7。

提前感谢您提供任何解决方案。

3 个答案:

答案 0 :(得分:3)

我还尝试了所有不同的方法来跟踪GA中的屏幕视图(手动vs自动,createAppView vs createScreenView,viewDidAppear vs viewWillAppear等),很长一段时间我认为它们不起作用。我也打开了详细的调试模式,一切似乎都正确(返回200,屏幕名称按照我的预期记录)。后来我意识到他们实际上是录制的,我只是在GA网站上找错了地方。

它们不在网站内容/所有页面中,并且它们不在“行为流”或“事件/页面”中。但是,如果您选择任何类似事件,并选择"屏幕名称"作为主要或次要维度,您可以看到所有这些维度。或者您可以创建自定义报告并直接显示屏幕名称。

我很惊讶在GA网络界面中很难找到屏幕视图。我希望谷歌能够对网页视图等屏幕视图进行更改,并能够看到转换的流程图。

编辑:

然后我意识到这是因为我将所有数据发布到为网站配置的视图中,而不是移动应用。 (最初我们想在同一视图中跟踪应用和网络。)当我为移动设备创建新的GA视图时,现在一切都有意义。

答案 1 :(得分:1)

一切都非常好,只有您在屏幕上搜索的部分是错误的。所以转到>报告>实时>用于查看屏幕的屏幕,或者尝试在搜索框中搜索屏幕,这将为您提供各种选项,然后逐个尝试以获得正确的选项。

enter image description here

答案 2 :(得分:0)

要自动测量应用中的视图,请让视图控制器扩展GAITrackedViewController。设置名为screenName的属性,其中包含要在报告中显示的屏幕名称。

例如,假设您有一个“主屏幕”视图,您想要使用如下所示的视图控制器标题进行测量:

@interface HomeViewController : UIViewController

您可以将此标题更新为:

#import "GAITrackedViewController.h"

@interface HomeViewController : GAITrackedViewController

您还必须提供要在Google Analytics报告中使用的视图名称。放置它的一个好地方是视图控制器的初始化方法,如果你有一个,或者viewWillAppear:方法:

- (void)viewWillAppear:(BOOL)animated {
  [super viewWillAppear:animated];
  self.screenName = @"Home Screen";

}

有关详情,请浏览此链接Google Analytics

整个代码看起来像这样 enter image description here