友盟+搜索

{{errorMsg}}

JavaScript SDK 使用方法

部署基础代码

获取基础代码

左侧菜单选择您的目标项目,进入“项目信息>数据源”,找到被监控的网站,点击该网站的“获取代码”,如下图: :
 

复制基础统计代码

部署到网站页面

将获取的基础代码粘贴到您网站所有页面的</head>标签之前:
提示:

需要您。本代码兼容原统计代码的功能,仅需部署一套,网站统计与U-Dplus均可正常采集数据。

以上代码通过异步方式加载核心SDK,不会影响您的页面加载速度。

发送事件

部署好基础代码后,就可以使用dplus.track发送自定义事件数据:

dplus.track(event_name, properties, callback);

event_name – {必须} [String] 自定义事件名称。
properties – {可选} [Object] 随该事件一起发送的事件属性。每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式。
callback – {可选} [Function] 事件发送后的回调函数。

例如以下代码发送了一个名为registration的事件,它包含nameage两个自定义属性,其值分别为Tom和23。

dplus.track("registration", {
    "name": "Tom",
    "age": 23
});

提示:

事件名、属性名、属性值通常建议使用英文或拼音,但也支持中文。使用中文命名时,可能会收到非常微量的乱码数据(通常是访客终端或浏览器版本过低引起的),这时可参考 数据乱码怎么办? 进行解决。 事件名、属性名尽量言简意赅(例如可使用驼峰命名法),过长的名称会导致数据分析非常不方便。
属性值(例如上例的Tom23 )支持 Number、String、Boolean、Array 类型;每个属性值最大支持255个字符 (如果超过该长度,则只会存储前255个字符)。
若属性值为Array类型,则它只能是简单的一维数组,不支持属性值嵌套,即数组元素类型只能是前三种简单类型(Number、String或Boolean),例如['list_a' , 'list_b'];如果写成Object类型,则会转换成字符串形式。

其它自定义事件跟踪方法请参看 JavaScript API 调用说明

超级属性

一般情况下,您需要根据自己的业务场景和分析目标,分别定义不同的事件和属性,但有些时候这样使用并不方便。例如从用户点击360广告来到您的网站后,先后进行了浏览商品、收藏商品、加入购物车、最后购买成功这一系列行为。如果这些行为都需要根据广告来源进行分析,那么这些事件都需要添加属性{“广告来源”:”360″}——部码操作非常繁琐。

因此,您可以通过register方法为用户标记超级属性:只需调用一次register,之后他触发的所有事件都将自动包含该属性。例如:

dplus.register({
    "age" : 29,
    "gender" : "male"
})

接着如果用户触发事件:

dplus.track("Login");  

该事件就会自动带上超级属性,它等效于:

dplus.track("Login",{
    "age" : 29,
    "gender" : "male"
})

关于超级属性的详细说明请参看 什么是超级属性?

JavaScript API 调用说明

API 列表

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_cookie Boolean TRUE 设置cookie是否跨子域
true – [默认值] cookie种在网站主域下,这样不同子域的访客都将识别为同一访客。
false – cookie将种在网站子域名下。
loaded Function null 设置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_timeout Number 300 设置等待服务器收数响应的最大时间
如果您使用了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_expiration Number 365 设置cookie失效时间
默认365天,可通过cookie_expiration进行修改(单位:天)。
注意:由于用户标识(通过dplus.identify设置)、超级属性(通过dplus.register设置)均存储在cookie中,因此cookie失效后,这些内容将自动清空。
web_lang Array [‘zh’,’en’] 设置采集数据的语言
默认采集的统计数据只能包含中文和英文(web_lang=['zh','en']),如果出现了其它种类的语言,则会被视作乱码扔掉。
您可通过web_lang更改这一设置,例如以下设置的语言可以包含中文、英文、德文、法文、日文:
dplus.init("YOUR TOKEN", {'web_lang':['zh','en','de','fr','ja']})
session_timeout Number 1800 设置会话(session)有效期
访客从进入网站到离开网站的一系列活动记为一次会话(session)。
默认情况下访客来到网站连续30分钟(即1800秒)内无任何活动,则视为本次会话结束。
您可通过session_timeout更改这一设置(单位:秒),例如以下设置的会话有效期为1小时(即3600秒):
dplus.init("YOUR TOKEN", {'session_timeout':3600})
same_domain_host Array [] 设置站内域名
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'])。则“最近站外来源”更新为当前来源页域名。

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
});

dplus.disable

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

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

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

示例1:

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

示例2:

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

注意:

dplus.disable需要放在track事件之前才能生效。
该方法只关闭指定事件的发送功能(dplus.track),其它方法(例如dplus.register)均正常执行。

dplus.track

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

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

参数:
eventname – {必须} [String] 自定义事件名称。
properties – {可选} [Object] 随该事件一起发送的事件属性。每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式。
callback – {可选} [Function] 事件发送后的回调函数。
timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即执行callback回调函数;如果超过timeout时间仍无响应,则继续执行callback回调函数(以确保数据发送成功、避免丢数)。不设本参数时,timeout取全局配置track
timeout的值: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']

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为空,则需要写上 {} 进行占位

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延迟时间(单位:毫秒)。

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
});

dplus.unregister

dplus.unregister(properties);

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

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

示例:

dplus.unregister(["source"]);

dplus.get_property

dplus.get_property(property_name);

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

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

示例:

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

dplus.clear

dplus.clear();

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

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

dplus.set_config

dplus.set_config(config);

设置您的统计配置。

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

示例:

dplus.set_config({track_timeout :500})  

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

dplus.get_config

dplus.get_config(config)

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

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

示例:

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

常见场景API

集成准备

  1. 创建CNZZ账号,登录Dplus,然后创建或开启项目(具体步骤见 这里 )。

  2. 部署基础代码:选择要部码的项目,进入“项目管理” > 选择“统计代码” > 将下方的“JS版”基础代码粘贴到您网站所有页面的</head>标签之前(具体步骤见 这里 )。

  3. 引入场景库:将以下代码粘贴到需要使用场景API的页面</body>标签之前。

    <!-- start Dplus Define --><script type="text/javascript">!function(a,b){var c,d;window.__dplusDefineCacheQueue=[],b.define=function(){window.__dplusDefineCacheQueue.push(Array.prototype.slice.call(arguments))},c=a.createElement("script"),c.type="text/javascript",c.charset="utf-8",c.async=!0,c.src="//w.cnzz.com/dplus.define.php",d=a.getElementsByTagName("script")[0],d.parentNode.insertBefore(c,d)}(document,window.dplus);</script><!-- end Dplus Define -->

API 调用说明

API 列表

跟踪用户注册及登录

为方便埋码和数据分析,Dplus提供了跟踪用户注册和用户登录的API方法:当用户触发注册或登录行为时,直接调用这些方法即可。

例1:跟踪用户注册
假设需要跟踪的信息包括“用户ID”、“用户名”、“联系邮箱”三个属性,其值分别为"0001"、"Julia Roberts "以及"Julia@gmail.com";此外还增加了自定义属性“gender”,其值为malefemale

dplus.define('user', function (user) {
    user.setId('0001');
    user.setName('Julia Roberts');
    user.setEmail('Julia@gmail.com');
    user.signUp({'gender':'female'});
});

例2:跟踪用户登录
假设需要跟踪的信息包括“用户ID”、“用户名”和“账号类型”三个属性,其值分别为"0001"、"Julia@gmail.com"以及"邮箱账号"。

dplus.define('user', function (user) {
    user.setId('0001');
    user.setName('Julia@gmail.com');
    user.setAccountType('邮箱账号');
    user.login();
});

以下是API方法说明。

@class User

setId
setId(userId)

标识用户的ID。该方法需要在 signUp (用户注册)或 login (用户登录)之前调用。例1: 跟踪注册 ,例2: 跟踪登录

参数:
userId – {必须} [String] 您的用户系统(或业务平台)标识用户的唯一id:该id是Dplus提供标签服务时、用户的唯一标识。

setName
setName(userName)

用户注册或登录时,添加跟踪用户名。该方法需要在 signUp (用户注册)或 login (用户登录)之前调用。例1: 跟踪注册 ,例2: 跟踪登录

参数:
userName – {必须} [String] 用户名。

setAccountType
setAccountType(accountType)

用户注册或登录时,添加跟踪账号类型。该方法需要在 signUp (用户注册)或 login (用户登录)之前调用。例1: 跟踪注册 ,例2: 跟踪登录

参数:
accountType – {必须} [String] 账号类型。例如:“原生账号”、“第三方账号”,或者“邮箱账号”、“手机账号”等。

setEmail
setEmail(email)

用户注册或登录时,添加跟踪联系邮箱。该方法需要在 signUp (用户注册)或 login (用户登录)之前调用。例1: 跟踪注册 ,例2: 跟踪登录

参数:
email – {必须} [String] 用户的联系邮箱。

setPhone
setPhone(phone)

用户注册或登录时,添加跟踪手机号(或电话)。该方法需要在 signUp (用户注册)或 login (用户登录)之前调用。例1: 跟踪注册 ,例2: 跟踪登录 。

参数:
phone – {必须} [String] 用户的手机号(或电话)。

setSource
setSource(userSource)

用户注册或登录时,添加跟踪用户的来源。该方法需要在 signUp (用户注册)或 login (用户登录)之前调用。例1: 跟踪注册,例2: 跟踪登录

参数:
userSource – 用户来源。例如:某个站外的引流渠道,或者(从)您的某个子产品(触发的注册或登录)等。

signUp
signUp(properties, callback, timeout)

跟踪用户的注册行为,发送“用户注册”事件。

参数:
properties – {可选} [Object] “用户注册”的其它自定义属性(可以包含多个“属性名:属性值”)。如果没有,传{}即可。
callback – {可选} [Function] 事件发送后的回调函数。
timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即执行callback回调函数;如果超过timeout时间仍无响应,则继续执行callback回调函数(以确保数据发送成功、避免丢数)。不设本参数时,timeout取全局配置track_timeout的值:track_timeout默认为300毫秒,可通过dplus.set_configdplus.init进行修改。

用法:
先调用setId(或者setNamesetAccountTypesetEmail、setPhone、setSource——根据要跟踪的用户信息自行选取),再调用signUp。如果您还有其它需要跟踪的用户注册信息,可以放在signUp的properties参数里。使用示例

login
login(properties, callback, timeout)

跟踪用户的登录行为,发送“用户登录”事件。

参数:
properties – “用户登录”的其它自定义属性(可以包含多个“属性名:属性值”)。如果没有,传{}即可。
callback – {可选} [Function] 事件发送后的回调函数。
timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即执行callback回调函数;如果超过timeout时间仍无响应,则继续执行callback回调函数(以确保数据发送成功、避免丢数)。不设本参数时,timeout取全局配置track_timeout的值:track_timeout默认为300毫秒,可通过dplus.set_configdplus.init进行修改。

用法:
先调用setId(或者setNamesetAccountTypesetEmailsetPhonesetSource——根据要跟踪的用户信息自行选取),再调用login。如果您还有其它需要跟踪的用户登录信息,可以放在login的properties参数里。使用示例

跟踪页面浏览

示例:跟踪页面浏览
假设需要跟踪的信息包括:“页面类型”、“页面标题”、“页面ID”、“频道分类”、“tags(关键词)”、“文章作者”以及“文章编辑”。

dplus.define('page', function (page) {
    page.setType('正文页');
    page.setTitle('新版功能介绍');
    page.setTags(['稳定' , '省流量']);
    page.setCategory(['帮助中心' , '产品更新']);
    page.setAuthor('admin');
    page.setEditor('admin');
    page.view();
});

以下是API方法说明。

@class Page

setType
setType(pageType)

跟踪页面浏览时,添加页面类型。使用示例

参数:
pageType – {必须} [String] 页面类型。例如:首页、列表页、内容/正文页、搜索结果页等。

setTitle
setTitle(pageTitle)

跟踪页面浏览时,添加页面标题。使用示例

参数:
title – {必须} [String] 页面标题。

setId
setId(pageId)

跟踪页面浏览时,添加页面ID。使用示例

参数:
pageId – {必须} [String] 页面ID。

setCategory
setCategory(pageCategories )

跟踪页面浏览时,添加页面的频道分类。使用示例

参数:
pageCategories – {必须} [Array] 页面的频道分类。如有多级分类,请写成数组格式,从高到低依次赋值,例如“一级分类:帮助中心”、“二级分类:产品更新”可以写成pageCategories=["帮助中心","产品更新"]

setTags
setTags(pageTags)

跟踪页面浏览时,添加页面tags(关键词)。使用示例

参数:
pageTags – {必须} [Array] 页面tags(关键词)。多个关键词时、请写成数组格式,例如pageTags=["稳定","节省流量"]

setAuthor
setAuthor(author)

跟踪页面浏览时,添加文章作者。使用示例

参数:
author – 文章作者(此方法通常用在正文页)。

setEditor
setEditor(editor)

跟踪页面浏览时,添加文章编辑。使用示例

参数:
editor – 文章编辑(此方法通常用在正文页)。

view
view(properties, callback, timeout)

发送“页面浏览”事件。使用示例

参数:
properties – {可选} [Object] 随“页面浏览”事件一起发送的事件属性。每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式。
callback – {可选} [Function] 事件发送后的回调函数。
timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即执行callback回调函数;如果超过timeout时间仍无响应,则继续执行callback回调函数(以确保数据发送成功、避免丢数)。不设本参数时,timeout取全局配置track_timeout的值:track_timeout默认为300毫秒,可通过dplus.set_configdplus.init进行修改。

跟踪页面点赞/分享/评论/收藏

当用户浏览了某个文章正文页,然后对该文章进行了点赞、分享、评论、或者收藏,那么可以使用以下API跟踪这些行为。

示例:
以下示例将like/share/comment/bookmarksetTitle/setCategory/setTags组合使用,这样“页面点赞/分享/评论/收藏”事件将包含设置的页面属性信息;否则将只包含将like/share/comment/bookmark方法中properties参数指定的属性。

dplus.define('page', function (page) {
    page.setTitle('新版功能介绍');
    page.setTags(['稳定' , '省流量']);
    page.setCategory(['帮助中心' , '产品更新']);
    page.like(); //跟踪“点赞”行为
});
dplus.define('page', function (page) {
    page.setTitle('新版功能介绍');
    page.setTags(['稳定' , '省流量']);
    page.setCategory(['帮助中心' , '产品更新']);
    page.share(); //跟踪“分享”行为
});
dplus.define('page', function (page) {
    page.setTitle('新版功能介绍');
    page.setTags(['稳定' , '省流量']);
    page.setCategory(['帮助中心' , '产品更新']);
    page.comment(); //跟踪“评论”行为
});
dplus.define('page', function (page) {
    page.setTitle('新版功能介绍');
    page.setTags(['稳定' , '省流量']);
    page.setCategory(['帮助中心' , '产品更新']);
    page.bookmark(); //跟踪“收藏”行为
});

以下是API方法说明。

like
like(props, callback, timeout)

发送“页面点赞”事件。使用示例

参数:
properties – {可选} [Object] 随“页面点赞”事件一起发送的事件属性。每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式。
callback – {可选} [Function] 事件发送后的回调函数。
timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即执行callback回调函数;如果超过timeout时间仍无响应,则继续执行callback回调函数(以确保数据发送成功、避免丢数)。不设本参数时,timeout取全局配置track_timeout的值:track_timeout默认为300毫秒,可通过dplus.set_configdplus.init进行修改。

share
share(props, callback, timeout) 

发送“页面分享”事件。使用示例

参数:
properties – {可选} [Object] 随“页面分享”事件一起发送的事件属性。每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式。
callback – {可选} [Function] 事件发送后的回调函数。
timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即执行callback回调函数;如果超过timeout时间仍无响应,则继续执行callback回调函数(以确保数据发送成功、避免丢数)。不设本参数时,timeout取全局配置track_timeout的值:track_timeout默认为300毫秒,可通过dplus.set_configdplus.init进行修改。

comment
comment(props, callback, timeout)

发送“页面评论”事件。使用示例

参数:
properties – {可选} [Object] 随“页面评论”事件一起发送的事件属性。每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式。
callback – {可选} [Function] 事件发送后的回调函数。
timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即执行callback回调函数;如果超过timeout时间仍无响应,则继续执行callback回调函数(以确保数据发送成功、避免丢数)。不设本参数时,timeout取全局配置track_timeout的值:track_timeout默认为300毫秒,可通过dplus.set_configdplus.init进行修改。

bookmark

bookmark(props, callback, timeout) 发送“页面收藏”事件。使用示例

参数:
properties – {可选} [Object] 随“页面收藏”事件一起发送的事件属性。每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式。
callback – {可选} [Function] 事件发送后的回调函数。
timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即执行callback回调函数;如果超过timeout时间仍无响应,则继续执行callback回调函数(以确保数据发送成功、避免丢数)。不设本参数时,timeout取全局配置track_timeout的值:track_timeout默认为300毫秒,可通过dplus.set_configdplus.init进行修改。

跟踪应用内搜索

如果您想跟踪用户在APP内搜索了哪些内容、点击了哪些搜索结果,那么可以使用以下API进行跟踪。

@class InSearch

hitSearch
hitSearch(properties, callback, timeout)

用户触发搜索时调用该方法:发送“触发搜索”事件。

参数:
properties – {可选} [Object] 随“触发搜索”事件一起发送的事件属性。每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式。
callback – {可选} [Function] 事件发送后的回调函数。
timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即执行callback回调函数;如果超过timeout时间仍无响应,则继续执行callback回调函数(以确保数据发送成功、避免丢数)。不设本参数时,timeout取全局配置track_timeout的值:track_timeout默认为300毫秒,可通过dplus.set_configdplus.init进行修改。

listResults
listResults(properties, callback, timeout)

搜索结果加载完成时调用该方法:发送“显示搜索结果”事件。

参数:
properties – {可选} [Object] 随“显示搜索结果”事件一起发送的事件属性。每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式。
callback – {可选} [Function] 事件发送后的回调函数。
timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即执行callback回调函数;如果超过timeout时间仍无响应,则继续执行callback回调函数(以确保数据发送成功、避免丢数)。不设本参数时,timeout取全局配置track_timeout的值:track_timeout默认为300毫秒,可通过dplus.set_configdplus.init进行修改。

clickResult

clickResult(properties, callback, timeout) 用户点击搜索结果时调用该方法:发送“点击搜索结果”事件。

参数:
properties – {可选} [Object] 随“点击搜索结果”事件一起发送的事件属性。每个属性包括属性名和属性值;一个事件可以包含多个不同的属性,写成JSON“键-值”对格式。
callback – {可选} [Function] 事件发送后的回调函数。
timeout – {可选} [Number] 发送事件后、等待Dplus服务器响应的最大时间(单位:毫秒):如果在该时间内收到Dplus服务器的响应,则立即执行callback回调函数;如果超过timeout时间仍无响应,则继续执行callback回调函数(以确保数据发送成功、避免丢数)。不设本参数时,timeout取全局配置track_timeout的值:track_timeout默认为300毫秒,可通过dplus.set_configdplus.init进行修改。