首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌分析ios屏幕视图

谷歌分析ios屏幕视图
EN

Stack Overflow用户
提问于 2014-06-23 13:28:34
回答 5查看 6.7K关注 0票数 3

我已经将v3集成到我的iOS应用程序中,现在我需要跟踪屏幕视图。下面是我在他们的网站上看到的内容:

下面是我使用的代码(手动屏幕测量):

代码语言:javascript
复制
+ (void)setupGoogleAnalytics
{
    // User must be able to opt out of tracking
    [GAI sharedInstance].optOut = NO;
    // Initialize Google Analytics with a 120-second dispatch interval. There is a
    // tradeoff between battery usage and timely dispatch.
    [GAI sharedInstance].dispatchInterval = 120;
    [GAI sharedInstance].trackUncaughtExceptions = YES;
    [[GAI sharedInstance].logger setLogLevel:kGAILogLevelVerbose];
    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
    [[GAI sharedInstance] trackerWithName:[infoDictionary objectForKey:@"CFBundleDisplayName"] trackingId:GOOGLE_ANALYTICS_TOKEN];
    [[GAI sharedInstance].defaultTracker set:kGAIAppVersion value:[infoDictionary objectForKey:@"CFBundleShortVersionString"]];

}

 + (void)dispatchLogView:(NSString *)viewName Category:(NSString *)category  action:(NSString *)action label:(NSString *)label value:(NSNumber*)value withProperties:(NSDictionary *)dictProp
{
    NSMutableDictionary *event = [[GAIDictionaryBuilder createEventWithCategory:category
                                            action:action
                                             label:label
                                             value:value] build];
    [[GAI sharedInstance].defaultTracker send:event];

    [[GAI sharedInstance].defaultTracker set:kGAIScreenName value:viewName];
    [[GAI sharedInstance].defaultTracker set:kGAIDescription value:viewName];
    [[GAI sharedInstance].defaultTracker send:[[GAIDictionaryBuilder createAppView] build]];

    [[GAI sharedInstance] dispatch];
}

SetupGoogleAnalytics在didFinishLaunchingWithOptions上被调用。在进行这些更改之后,我仍然在“屏幕视图”&“屏幕/会话”部分中看到零。老实说,我不知道我错过了什么让它正常工作。下面是我用来集成它的https://developers.google.com/analytics/devguides/collection/ios/v3/screens#manual的链接

以前有人遇到过同样的问题吗?有人对此有任何意见吗?

提前谢谢你的帮助..。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-06-26 05:28:45

为了能够跟踪上的屏幕,我尝试了以下方法。你可以试试看它是否适合你。

首先,确保按照Google:用于iOS v3的入门提供的指南正确配置了头文件和项目。

接下来,在您要跟踪的屏幕的viewDidLoad下面:-

代码语言:javascript
复制
- (void)viewDidLoad
{
    [super viewDidLoad];

    id tracker = [[GAI sharedInstance] defaultTracker];
    [tracker set:kGAIScreenName value:@"Home Screen"];
    [tracker send:[[GAIDictionaryBuilder createAppView] build]];
}

viewDidAppear:-下

代码语言:javascript
复制
-(void)viewDidAppear:(BOOL)animated{

    self.screenName = @"Home Screen";
    [super viewDidAppear:animated];
}

这是没有错的。为了在Google上跟踪屏幕,self.screenName 必须将放在[super viewDidAppear:animated];之前。这是奇怪的,但它只能在一些特殊的情况下,我自己的项目。也许它也会在你的项目上起作用。

注意:viewDidAppearviewDidload的屏幕名称应该是相同的。

票数 4
EN

Stack Overflow用户

发布于 2014-06-25 17:33:01

我就是这样做的,效果很好。对于我的每个ViewController的viewDidAppear:

代码语言:javascript
复制
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker set:kGAIScreenName value:@"XXX view"];
[tracker send:[[GAIDictionaryBuilder createAppView] build]];

我将其添加到AppDelegate的didFinishLauching中

代码语言:javascript
复制
[GAI sharedInstance].trackUncaughtExceptions = YES;
[[GAI sharedInstance].logger setLogLevel:kGAILogLevelVerbose];
[GAI sharedInstance].dispatchInterval = 20;
[[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXXXXXX-X"];

kGAILogLevelVerbose每20分钟记录一次它的活动发送到服务器,这样您就可以看到它。在您的情况下,这只是为了调试的目的,请确保在提交应用程序之前将其注释掉。

此外,您应该能够在实时screenView上看到在调试时有一个用户的屏幕。

祝好运。

票数 2
EN

Stack Overflow用户

发布于 2014-06-26 08:49:55

通用设置

摘自Google文档。您可能需要将其中一些添加到您的didFinishLaunchingWithOptions

代码语言:javascript
复制
// 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"];

此外,您还有两个选项可以跟踪视图控制器事件。

选项-实现自动屏幕测量

让谷歌分析自动测量你的应用程序中的视图,让你的视图控制器扩展GAITrackedViewController。设置一个名为screenName的属性,其名称为要在报表中显示的屏幕名称。

代码语言:javascript
复制
#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触发一个事件。将以下内容添加到视图控制器的viewDidAppear

代码语言:javascript
复制
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]];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24367213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档