我正在尝试实施谷歌分析..你们可以帮助我吗
-(void) setGoogleAnalytics{
// Initialize tracker.
self.tracker = [[GAI sharedInstance] trackerWithName:@"ipad app"
trackingId:kTrackingID];
NSDictionary *appDefaults = @{kAllowTracking: @(YES)};
[[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];
// User must be able to opt out of tracking
[GAI sharedInstance].optOut =
![[NSUserDefaults standardUserDefaults] boolForKey:kAllowTracking];
// 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 = 5;
// Optional: set Logger to VERBOSE for debug information.
[[[GAI sharedInstance] logger] setLogLevel:kGAILogLevelVerbose];
[[GAI sharedInstance] setTrackUncaughtExceptions:YES];
}
并在
中调用它 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
[self setGoogleAnalytics];
//
//
//
}
在我的ViewController实现中
[self dispatchEvent:@"Purchase Done"];
[self trackViewName:NSStringFromClass([self class])];
-(void) trackViewName:(NSString *) strClassName{
[[GAI sharedInstance] defaultTracker];
self.screenName=[NSString stringWithFormat:@"%@",strClassName];
[self.tracker send:[[NSDictionary alloc] initWithObjectsAndKeys:strClassName,@"ViewName", nil]];
[[GAI sharedInstance] dispatch];
}
- (void)dispatchEvent:(NSString *)strButtonText{
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"ui_action" // Event category (required)
action:@"button_press" // Event action (required)
label:strButtonText // Event label
value:nil] build]]; // Event value = [[GAI sharedInstance] defaultTracker];
[[GAI sharedInstance] dispatch];
}
哪个版本的谷歌分析,我应该下载目前我已经下载谷歌GoogleAnalyticsServicesiOS_3.01.zip(推荐)因为我不想使用测试版GoogleAnalyticsiOS_2.0beta4.zip
答案 0 :(得分:11)
更新 - 适用于iOS v3的Google AnalyticsSDK
所以我使用的是v3,没有任何问题:
我在AppDelegate中实现了它。在.h文件中:
#import "GAI.h"
@property (nonatomic,assign) id<GAITracker> tracker; // I'm not using ARC (assign)
的.m:
#import "GAIDictionaryBuilder.h"
#import "GAIFields.h"
// GOOGLE ANALYTICS
[GAI sharedInstance].trackUncaughtExceptions = YES;
[GAI sharedInstance].dispatchInterval = 0;
tracker = [[GAI sharedInstance] trackerWithTrackingId:@"yourGAID"];
并编写一个这样的方法:
- (void) sendGoogleAnalyticsView:(NSString*)viewName{
[tracker set:kGAIScreenName value:viewName];
[tracker send:[[GAIDictionaryBuilder createAppView] build]];
[[GAI sharedInstance] dispatch]; // this will force track your views.
}
旧答案:
请看下面这个链接的答案,如果你这样做,就像我在这个答案中所说的一样,它必须工作
Another stack-overflow answered question about google-analytics
并使用以下方法:
[GAI sharedInstance].optOut = YES;
[GAI sharedInstance].dispatchInterval = 0;
[GAI sharedInstance].trackUncaughtExceptions = YES;
tracker = [[GAI sharedInstance] trackerWithTrackingId:@"YOUR TRACKERID"];
[tracker sendView:@"Your View name"];
[tracker sendEventWithCategory:@"YOUR CATEGORY" withAction:@"YOUR ACTION" withLabel:nil withValue:nil];
从this link下载GoogleAnalyticsiOS_2.0beta4.zip,这将包含您需要的那些课程,并且它将完美运行。小心,谷歌分析有一个提前期,向您显示有关实时的信息。
之后只有一天才能显示实时数据编辑3.0:
我发现了一些对你有用的东西:
我们刚遇到这个问题,这有点过时了 所以这是一个更新的答案。我们之后遇到的问题 他们会指导您使用Google Analytics网站上的说明 添加以下文件
GAI.h
,GAIDictionaryBuilder.h
,GAILogger.h
,GAITrackedViewController.h
,GAITracker.h
和libGoogleAnalytics_debug.a
库。他们完全忘记了什么 包括在网站上的说明是您必须的 包括libGoogleAnalyticsServices.a
库。这包含在 压缩下载,但没有说明要包括 这在调试版本中。注意:在readme.txt
libGoogleAnalyticsServices.a
中仅提及 至于libGoogleAnalytics.a
谷歌未能更新他们的 包含新名称或正确说明的文档 表明这在调试中是必需的。大多数文件和库
GAI.h
GAIDictionaryBuilder.h
GAIFields.h
GAILogger.h
GAITrackedViewController.h
GAITracker.h
libGoogleAnalytics.a // Also know as libGoogleAnalyticsServices.a
libGoogleAnalytics_debug.a
加信息:
我很确定谷歌还没有提供他们的arm64版本
libGoogleAnalyticsServices.a
,这真的很烦人......它有 自公众发布Xcode 5GM以来已经有好几周了。目前,我估计只为armv7,armv7s或删除谷歌构建 分析直到他们从裤子里出来。
这是实现它的iOS Getting Started Guide.。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 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 = 0;
// Optional: set Logger to VERBOSE for debug information.
[[[GAI sharedInstance] logger] setLogLevel:kGAILogLevelVerbose];
// Initialize tracker.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXX-Y"];
}
要手动发送屏幕视图,请在跟踪器上设置屏幕字段值,然后发送匹配:
// May return nil if a tracker has not already been initialized with a
// property ID.
id tracker = [[GAI sharedInstance] defaultTracker];
// This screen name value will remain set on the tracker and sent with
// hits until it is set to a new value or to nil.
[tracker set:kGAIScreenName
value:@"Home Screen"];
[tracker send:[[GAIDictionaryBuilder createAppView] build]];
或自动屏幕测量:
使用自动将视图测量为屏幕
GAITrackedViewController
课程。拥有每个视图控制器 扩展GAITrackedViewController
并添加一个名为screenName的属性。 此属性将用于设置屏幕名称字段。
//
// MyViewController.h
// An example of using automatic screen tracking in a ViewController.
//
#import "GAITrackedViewController.h"
// Extend the provided GAITrackedViewController for automatic screen
// measurement.
@interface AboutViewController : GAITrackedViewController
@end
//
// MyViewController.m
//
#import "MyViewController.h"
#import "AppDelegate.h"
@implementation MyViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Set screen name.
self.screenName = @"Home Screen";
}
// Rest of the ViewController implementation.
@end
事件跟踪:
要将活动发送到Google Analytics,请使用 GAIDictionaryBuilder.createEventWithCategory:action:label:value:和 发送命中,如下例所示:
// May return nil if a tracker has not already been initialized with a property
// ID.
id<GAITracker> = [[GAI sharedInstance] defaultTracker];
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"ui_action" // Event category (required)
action:@"button_press" // Event action (required)
label:@"play" // Event label
value:nil] build]]; // Event value
答案 1 :(得分:10)
我和3.01有同样的问题。我的问题实际上出现在Google Analytics管理部分。
我有一个适用于移动设备的配置文件设置(实际上设置好像是一个网站),它与版本1.x一起使用。然而,似乎Google现在也实现了“移动”配置文件。我相信3.x移动SDK无法跟踪“Web”配置文件。
按照此处的说明创建新的个人资料。然后使用新的跟踪ID,它应该开始跟踪。
注意:不要像其他人建议的那样将dispatchInterval设置为0,这也会阻止跟踪,将其设置为1.这为我修复了一切。
答案 2 :(得分:1)
在 AppDElegate.m 文件中:
#import "AppDelegate.h"
#import "GAI.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[GAI sharedInstance].trackUncaughtExceptions = YES;
[GAI sharedInstance].dispatchInterval = 1;
[[[GAI sharedInstance] logger]setLogLevel:kGAILogLevelVerbose];
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"TrackingId"];
[GAI sharedInstance].defaultTracker = tracker;
return YES;
}
在 ViewController.h
中#import <UIKit/UIKit.h>
#import "GAITrackedViewController.h"
@interface FirstViewController : GAITrackedViewController
@end
在 ViewController.m
中- (void)viewDidLoad {
[super viewDidLoad];
self.screenName = @"RED Screen";
}
试试吧。这对我很有用。我尝试了三个以上的应用程序。而且所有人都在实时工作。如果您的应用的帐户是新的,那么您可能必须等待 24小时或更长时间才能看到结果。有时需要时间来显示实时数据而无需任何理由。
由于旧版Google Analytics sdk,有时它也无效。要获得最新的sdk,您可以使用可可豆荚。这是程序:
platform :ios, '10.0'
target “GoogleAnalyticsTestApp” do
pod 'GoogleAnalytics'
end
将这些行写入项目目录中的pod文件并保存。然后安装pod。要了解如何安装cocoa pod,请参阅链接:
Error importing Google Analytics iOS SDK using Cocoa Pods
不要撰写Google / Analytics。写GoogleAnalytics。希望它能解决问题。
答案 3 :(得分:0)
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@protocol GAITracker;
@interface GAITrackedViewController : UIViewController {
@private
id<GAITracker> tracker_;
NSString *trackedViewName_;
}
@property(nonatomic, assign)id<GAITracker> tracker;
@property(nonatomic, copy)NSString *trackedViewName;
@end
Paste this code on "GAITrackedViewController.h" file
Then you can use self.trackedName = @"Some Name"; easly.