谷歌分析ios屏幕视图
我已经在iOS应用程序中集成了google analytics SDK v3,现在我需要跟踪屏幕视图。以下是我目前在他们网站上看到的内容: 以下是我正在使用的代码(手动屏幕测量): 在didFinishLaunchingWithOptions上调用SetupGoogleAnalytics。在做了这些更改之后,我仍然在“屏幕视图”和“屏幕/会话”部分看到零。老实说,我不知道我错过了什么让它正常工作。这是我用来整合它的链接 以前有人遇到过同样的问题吗?有人对此有什么意见吗谷歌分析ios屏幕视图,ios,google-analytics-api,Ios,Google Analytics Api,我已经在iOS应用程序中集成了google analytics SDK v3,现在我需要跟踪屏幕视图。以下是我目前在他们网站上看到的内容: 以下是我正在使用的代码(手动屏幕测量): 在didFinishLaunchingWithOptions上调用SetupGoogleAnalytics。在做了这些更改之后,我仍然在“屏幕视图”和“屏幕/会话”部分看到零。老实说,我不知道我错过了什么让它正常工作。这是我用来整合它的链接 以前有人遇到过同样的问题吗?有人对此有什么意见吗 提前感谢您的帮助…我就是
提前感谢您的帮助…我就是这样做的,效果很好。 对于每个我的ViewController的ViewDid,将显示:
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker set:kGAIScreenName value:@"XXX view"];
[tracker send:[[GAIDictionaryBuilder createAppView] build]];
kGAILogLevelVerbose记录每20秒发送到服务器的活动,以便您可以看到它。这仅用于调试目的,请确保在提交应用程序之前对其进行注释
此外,您应该能够在实时屏幕视图上看到您的屏幕,在调试时只有一个用户
祝你好运。为了能够跟踪谷歌分析上的屏幕,我尝试了以下方法。你可以试试看它是否适合你 首先,确保根据Google提供的指南正确配置了头文件和项目: 接下来,在要跟踪的屏幕的viewdiload下:-
- (void)viewDidLoad
{
[super viewDidLoad];
id tracker = [[GAI sharedInstance] defaultTracker];
[tracker set:kGAIScreenName value:@"Home Screen"];
[tracker send:[[GAIDictionaryBuilder createAppView] build]];
}
在视图下显示:-
-(void)viewDidAppear:(BOOL)animated{
self.screenName = @"Home Screen";
[super viewDidAppear:animated];
}
这没有错self.screenName
必须放在[super-viewdide:animated]之前代码>以便在Google Analytics上跟踪屏幕。这很奇怪,但它只能在我自己的项目中的一些特殊情况下工作。也许它也会对你的项目起作用
注意:查看加载和查看显示的屏幕名称应相同。常规设置
摘自谷歌分析iOS文档。
您可能希望将其中一些添加到您的didfishlaunchingwithoptions
// Optional: automatically send uncaught exceptions to Google Analytics.
[GAI sharedInstance].trackUncaughtExceptions = YES;
// Optional: set Google Analytics dispatch interval to e.g. 20 seconds.
[GAI sharedInstance].dispatchInterval = 20;
// Optional: set Logger to VERBOSE for debug information.
[[[GAI sharedInstance] logger] setLogLevel:kGAILogLevelVerbose];
// Initialize tracker. Replace with your tracking ID.
[[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXX-Y"];
此外,您还有两个选项来跟踪视图控制器事件
选项A-实现自动屏幕测量
让google analytics自动测量应用程序中的视图,让视图控制器扩展GAITrackedViewController
。将名为screenName
的属性设置为要在报告中显示的屏幕名称
#import "GAITrackedViewController.h"
@interface HomeViewController : GAITrackedViewController
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.screenName = @"Your screen name that should show up in Google Analytics";
}
选项B-手动跟踪屏幕事件
手动触发每个所需ViewController的事件。
将以下内容添加到视图控制器的视图显示中
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker set:kGAIScreenName value:@"Your screen name that should show up in Google Analytics"];
[tracker send:[[GAIDictionaryBuilder createAppView] build]];
id tracker=[[GAI sharedInstance]defaultTracker];
[tracker set:kGAIScreenName值:@“您的屏幕名称应显示在Google Analytics中”];
[跟踪器发送:[[GAIDictionaryBuilder createAppView]生成]];
hello@Maystro您今天必须在GoogleAnalytics帐户上设置日期,
然后你可以在那里看到你的时事。如果你没有那么做。
我读到你说“谢谢你的输入,情况就是这样。我需要等待至少12小时才能在谷歌分析页面上看到更新的数据。-Maystro 6月27日6:34”
请申请
[GAI sharedInstance].dispatchInterval = 10;
每10秒快速响应一次。
并检查在AppDelegate.m中应用的以下块
打电话
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self startGoogleAnalytics];
....//your other code
}
- (void)startGoogleAnalytics
{
NSDictionary *appDefaults = @{kAllowTracking: @(YES)};
[[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];
// User must be able to opt out of tracking
[GAI sharedInstance].optOut =
![[NSUserDefaults standardUserDefaults] boolForKey:@"allowTracking"];
// Initialise Google Analytics with a 120-second dispatch interval. There is a
// tradeoff between battery usage and timely dispatch.
[GAI sharedInstance].dispatchInterval = 10;
[GAI sharedInstance].trackUncaughtExceptions = YES;
[[GAI sharedInstance] trackerWithName:@"XYZ_Tracker"
trackingId:@"UA-XXXX-Y"];
}
然后使用发送屏幕状态
self.screenName = @"Your screen name that should show up in Google Analytics";
或
希望!您的需求将通过上述步骤解决Swift 3
let tracker = GAI.sharedInstance().defaultTracker
tracker?.set("Home Screen", value: "Home Screen")
let screenTracker: NSObject = GAIDictionaryBuilder.createScreenView().build()
tracker?.send(screenTracker as! [AnyHashable: Any])
@Maystro您确保在didFinishLauching中设置了GAI?老实说,我的实现似乎是正确的,因为现在数据每天都在更新。问题是我不知道我需要等待至少12个小时才能正确更新数据。感谢您的输入,但我无法接受您的答案。今天,我刷新了Google analytics页面,最后,它显示iOS屏幕视图为112,但我不知道它们是如何获得的(我尝试了太多的解决方案,我不知道哪一个是正确的)。我的问题是:Google analytics是否需要时间来刷新/显示更新的值,因为它不是实时数据?是的,它确实需要一些时间来显示,至少12小时。但有一个特点是“实时”,它应该显示实时数据。我建议您将跟踪代码放在viewDidLoad和ViewDidDisplay上。只要同一视图控制器中的屏幕名称相同,它就会将它们视为一个单独的屏幕。感谢您的输入,情况就是这样。我需要等待至少12小时才能在Google analytics页面上看到更新的数据。为什么不直接使用ViewWillAppeal?这样,在调用ViewDidDisplay上的super之前,就不必费心设置变量了。您甚至不需要覆盖ViewDidDisplay。
self.screenName = @"Your screen name that should show up in Google Analytics";
[[tracker set:kGAIScreenName value:@"Your screenName"]build]];
let tracker = GAI.sharedInstance().defaultTracker
tracker?.set("Home Screen", value: "Home Screen")
let screenTracker: NSObject = GAIDictionaryBuilder.createScreenView().build()
tracker?.send(screenTracker as! [AnyHashable: Any])