API Cloud埋点 SDK

GrowingIO 埋点 SDK 仅自动采集设备信息和您埋点内容。

1.配置Config.xml文件

使用此模块前先配置config.xml文件,方法如下

• 名称:GrowingIO

• 必要参数: accountId, urlScheme

• 可选参数: trackerHost, reportHost, dataHost, gtaHost, wsHost, zone

<feature name="GrowingIO">
<param name="android_accountId" value="xxxxx"/>
<param name="ios_accountId" value="xxxx"/>
<param name="ios_urlScheme" value="xx ios项目的urlScheme xx"/>
<param name="android_urlScheme" value="xx android项目的urlScheme xx"/>
<param name="trackerHost" value="xxxxx"/>
<param name="reportHost" value="xxxxx"/>
<param name="dataHost" value="xxxxx"/>
<param name="gtaHost" value="xxxxx"/>
<param name="wsHost" value="xxxxx"/>
<param name="zone" value="xxxxx"/>
<param name="channel" value="xxxx"/>
<param name="debug" value="true or false"/>
</feature>
<preference name="urlScheme" value=" xx ios项目的urlScheme x " />
<preference name="urlScheme" value=" xx android项目的urlScheme x " />

注意preference的urlScheme需要配置两个, 一个为Android项目的, 另一个为IOS项目的, 如果只有一个平台填写自己相应平台的即可, 同理feature中的android_urlScheme与ios_urlScheme

注意preference中ios项目的urlScheme在前,android项目的urlScheme在后,需要保证顺序

2.下载模块zip包

iOS模块包:下载

Android模块包:下载

3.添加模块

开发控制台-> 选择应用-> 模块-> 自定义模块-> 点击上传-> 编写自定义模块信息(注意:模块名称要和zip包名称一致)-> 点击添加模块"+" -> 在已添加模块中确认是否成功添加。

注意:在自动定义模块中上传了压缩包,保存成功后。一定要点击添加模块后面的“+”,否则不是真正添加成功。添加成功后,去已添加模块中能看到刚刚添加的模块。

4.Android的额外操作

Android云编译Loader为AppLoader, 使用自定义模块式需要编译Android自定义loader, 否则会出现模块未绑定错误, 另外需要注意的是在使用自定义loader时 请勾选 使用升级环境编译选项

具体步骤如下:

(1)模块-自定义loader: 请勾选 使用升级环境编译

(2)云编译时, 请勾选 使用升级环境编译

5.插件API

初始化

gio.init();

此接口为Android初始化, 在require后调用,iOS不需要,iOS已自动初始化建议在require GrowingIO时调用此接口

vargio =null;
apiready=function(){
gio =api.require('GrowingIO');
gio.init();
}

设置地理位置

gio.setGeoLocation(location);

参数名

类型

是否必填

参数描述

location

object

经纬度

调用示例:

var gio = api.require('GrowingIO'); //引用模块
var param = {"longitude": longitude, "latitude": latitude}
gio.setGeoLocation(param);

采集自定义事件

gio.track(event, callback);

参数名

类型

是否必填

参数描述

event

object

key:eventId(string类型,必要key) value:(string类型)

key:eventLevelVariable(string类型,非必要key) value:(object类型)

key:number(string类型, 非必要key) value(number类型)

callback

函数

allback {function (ret)}:执行完读取操作后的回调函数。

ret 为 callback 函数的参数,有两个属性:

status:结果2种 true, false 都为布尔类型

msg:结果string类型

调用示例:

var gio = api.require('GrowingIO'); //引用模块
gio.track({
eventId: 'GIOKey'
},function(ret, err){
//回调函数事件处理
});

设置转化变量

gio.setEvar(conversionVariables,callback);

参数名

类型

是否必填

参数描述

conversionVariables

object

callback

函数

callback {function (ret)}:执行完读取操作后的回调函数。

ret 为callback 函数的参数,有两个属性:

status:结果2种true, false 都为布尔类型

msg:结果string类型

调用示例:

var gio = api.require('GrowingIO'); //引用模块
gio.setEvar({
"ekey":"evalue","Date":"2018-07-02"
},function(ret, err){
//回调函数事件处理
});

设置用户级变量

gio.setPeopleVariable(peopleVariables,callback);

参数名

类型

是否必填

参数描述

peopleVariables

object

callback

函数

callback {function (ret)}:执行完读取操作后的回调函数。

ret 为callback 函数的参数,有两个属性:

status:结果2种true, false 都为布尔类型

msg:结果string类型

调用示例:

var gio = api.require('GrowingIO'); //引用模块
gio.setPeopleVariable({
"ekey":"evalue","Date":"2018-07-02"
},function(ret, err){
//回调函数事件处理
});

关联注册用户

gio.setUserId(userIdObject,callback);

参数名

类型

是否必填

参数描述

userIdObject

object

key:userId(string类型,必要key) value:(string或者number类型)

callback

函数

callback {function (ret)}:执行完读取操作后的回调函数。

ret 为 callback 函数的参数,有两个属性:

status:结果2种true, false 都为布尔类型

msg:结果string类型

调用示例:

var gio = api.require('GrowingIO'); //引用模块
gio.setUserId({
"userId":"GIO"
},function(ret, err){
//回调函数事件处理
});

解除关注册用户

gio.clearUserId(callback);

参数名

类型

是否必填

参数描述

callback

函数

callback {function (ret)}:执行完读取操作后的回调函数。

ret 为callback 函数的参数,有两个属性:

status:结果2种true, false 都为布尔类型

msg:结果string类型

调用示例:

var gio = api.require('GrowingIO'); //引用模块
gio.clearUserId(function(ret, err){
//回调函数事件处理
});

设置访问用户变量

当用户未登录时,定义用户属性变量,也可用于A/B测试上传标签。

gio.setVisitor(visitorVar);

参数名

类型

是否必填

参数描述

visitorVar

Object

不可使用嵌套的JSONObject对象,即为JSONObject中不可以放入JSONObject或者JSONArray

key 长度限制小于等于50,value长度限制小等于1000,值不能为空串,也就是""。

调用示例:

var gio = api.require('GrowingIO'); //引用模块
gio.setVisitor({"gender":"male","age":21});

6.常见问题

1. 提示无法检测到 UrlScheme?

答:(1)查看config.xml是否配置正确

(2)需要同步代码到云端,云编译生效

2. 模拟器无法test?


答: 只能真机测试

3. 如何查看发送的数据?


答: 您可以使用GrowingIO官网提供的mobileDebugger工具来查看

4. 此模块是否包含IDFA?


答: 包含IDFA, GrowingIO 使用IDFA 来做来源管理激活设备的精确匹配,让你更好的衡量广告效果。

5. 官网web提示未检测到sdk?


答: 请使用正式版包来操作几次

App Store 提交应用注意事项

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,打勾。