友盟JS集成文档:JavaScript API 调用说明

2019-04-28 18:02:54 |发布者: 安智宝

4.1  API 列表

4.2  dplus.init

dplus.init(token/siteid, config, name);

Dplus SDK的初始化,通过此函数实例化一个跟踪对象dplus。

参数:

siteid – {必须} [String] 新用户的Dplus项目siteid,SDK采集的数据将发送到该siteid对应的项目下。

token – {必须} [String] 老用户的Dplus项目token,SDK采集的数据还将发送到该token对应的项目下。

config – {可选} [Object] 自定义配置项,字典格式,用{}括起来。

name – {可选} [String] 给Dplus跟踪实例命名(通常可以省略)。

示例:

dplus.init("YOUR TOKENYOUR TOKEN or SITEID",{

"disable_cookie": true,

"cross_subdomain_cookie": true

});

dplus.init中的第一个参数填写您的项目token/siteid;第二个参数填写Dplus SDK的统计配置。例如以上示例中:

config 参数详情:

参数名类型默认值描述
cross_subdomain_cookieBooleanTRUE设置cookie是否跨子域
true – [默认值] cookie种在网站主域下,这样不同子域的访客都将识别为同一访客。
false – cookie将种在网站子域名下。
loadedFunctionnull设置SDK初始化后的回调函数
如果跟踪代码中用到了dplus.get_distinct_id()或dplus.get_property() ——它们需要统计SDK(统计SDK即放在页面之前的基础代码)加载完后才能执行,那么建议将这些方法放到loaded回调函数中。
例如:dplus.get_property("user_id")如果直接加在页面中,当网络环境较差、统计SDK加载较慢时,该方法很可能引起错误。因此可以将这些方法放在loaded回调函数中,保证统计SDK加载完成后再调用它们:

dplus.init("YOUR TOKEN", {

loaded: function() {

user_id = dplus.get_property("user_id");

}

});

track_timeoutNumber300设置等待服务器收数响应的最大时间
如果您使用了track_links、track_forms、或者track方法的callback参数,那么默认情况下,这些方法发送数据后会、最多等待track_timeout指定的时间,以接收Dplus服务器的响应(然后再进行链接跳转、表单提交、或是执行callback方法),以确保数据发送成功、避免丢数;如果track_timeout之内就收到Dplus服务器的响应,则不会继续等待,而是立即执行调用方法指定的动作。

track_timeout默认为3000ms,您可通过dplus.set_config或dplus.init进行修改。

您也可以在track_links、track_forms、或者track中单独指定等待响应时间,这时调用方法会使用函数里指定的时间,而非track_timeout的值。

cookie_expirationNumber365设置cookie失效时间

默认365天,可通过cookie_expiration进行修改(单位:天)。

注意:由于用户标识(通过dplus.identify设置)、超级属性(通过dplus.register设置)均存储在cookie中,因此cookie失效后,这些内容将自动清空。

web_langArray[‘zh’,’en’]设置采集数据的语言

默认采集的统计数据只能包含中文和英文(web_lang=['zh','en']),如果出现了其它种类的语言,则会被视作乱码扔掉。

您可通过web_lang更改这一设置,例如以下设置的语言可以包含中文、英文、德文、法文、日文:

dplus.init("YOUR TOKEN", {'web_lang':['zh','en','de','fr','ja']})

session_timeoutNumber1800设置会话(session)有效期

访客从进入网站到离开网站的一系列活动记为一次会话(session)。

默认情况下访客来到网站连续30分钟(即1800秒)内无任何活动,则视为本次会话结束。

您可通过session_timeout更改这一设置(单位:秒),例如以下设置的会话有效期为1小时(即3600秒):

dplus.init("YOUR TOKEN", {'session_timeout':3600})

same_domain_hostArray[]设置站内域名

JavaScript SDK在事件中提供默认属性“最近站外来源(recent_outside_referrer)”,表示用户的这次访问来自站外哪个渠道:

默认情况下,如果触发事件所在页面与其来源页面的域名不同,则认为用户从新的站外渠道进入网站。此时“最近站外来源”更新为当前来源页域名(

即页面referrer);否则“最近站外来源”保持不变。

如果您的网站包含多个不同域名,则可通过same_domain_host设置您的网站域名,例如:

dplus.init("YOUR TOKEN",{'same_domain_host':['site1.com','site2.com']})

这时该设置会对“最近站外来源”的生成规则进行修正——当事件所在页的来源页域名同时满足:

1)与当前页域名不同;

2)不在设置的站内域名中(上例站内域名为['site1.com','site2.com'])。则“最近站外来源”更新为当前来源页域名。

4.3  dplus.push

dplus.push([function_name, arg1, arg2, …]]);

dplus.push是调用API的另一种方式:通过传递 方法名 和 方法参数 进行调用。它也需要在统计SDK加载完成后使用,并且效果与API的通用方法完全相同。该方法通常用在需要标准化API调用的场合中(例如代码集成时):

参数:

item – {必须} [Array] [function_name, arg1, arg2, …]

示例1:

dplus.push(['register', { username: "小王" }]);

等价与直接使用register方法:

dplus.register({

username : "小王"

})

示例2:

dplus.push(["track", "提交订单", {product: "连衣裙", money: 100}]);

等价与直接使用track方法:

dplus.track("提交订单", {

product: "连衣裙",

money: 100

});

4.4  dplus.disable

dplus.disable([event_name1 , event_name2 , …])

关闭当前页面的事件发送:不传参数时,当前页面的所有事件均停止发送;传入事件名称数组时,只有这些事件的数据会停止发送,其它事件发送均不受影响。

参数: item – {可选} [Array] 事件名称数组

示例1:

dplus.disable(); 页面上的所有事件均不发送。

示例2:

dplus.disable([ "点击收藏" , "点击转发" ]); 页面上名为 “点击收藏” 和 “点击转发” 的事件不发送;其它事件均正常发送。

注意:

dplus.disable需要放在track事件之前才能生效。

该方法只关闭指定事件的发送功能(dplus.track),其它方法(例如dplus.register)均正常执行。

4.5  dplus.track

dplus.track(event_name, properties, callback, timeout)

跟踪用户行为,发送一个事件。

参数:

eventname – {必须} [String] 自定义事件名称。

properties – {可选} [Object] 随该事件一起发送的事件属性。每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式。

callback – {可选} [Function] 事件发送后的回调函数。

timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即执行callback回调函数;如果超过timeout时间仍无响应,则继续执行callback回调函数(以确保数据发送成功、避免丢数)。不设本参数时,timeout取全局配置tracktimeout的值:track_timeout默认为300毫秒,可通过dplus.set_configdplus.init进行修改。 示例:

dplus.track("页面浏览" , {name: "首页"});//event_name="页面浏览", properties={name: "首页"}

dplus.track("页面浏览");//没有自定义属性时,properties可以省略

dplus.track("页面浏览" , {name: "首页"}, function(){...});//发送事件"页面浏览"后,回调function(){...}

dplus.track("页面浏览" , {}, function(){...},500);//发送事件"页面浏览"后,最多等待500ms,然后回调function(){...};注意,这种情况下,如果properties为空,需要写上 {} 进行占位

注意:

属性值不能是Object类型,例如: dplus.track(“Click Nav”, {“name” : { “subname” : “cnzz”}}}) ,属性名name的属性值写成{"subname" : "cnzz"}是不对的,因为 SDK不会再解析{"subname" : "cnzz"}这个对象。

属性值支持 **Number、String、Boolean、Array **类型

若属性值为 Array 类型,则它只能是简单的一维数组 ,即数组元素类型只能是前三种简单类型(Number、String或Boolean),例如['list_a' , 'list_b']

4.6  dplus.track_links

dplus.track_links(query , event_name , properties, timeout);

跟踪发送链接的点击事件。 参数: query – {必须} [String] DOM节点的查询query。

event_name – {必须} [String] 自定义事件名称。

properties – {可选} [String] 事件的自定义属性。每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式。

timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即跳到指定链接;如果超过 timeout时间仍无响应,则页面继续跳转(以确保数据发送成功、避免丢数)。不设本参数时,timeout取全局配置track_timeout的值:track_timeout默认为300毫秒,可通过dplus.set_configdplus.init进行修改。 示例:

例如要跟踪以下HTML里“站长统计”和“全景统计”两个链接的点击:

<div class="category"><i class="star-icon i-tv"></i><a href="http://zhanzhang.cnzz.com/">站长统计</a><span class="split">|</span><a href="http://quanjing.cnzz.com/">全景统计</a></div>

则可以通过track_links直接跟踪链接的点击:

dplus.track_links('.category a', '点击产品导航');//query='.category a',event_name='点击产品导航'

dplus.track_links('.category a', '点击产品导航',{current_url:window.location.href});//event_name='产品导航',properties={current_url:window.location.href}

dplus.track_links('.category a', '点击产品导航',{current_url:window.location.href},500);//发送事件"点击产品导航"后,最多等待500ms,跳到指定的链接

dplus.track_links('.category a', '点击产品导航',null,500);//这种情况下,如果properties为空,则需要写上 {} 进行占位

4.7  dplus.track_forms

dplus.track_forms(query, event_name , properties, timeout);

捕获页面表单提交事件。 参数: query – {必须} [String] DOM节点的查询query。

event_name – {必须} [String] 自定义事件名称。

properties – {可选} [Object] 事件的自定义属性。每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式。

timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即完成表单提交;如果超过timeout时间仍无响应,则继续提交表单(以确保数据发送成功、避免丢数)。不设本参数时,timeout 取全局配置track_timeout的值:track_timeout默认为300毫秒,可通过dplus.set_configdplus.init进行修改。 示例:

dplus.track_forms("#submit_form", "提交" , {host : location.host});

dplus.track_forms("#submit_form", "提交" , {} , 500);//发送事件"提交"后,最多等待500ms,执行表单提交操作;注意,这种情况下,如果properties为空,需要写上 {} 进行占位。

注意:

第一个参数是form表单的CSS选择器(如上例中为id选择器)。注意不要绑定在type为submit的button或者input标签上。

该示例会在表单提交后延迟300ms等待Dplus服务器做出响应;如果超过300ms仍无响应,则浏览器将继续执行提交动作,此时数据很可能发送失败。

因此您可根据网络环境和业务场景,通过dplus.set_config(或dplus.init)配置track_timeout参数,设置合适的track_forms延迟时间(单位:毫秒)。

4.8  dplus.register

dplus.register(properties, days);

给当前用户标记超级属性:这些属性保存在浏览器cookie中,该用户后续触发的所有事件都将自动包含这些属性。如果已经通过dplus.register标记过同名超级属性,再次调用dplus.register时,设定的新值会改写旧值。 参数: properties – {必须} [Object] 需要标记的超级属性(每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式)。

days – {可选} [Number] 该属性在浏览器cookie中的保存天数

示例:

// 用户抵达活动页Landing Page时,将来源 "source" 标记为超级属性

dplus.register({'source' : 'google'});

// 用户注册成功时,将姓名 "name" 和年龄"age"标记为超级属性

dplus.register({

'name': 'Tome',

'Account Type': 23

});

4.9  dplus.unregister

dplus.unregister(properties);

删除当前用户的超级属性:传入单个属性名,将删除这个超级属性;传入属性名数组,将会删除数组指定的每个超级属性。

参数: properties – {必须} [String/Array] 需要删除的一个超级属性名(String)、或一组超级属性名(Array)

示例:

dplus.unregister(["source"]);

4.10  dplus.get_property

dplus.get_property(property_name);

返回当前用户超级属性的值。如果指定的超级属性不存在,则返回undefined

参数: property_name – {必须} [String] 要获取的超级属性名。

示例:

dplus.get_property("source"); // 获取超级属性"source"的值

4.11  dplus.clear

dplus.clear();

调用此方法,将删除SDK为当前用户设置的所有cookie值,包括用户标识(distinct_id)、超级属性等;同时还会生成一个新的distinct_id。所以调用此方法后再调用dplus.track,Dplus会认为产生了一个新用户。

注意: 本方法会清除当前用户的统计cookie,因此需要小心使用。建议您根据自己的业务场景适时选用本方法,例如用户退出登录时。

4.12  dplus.set_config

dplus.set_config(config);

设置您的统计配置。

参数: config – {必须} [Object] 统计配置项

示例:

dplus.set_config({track_timeout :500})  

config 的参数配置请参看:dplus.init

4.13  dplus.get_config

dplus.get_config(config)

返回当前的统计配置参数值。

参数: config – {必须} [String] 统计配置项名称

示例:

dplus.get_config('token'); // 获取项目token


关于安智宝

    安智宝是主打效果的安卓应用推广平台。通过安智宝,用户可以通过自助方式 进行应用推广。作为效果性的推广平台,安智宝利用云技术智能的进行渠道匹 配,对渠道的高效利用,节约用户的每一分钱。用户可以精确的控制应用投放 每天的投放量、渠道质量(留存率等),做到覆盖广、活跃度高、控制精准。

联系客服

Copyright © 2016 - 2020 anzhibao.com . All Right Reserved.

安智宝  版权所有