集成IOS SDK
1. 集成准备
1.1 获取AppKey
集成GeekDataSDK之前,您首先需要到GeekData官网(https://www.geekdata.com)注册并且添加新应用,获得Appkey
1.2 下载相关SDK (最低支持iOS(8.0)版本)
注:私有化部署客户,请联系专属咨询顾问获取SDK。
2. 集成SDK步骤
按照 以下步骤将SDK导入到您的项目中。
2.1解压 iOS SDK 压缩文件;
2.2添加 GdAgent.h 和 libGdAgent.a、GdBundle.bundle 添加到您的 iOS 工程中;
提醒:
- 记得勾选 "Copy items if needed"
2.3 添加编译参数
在您的工程项目中添加编译参数
a.找到 Linking 设置
b.在 Other Linker Flags 中添加 -ObjC 参数,请注意大小写
提醒:
- Linking 设置位于 项目设置 target -> 选项卡 Build Settings,左上角选择 All。
2.4 添加初始化函数
在 AppDelegate 中引入#import "GdAgent.h"并添加启动方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//初始化SDK
[[GdAgent shareAgent] setIsLogEnabled:(true)];//正式发版时请关闭debug模式
[GdAgent startWithAppKey:@"a9b4642966ced5c1" appChannel:@"App Store"];
return YES;
}
2.5 添加URL Scheme
把 URL Scheme 添加到您的项目,以便我们唤醒您的程序,进行圈选。
URL Scheme 的格式是 gd.xxxxxxxxxxxxxxxx(gd.appkey)。
a. 添加您的 URL Scheme(gd.xxxxxxxxxxxxxxxx)到项目中,URL Scheme 位于项目设置 target -> 选项卡 Info -> URL Types
b. 在 AppDelegate 中调用函数 [GdAgent handleUrl:] 来接收 URL
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if ([GdAgent handleUrl:url])
{
return YES;
}
...
return NO;
}
提醒:
- 如果您的 AppDelegate 中,实现了其中一个或者多个方法,请在已实现的函数中,调用 [GdAgent handleUrl:],并确保代理方法被执行(未执行将不会启动圈选控制条)。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
- 如果以上所有函数都未实现,则请实现以下方法并调用 [GdAgent handleUrl:]。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation
实际情况可能很复杂,请在调试时确保函数 [GdAgent handleUrl:] 会被执行到。
2.6 swift支持
新建"Bridging-Header.h"文件,并在该文件中引入GdAgent头文件#import "GdAgent.h",在 TARGETS —> Build Settings 选项下 Objective-C Bridging Header 写入"Bridging-Header.h"文件的相对路径。
2.7 验证SDK集成log
a. 集成SDK 成功后控制台打印
2019-06-10 09:43:37.542182+0800 GdAgent[2648:146909] GdLog : debug模块 启动成功! 2019-06-10 09:43:37.547010+0800 GdAgent[2648:146909] GdLog : agent模块 启动成功! 2019-06-10 09:43:37.547450+0800 GdAgent[2648:146909] GdLog : crash模块 启动成功! 2019-06-10 09:43:38.297567+0800 GdAgent[2648:146909] GdLog : sdk 初始化完成! 2019-06-10 09:43:38.463103+0800 GdAgent[2648:146909] GdLog : get config接口 信息成功!
b. 点击任意按钮之后打印
2019-06-10 09:45:35.082576+0800 GdAgent[2648:146992] GdLog : post “e=click” 事件成功
3. 添加统计代码
3.1 添加自定义事件接口:
在需要统计事件的位置加入以下代码。
设置单个参数:
[GdAgent postEventevent:@"自定义事件id" value:@"m_Q1" key:@"1"];
设置多个参数:
NSDictionary *eventAttMap = @{@"m_Q1":@"1",
@"m_Q2":@"2",
@"d_Q3":@"3"};
[GdAgent postEventevent:@"自定义事件id" dict:eventAttMap];
3.2 添加自定义属性接口:
在需要定义属性的位置调用以下代码:
设置单个属性:
[GdAgent setAttributeValue:@"自定义的属性id" key:@"2"];
设置多个属性:
NSDictionary *attributeMap = @{@"自定义的属性id":@"100",
@"自定义的属性id":@"101",
@"自定义的属性id":@"102"};
[GdAgent setAttributeDict:attributeMap];
3.3添加绑定用户信息接口:
在需要登陆入口或者其他需要绑定用户信息的地方调用以下代码:
设置用户信息:
//设置用户信息
UserBean *userBean = [[UserBean alloc]init];
userBean.userId = @"788";
userBean.userRegesterChannel = @"微信";
userBean.userGender = @"男";
....
[GdAgent bindUserInfo:userBean];
更多默认用户属性,请参考:用户属性
3.4设置私有化服务器地址:
+ (void)setBaseDgtUrl:(NSString *)dgtUrl dgaUrl:(NSString *)dgaUrl ftpUrl:(NSString *)ftpUrl;
(私有化客户调用此方法,参数需和私有化工程师确认)
4.调试模式
在SDK初始化时可以设置debug模式,此模式下可查看SDK log 。代码如下
[[GdAgent shareAgent] setIsLogEnabled:(true)];//正式发版时请关闭debug模式
[GdAgent startWithAppKey:@"a9b4642966ced5c1" appChannel:@"App Store"];. 采集Error数据
5.采集Error数据
自动采集奔溃日志,无需特殊配置。
登录GeekData官网后台查看
例如:
6.实现APP与H5页面数据打通
6.1 为什么要实现APP与H5页面数据打通
APP嵌套H5混合开发在互联网APP中非常多见。但对有h5嵌套的APP端用户行为分析时,传统用户行为分析平台经常会出现“断档”的情况:
a.当用户通过APP端跳转到h5页面,APP端采集的用户属性数据不能迁移到h5,导致数据缺失,原生APP只起到了一个浏览器的作用。
b.APP端贡献给h5的流量,因数据未与APP打通共享,导致APP数据源从根本上出现缺失,造成一定程度上分析决策偏差。
为了更好的解决APP与h5贯通的问题,GeekData研发出APP与h5完全贯通的移动端SDK,顺利解决该问题。
6.2 场景
某产品首页上线活动,有多少用户点击跳转到h5页面,有多少用户参加活动,有多少用户真正完成目标事件。在APP与h5贯通的情况下即可以按照用户的设备类型,下载渠道等APP端的用户属性细分进行多维度的细分,研究不同维度活动转化路径的效果的关键影响因素,复盘活动效果,提升活动转化率。
6.3 使用GeekData自动采集H5页面的数据,无需特殊配置。
7. 注意事项
7.1 为了不影响圈选,请设置允许 HTTP 协议请求。
7.2 扫码圈选时请使用浏览器,微信和支付宝不支持打开应用。
7.3 需要在工程项目中添加 "libresolv.tbd"库文件
8. 技术支持
8.1 查看集成Demo
8.2 如有任何问题可联系我们公司客服或技术人员进行解答。