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 Schemearrow-up-right

(2)手动集成 SDK

circle-exclamation

添加依赖, 在项目中添加以下库文件

库名称

类型

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圈选

circle-exclamation

添加编译参数,注意大小写:

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 接口,供您上传一些自定义事件arrow-up-right变量arrow-up-right,下面介绍自定义事件和变量 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 方法

circle-exclamation

clearUserId

当用户登出之后调用clearUserId,清除已经设置的登录用户ID。

埋点SDK支持的其他接口

triangle-exclamation

埋点SDK除了支持上面的打点事件,还支持以接口,接口详情请参考IOS SDK APIarrow-up-right中的说明:

Last updated