1) ios篇
下载SDK
添加到ios中
绑定框架:
CoreData.framework
SystemConfiguration.framework
libz.dylib
libsqlite3.dylib
libGoogleAnalyticsServices.a
需要引用的类:
#import "GAI.h"
#import "GAIDictionaryBuilder.h"
#import "GAIFields.h"
参考官方:
https://developers.google.com/analytics/devguides/collection/ios/v3/
分析网址
https://apps.admob.com/#analyze
https://www.google.com/analytics/
其他
加入到cocos2dx : japan
关键字报错: 解决方案
初始化代码
//单例
GAI *gai = [GAI sharedInstance];
//未知
NSString* kAllowTracking = @"kAllowTracking";
NSDictionary *appDefaults = @{kAllowTracking: @(YES)};
[[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];
gai.optOut = ![[NSUserDefaults standardUserDefaults] boolForKey:kAllowTracking];
//自动发送未捕获的异常
gai.trackUncaughtExceptions = YES;
//自动发送数据, 在一定时间内, 比如[track send]只是寄存在内存, 而发送是在每隔10秒监测时, 发送会一并把多个send数据进行发送, 无数据不发送, 设置为0不自动发送, 使用手动的[gai dispatch]手动发送, 但是貌似手动发送使用get方式, 而自动发送使用post方式, 不太清楚具体原理
gai.dispatchInterval = 10;
发送代码
代码接上面
//获得默认的tracker
id<GAITracker> tracker = gai.defaultTracker;
//发送对应的值, 这里的key要加载 "GAIFields.h"
[tracker set:kGAIScreenName value:sceneName];
//发送默认数据, 并不马上发送, appViewDict可以通过GAIDictionaryBuilder创建任意类型的数据
NSMutableDictionary* appViewDict = [[GAIDictionaryBuilder createScreenView] build];
[tracker send:appViewDict];
//手动即时发送, 没测试成功 总会出现http status -1
[gai dispatch];
结果
暂未成功反馈到服务器
关键字对照表
kGAIUseSecure; //使用安全
kGAIHitType; //点击类型
kGAITrackingId; //跟踪id
kGAIClientId; //客户端id
kGAIDataSource; //数据源
kGAIAnonymizeIp; //匿名ip
kGAISessionControl; //会话控制
kGAIDeviceModelVersion; //设备型号版本
kGAIScreenResolution; //屏幕分辨率
kGAIViewportSize; //视窗大小
kGAIEncoding; //编码
kGAIScreenColors; //屏幕色彩
kGAILanguage; //语言
kGAIJavaEnabled; //允许运行java
kGAIFlashVersion; //flash版本
kGAINonInteraction; //非交互
kGAIReferrer; //引荐
kGAILocation; //位置
kGAIHostname; //主机名
kGAIPage; //页面
kGAIDescription; //屏幕名,场景名,描述,同kGAIScreenName
kGAIScreenName; //屏幕名,场景名,描述,同kGAIDescription
kGAITitle; //标题
kGAIAdMobHitId; //admob点击id
kGAIAppName; //app名称
kGAIAppVersion; //app版本号
kGAIAppId; //app的id号
kGAIAppInstallerId; //app安装者id号
kGAIUserId; //用户id号
kGAIEventCategory; //事件类别
kGAIEventAction; //事件动作
kGAIEventLabel; //事件标签
kGAIEventValue; //事件内容
kGAISocialNetwork; //社交网络
kGAISocialAction; //社交动作
kGAISocialTarget; //社交对象
kGAITransactionId; //交易id号
kGAITransactionAffiliation; //交易联系
kGAITransactionRevenue; //交易收入
kGAITransactionShipping; //交易运送
kGAITransactionTax; //交易税
kGAICurrencyCode; //国家代码
kGAIItemPrice; //道具售价
kGAIItemQuantity; //道具数量
kGAIItemSku; //道具库存量
kGAIItemName; //道具名称
kGAIItemCategory; //道具类型
kGAICampaignSource; //活动来源
kGAICampaignMedium; //活动媒介
kGAICampaignName; //活动内容
kGAICampaignKeyword; //活动关键字
kGAICampaignContent; //活动内容
kGAICampaignId; //活动id号
kGAICampaignAdNetworkClickId; //活动ad网络点击id号
kGAICampaignAdNetworkId; //活动ad网络id号
kGAITimingCategory; //计时类型
kGAITimingVar; //计时变量
kGAITimingValue; //计时内容
kGAITimingLabel; //计时标签名
kGAIExDescription; //之前描述
kGAIExFatal; //之前严重错误
kGAISampleRate; //采样率
kGAIIdfa; //广告标示符
kGAIAdTargetingEnabled; //ad对象可控
// hit types
kGAIScreenView; //屏幕视图
kGAIEvent; //事件
kGAISocial; //社交
kGAITransaction; //交易
kGAIItem; //道具
kGAIException; //例外
kGAITiming; //计时