Hybrid JS SDK

无埋点 SDK 自动注入此 SDK,无需集成。采集App内嵌H5的用户行为数据。

简介

集成Android 无埋点SDKiOS 无埋点SDK 后,原生无埋点SDK会自动在 WebView 加载的页面中注入 Hybrid JS SDK,不需要手动集成此 SDK。

Hybrid JS SDK 负责采集用户在 App 中内嵌 H5 页面中的用户行为数据。

重要配置项

1. 在 App 中禁用 Web JS SDK

如果 H5 页面已经集成过 Web JS SDK,但不想在 App 中进行 Web JS SDK 的采集时,请将 window.webViewRequestSend的值为 false。

2. 在 App 中禁用 Hybrid JS SDK

如果不想在 App 中进行 Hybrid JS SDK 的采集,iOS SDK 可以配置 enableAllWebViews(全局)为 NO,或对于单个 webView,配置webView.growingAttributesDonotTrack为 YES;Android SDK 可以配置 setTrackWebView(全局)为 false,或对于单个 webView,GrowingIO.ignoredView(webView)为 true。

3. Touch 点击事件采集

Hybrid 支持基于 touch 事件实现的点击数据采集, 如果用户使用了类似 Zepto 等三方框架,需要采集 tap 事件时,请在初始化时配置window.hybridEnableTouch 的值为 true。

4. 埋点时机配置项

为了不影响用户 H5 页面的加载速度,我们优先加载用户的页面再注入Hybrid JS SDK ,保证用户页面先加载。这样就引出一个问题:用户的界面在加载过程中或者加载完成后立刻调用埋点方法会出现gio未定义,因为这时候Hybrid JS SDK 可能还没有完全注入成功。

如果用户需要在hybrid界面加载过程中或者加载完成后立刻调用埋点方法,需要在该H5页面的script标签最前端添加如下代码

(function(){
    window["gio"] = window["gio"] || function(){
        (window["gio"].q = window["gio"].q || []).push(arguments);
    }
    gio('init', 'fakeAccountID');
})()

自定义数据上传

SDK 版本支持:无埋点SDK>=2.2

原生无埋点 SDK 2.2 及以上支持。

1. 设置埋点事件和事件级变量

在添加所需要发送的事件代码之前,需要在打点管理用户界面配置事件以及事件级变量。

参数名称

参数类型

是否必须

说明

eventId

String

事件标识符

eventLevelVariables

JSON Object

包含事件级变量的JSON对象,暨事件发生时所伴随的维度信息。

// track API原型
gio('track', eventId, eventLevelVariables);
// track API调用示例一
gio('track', 'registerSuccess');
// track API调用示例二
gio('track', 'registerSuccess', {'gender':'male', 'age':21});

2. 设置页面级变量

发送页面级别的维度信息,在添加代码之前必须在打点管理界面上声明页面级变量。

参数名称

参数类型

是否必须

说明

key

String

页面级变量的标识符

value

String

页面级变量的值

pageLevelVariables

JSON Object

包含页面级变量的JSON对象,暨页面级别的信息

// page.set API原型
gio('page.set', key, value);gio('page.set', pageLevelVariables);
// page.set API调用示例一
gio('page.set', {'pageName': 'Home Page', 'author': 'Zhang San'});
// page.set API调用示例二
gio('page.set', 'author', 'Zhang San');

3. 设置转化变量

发送一个转化信息用于高级归因分析,在添加代码之前必须在打点管理界面上声明转化变量。

参数名称

参数类型

是否必须

说明

key

String

转化变量的标识符

Value

String

转化变量的值

conversionVariables

JSON Object

包含转化变量的JSON对象

// evar.set API原型
gio('evar.set', key, value);gio('evar.set', conversionVariables);
// evar.set API调用示例一
gio('evar.set', 'campaignId','1234567890');
// evar.set API调用示例二
gio('evar.set', {'campaignId': '1234567890', 'campaignOwner':'lisi'});

4. 设置用户级变量

发送用户信息用于用户信息相关分析,在添加代码之前必须在打点管理界面上声明转化变量。

参数名称

参数类型

是否必须

说明

key

String

用户变量的标识符

value

String

用户变量的值

customerVariables

JSON Object

包含用户变量的JSON对象

// people.set API原型
gio('people.set', key, value);gio('people.set', customerVariables);
// people.set API调用示例一
gio('people.set', 'gender', 'male');
//people.set API调用示例二
gio('people.set', {'gender':'male', 'age':'25'});

5. 设置用户登录用户ID

设置用户id 。

参数名称

参数类型

是否必须

说明

customerVariables

String

长度不可以大于1000,并且不可为Null

//调用示例
gio('hybridSetUserId', '1234567890');

6. 清除登录用户ID

//调用示例
gio('hybridClearUserId');

7. 设置访问用户变量

//调用示例
gio('hybridSetVisitor',{'testkey': 'testValue', 'testNumKey': 2333});

最后更新于

这有帮助吗?