借助Google Analytics for iOS v2,Google建议将其GAITrackedViewController
类继承为子类UIViewController
.在UITableViewController的情况下我们做什么?
#import "GAITrackedViewController.h"
@interface AboutViewController : GAITrackedViewController
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,我试图通过谷歌分析跟踪屏幕.
我已在代理中设置了所有内容,并尝试自动跟踪三个屏幕.在三个屏幕中,其中只有一个是自动跟踪,另外两个我必须手动跟踪.我不明白为什么会这样,但我已经尝试寻找解决方案和答案,但没有一个出现.
自动屏幕跟踪在我的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
}
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为在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
Run Code Online (Sandbox Code Playgroud)
然后我做
-(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]];
}
Run Code Online (Sandbox Code Playgroud)
手动跟踪效果更好,因为我可以在实时屏幕跟踪下看到它.但由于某种原因,我仍然无法在Google Analytics中的行为/屏幕下看到FriendView或HomeView屏幕跟踪.我拥有的唯一数据来自SettingsView.
我更愿意使用自动屏幕跟踪,因为它的代码较少,但我尝试过这个解决方案 和其他各种尝试让自动屏幕跟踪工作,并在Google分析中可见,但事实并非如此.
要清楚,在这两种情况下,数据都不会显示在我的屏幕跟踪数据中.只有我的settingsView数据可见并发送.唯一的区别是,当我进行手动屏幕跟踪时,我可以看到实时数据,但它仍然没有显示在常规屏幕数据视图中.
我在我的应用程序中使用v 3.0.7.
提前感谢您提供任何解决方案.