首先搭建开发环境:
一、先下载Google Analytics(谷歌分析)SDK。 https://developers.google.com/analytics/devguides/collection/ios/v3/(文档介绍)
https://developers.google.com/analytics/devguides/collection/ios/v3/sdk-download(SDK)
二、下载的SDK文件包含下面几个文件夹和文件
2)
//-----------Google Analytics
static NSString *const kCutePetsPropertyId = @"UA-59672263-2";
// Dispatch interval for automatic dispatching of hits to Google Analytics.
// Values 0.0 or less will disable periodic dispatching. The default dispatch interval is 120 secs.
static NSTimeInterval const kCutePetsDispatchInterval = 120.0;
// Set log level to have the Google Analytics SDK report debug information only in DEBUG mode.
#if DEBUG
static GAILogLevel const kCutePetsLogLevel = kGAILogLevelVerbose;
#else
static GAILogLevel const kCutePetsLogLevel = kGAILogLevelWarning;
#endif
//-----------
// Automatically send uncaught exceptions to Google Analytics.
[GAI sharedInstance].trackUncaughtExceptions = YES;
// Set the dispatch interval for automatic dispatching.
[GAI sharedInstance].dispatchInterval = kCutePetsDispatchInterval;
// Set the appropriate log level for the default logger.
[GAI sharedInstance].logger.logLevel = kCutePetsLogLevel;
// Initialize a tracker using a Google Analytics property ID.
[[GAI sharedInstance] trackerWithTrackingId:kCutePetsPropertyId];
-(void)viewWillAppear:(BOOL)animated{
[self showGoogleAnalytics];
}
//-----------Google Analytics
-(void)showGoogleAnalytics
{
NSMutableDictionary *event =
[[GAIDictionaryBuilder createEventWithCategory:@"Homepage"
action:(nil )
label:nil
value:nil] build];
[[GAI sharedInstance].defaultTracker send:event];
[[GAI sharedInstance] dispatch];
}
谷歌分析iOS开发包实战
发布于:2014-01-08 10:53阅读数:12022
本篇教程将会带你浏览谷歌分析开发包(Google Analytics)的所有主要内容。与此同时,你能够体验将Google Analytics添加到一款适用跑步爱好者的计时器应用中,通过添加SDK记录用户使用各种功能和
“ ”![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108105417_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108105524_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108105623_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108105631_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108105723_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108105734_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108105743_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108105751_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108105853_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108105900_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108105925_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108110046_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108110225_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108110314_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108110322_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108110330_1.png)
- #import "GAI.h"
- #import "GAIFields.h"
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108110406_1.png)
- // 1
- [GAI sharedInstance].trackUncaughtExceptions = YES;
- // 2
- [[GAI sharedInstance].logger setLogLevel:kGAILogLevelVerbose];
- // 3
- [GAI sharedInstance].dispatchInterval = 20;
- // 4
- id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXXXXX-Y"];
- #import "GAITrackedViewController.h"
- @interface ClockViewController : GAITrackedViewController
- @end
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- self.screenName = @"Clock";
- }
- #import GAIDictionaryBuilder.h
- - (void)viewDidAppear:(BOOL)animated {
- [super viewDidAppear:animated];
- id tracker = [[GAI sharedInstance] defaultTracker];
- [tracker set:kGAIScreenName value:@"Stopwatch"];
- [tracker send:[[GAIDictionaryBuilder createAppView] build]];
- }
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108110816_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108110832_1.png)
- -(void)logButtonPress:(UIButton *)button{
- id tracker = [[GAI sharedInstance] defaultTracker];
- [tracker set:kGAIScreenName value:@"Stopwatch"];
- [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"UX"
- action:@"touch"
- label:[button.titleLabel text]
- value:nil] build]];
- [tracker set:kGAIScreenName value:nil];
- }
- -(IBAction)startToggle:(id)sender{
- [self logButtonPress:(UIButton *)sender];
- ...
- }
- -(IBAction)reset:(id)sender{
- [self logButtonPress:(UIButton *)sender];
- ...
- }
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108111621_1.png)
- id tracker = [[GAI sharedInstance] defaultTracker];
- [[GAI sharedInstance] setDefaultTracker:tracker2];
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- ...
- NSString *version = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
- [tracker set:kGAIAppVersion value:version];
- [tracker set:kGAISampleRate value:@"50.0"];
- }
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108112104_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108112033_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108112024_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108112006_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108111935_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108111927_1.png)
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108111914_1.png)
- [[GAI sharedInstance] setOptOut:YES];
- #import <UIKit/UIKit.h>
- @interface SSAppDelegate : UIResponder <UIApplicationDelegate, UIAlertViewDelegate>
- @property (strong, nonatomic) UIWindow *window;
- @end
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- ...
- UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"Google Analytics" message:@"With your permission usage information will be collected to improve the application." delegate:self cancelButtonTitle:@"Opt Out" otherButtonTitles:@"Opt In", nil];
- [av show];
- return YES;
- }
- - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
- switch (buttonIndex) {
- case 0:
- [[GAI sharedInstance] setOptOut:YES];
- break;
- case 1:
- [[GAI sharedInstance] setOptOut:NO];
- break;
- default:
- break;
- }
- }
![](http://www.cocoachina.com/cms/uploads/allimg/140108/4196_140108112722_1.png)