iOS 埋点SDK
埋点 SDK 的目标用户是使用第三方插件开发的 APP, 比如使用 Weex、APICloud 等。在这些平台中,我们无法自动采集用户的点击事件和页面浏览事件等,需要依赖调用自定义事件和变量 API来进行数据采集。 如果您的 APP 使用 iOS 原生开发,并且希望自动采集用户的点击事件、页面浏览事件等无埋点事件, 请集成 iOS 无埋点SDK 。
埋点 SDK集成
1. 选择集成方式
注意: 请保证Growing,GrowingCoreKit版本号一致
(1)使用 CocoaPods 快速集成
添加
pod 'GrowingCoreKit'到 Podfile 中执行
pod update,不要用--no-repo-update选项(optional) GrowingIO推荐您添加AdSupport.framework依赖库,用于来源管理激活匹配,有利于您更好的分析数据 ,添加项目依赖库的位置在项目设置target -> 选项卡General -> Linked Frameworks and Libraries
直接进行第 2 步 “设置 URL Scheme”
(2)手动集成 SDK
下载 iOS SDK以下包:GrowingHeader ,GrowingCoreKit
解压 iOS SDK 压缩文件
将Growing.h,GrowingCoreKit.framework添加到iOS工程中。
提醒: 记得勾选 "Copy items if needed"
添加依赖, 在项目中添加以下库文件
库名称
类型
Foundation.framework
基础依赖库
Security.framework
用于SSL连接
CoreTelephony.framework
用于读取运营商名称
SystemConfiguration.framework
用于判断网络状态
AdSupport.framework
用于来源管理激活匹配
libicucore.tbd
用于WebSocket
libsqlite3.tbd
存储日志
CoreLocation.framework
用于读取地理位置信息(如果您的app有权限)
JavaScriptCore.framework
Web圈app交互
WebKit.framework
Web圈选
提醒:添加项目依赖库的位置在项目设置target -> 选项卡General -> Linked Frameworks and Libraries
添加编译参数,注意大小写:

2. 设置URL Scheme
(1) 获取URL Scheme
• 添加新产品:登录官网-> 点击项目选择框-> 点击“项目管理” -> 点击“应用管理” -> 点击“新建应用”->选择添加iOS 应用-> 填写“应用名称“,点击下一步->在第二段中标黄字体。
• 现有产品:登录官网-> 点击项目选择框-> 点击“项目管理” -> 点击“应用管理” -> 找到对应产品的URL Scheme设置URL Scheme
(1) 获取URL Scheme
• 添加新产品:登录官网-> 点击项目选择框-> 点击“项目管理” -> 点击“应用管理” -> 点击“新建应用”->选择添加iOS 应用-> 填写“应用名称“,点击下一步->在第二段中标黄字体。
• 现有产品:登录官网-> 点击项目选择框-> 点击“项目管理” -> 点击“应用管理” -> 找到对应产品的URL Scheme

(2) 添加URL Scheme(growing.xxxxxxxxxxxxxxxx)到项目中
(3) 在AppDelegate 中添加代码
若您在 AppDelegate 中实现了以下一个或多个方法,请在已实现的函数中,调用[Growing handleUrl:]
若以上所有方法均未实现,请实现以下方法并调用[Growing handleUrl:]
实际情况可能很复杂,请在调试时确保函数[Growing handleUrl:]会被执行到。
3.添加初始化函数
在AppDelegate 中引入#import "Growing.h"并添加启动方法
请确保将代码添加在上面描述的位置,添加到其他函数中或者异步block 中可能导致数据不准确!
4.App Store 提交应用注意事项
如果您添加了库AdSupport.framework, GrowingIO则会启用 IDFA,所以在向 App Store 提交应用时,需要:
对于问题 Does this app use the Advertising Identifier (IDFA),选择 YES。
对于选项Attribute this app installation to a previously served advertisement,打勾。
对于选项Attribute an action taken within this app to a previously served advertisement,打勾。
为什么 GrowingIO 使用 IDFA? GrowingIO 使用 IDFA 来做来源管理激活设备的精确匹配,让你更好的衡量广告效果。如果您不希望启用IDFA,可以选择不引入 AdSupport.framework
至此,您的SDK安装就成功了。
自定义事件和变量 API
您的APP或网页在集成了 GrowingIO 的 SDK 之后,它将会自动地为您采集一系列用户行为数据,并在 GrowingIO 分析后台供您制成数据分析报表。除上述的用户行为数据(或称为无埋点数据)之外,GrowingIO 还提供了多种 API 接口,供您上传一些自定义事件和变量,下面介绍自定义事件和变量 API 使用方法。
SDK 提供多种不同类型的API,请根据您的实际需要正确地调用。
track
发送一个自定义事件。在添加所需要发送的事件代码之前,需要在打点管理用户界面声明事件以及事件级变量。
参数说明:
参数名称
参数类型
是否必须
说明
eventId
String
是
事件标识符
number
Number
否
事件的数值,没有number参数时,事件默认加1;当出现number参数时,事件自增number的数值。
eventLevelVariable
JSON Object
否
事件发生时所伴随的维度信息。
参数限制条件:
参数名称
限制条件
eventId
英文数字组合的字符串,不能为 nil 或者"",长度小于等于50,且不能含有特殊字符
number
正整数或浮点数
eventLevelVariable
不能为nil;eventLevelVariable 内部不允许含有JSONObject或者JSONArray;
key 长度限制小于等于50,value 长度限制小等于1000,值不能为空串,也就是""。
setEvar
发送一个转化信息用于高级归因分析,在添加代码之前必须在打点管理界面上声明转化变量。
参数说明:
参数名称
参数类型
是否必须
说明
key
String
否
转化变量的标识符
Value
String
否
转化变量的值
conversionVariables
JSON Object
否
转化变量用于高级归因分析
参数限制条件:
参数名称
限制条件
key
不能为 nil 或者"",长度小于等于50
Value
变量不为nil或者"",若为字符串则长度应小于等于 1000
conversionLevelVariable
不能为nil; conversionLevelVariable 内部不允许含有JSONObject或者JSONArray;
key 长度限制小于等于50,value 长度限制小等于1000,值不能为空串,也就是""。
setPeopleVariable
发送用户信息用于用户信息相关分析,在添加代码之前必须在打点管理界面上声明用户变量。
参数说明:
参数名称
参数类型
是否必须
说明
key
String
否
用户变量的标识符
value
String
否
用户变量的值
customerVariables
JSON Object
否
用户变量用于用户信息相关的分析
参数限制条件:
参数名称
限制条件
key
不能为nil或"",长度小于等于50
value
变量不为nil或者"",若为字符串则长度应小于等于 1000
customerVariables
不能为nil;customerVarialbes 内部不允许含有JSONObject或者JSONArray;
key 长度限制小于等于50,value 长度限制小等于1000,值不能为空串,也就是""。
setVisitor
2.4.0以上版本支持
当用户未登录时,定义用户属性变量,也可用于A/B测试上传标签。
参数说明:
参数名称
参数类型
是否必须
说明
variable
JSON Object
是
访问用户信息
参数限制条件:
参数名称
限制条件
variable
不能为nil;variable 内部不允许含有JSONObject或者JSONArray;
key 长度限制小于等于50,value 长度限制小等于1000,值不能为空串,也就是""。
setUserId
当用户登录之后调用setUserId API,设置登录用户ID。
参数说明:
参数名称
参数类型
是否必须
说明
userId
String
是
用户的登录用户ID
参数限制条件:
参数名称
限制条件
userId
英文数字组合的字符串,长度小于等于1000,且不能含有特殊字符,不允许传空、"" 或者nil,如有清除操作,请调用 clearUserId 方法
如果您的应用是App,且每次用户升级App版本时无需重新登录的话,建议在用户每次升级App版本后初次访问时重新调用上述 setUserId 方法。
clearUserId
当用户登出之后调用clearUserId,清除已经设置的登录用户ID。
埋点SDK支持的其他接口
GrowingIO 埋点 SDK 仅自动采集设备信息和您埋点内容数据,对比无埋点 SDK ,埋点 SDK 少很多 API, 请勿在埋点 SDK 中调用无埋点 SDK 接口。
埋点SDK除了支持上面的打点事件,还支持以接口,接口详情请参考IOS SDK API中的说明:
Last updated