KuickDeal 网站行为JS-SDK集成文档

目录

一、概述

二、用户绑定接口

三、收集关键行为

四、附录1-问题反馈

正文

一、概述

KuickDeal JS-SDK是KuickDeal开发平台向网页开发者提供的用于向KuickDeal提交用户页面访问行为数据的开发工具包。
此文档面向网页开发者,介绍KuickDeal JS-SDK如何使用及相关注意事项。

1.1 JS-SDK使用步骤

步骤一: 获取AppKey

登陆KuickDeal远程销售后台,创建一个项目,打开项目成员页面,如下图:

alt text 上边红色箭头指向的即为appKey。

步骤2:引入JS文件

在需要调用JS接口的页面的Head部分插入一段代码,示例如下:
注:建议JS文件引入在<head>下;

<head>
<script type='text/javascript'>
    var _kuickDeal = _kuickDeal || [];
    window._kuickDeal = _kuickDeal;

    //如果用户已经登录,可以直接将用户信息告诉KuickDeal,并且将该变量进行赋值
    var loginUser = null;

    if(loginUser) {
        _kuickDeal.push(['APP_USER_ID',  loginUser.id]);

        _kuickDeal.push(['NAME',  loginUser.name]);
        _kuickDeal.push(['TITLE',  loginUser.position]);
        _kuickDeal.push(['EMAIL',  loginUser.email]);
        _kuickDeal.push(['PHONE',  loginUser.phone]);
        _kuickDeal.push(['COMPANY',  loginUser.company]);
    }

    (function(){
        var _dealProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
        var _sdkURL = _dealProtocol + 'deal.kuick.cn/sdk/v1/';

        _kuickDeal.push(['SDK_URL', _sdkURL]);
        _kuickDeal.push(['KUICK_API_URL', _dealProtocol + 'api.kuick.cn/api/v1.0']);
        _kuickDeal.push(['DEAL_API_URL', _dealProtocol + 'deal-api.kuick.cn/api/v1.0']);
        _kuickDeal.push(['APP_KEY', '${appKey}']);

        _kuickDeal.push(['LOG_LEVEL', '2']);

        (function() {
            if(typeof define === 'function' && define.amd) {
                require([_sdkURL + 'kuickdeal-pc.min.js'], function(kd){
                    window.kuickDeal = kd;
                });
            } else {
                var deal = document.createElement('script');
                deal.type='text/javascript';
                deal.async = false;
                deal.src = _sdkURL + 'kuickdeal-pc.min.js';
                var s = document.getElementsByTagName('script')[0];
                s.parentNode.insertBefore(deal, s);
            }
        })();
    })();
</script>
</head>

步骤3:配置appKey

将代码片段中的${appKey}替换为你步骤一中获取到的appKey。

步骤4:日志输出控制

日志输出级别定义:

日志级别 描述
4 debug
3 info
2 warn
1 error
0 close

通过地址栏查询参数 kd_log_level 控制,例如:

Alt text

上面的配置表示只输出warn级别以及以下级别的日志,即输出:error和warn级别的日志。

1.2 接口调用说明

上述代码运行成功后,将会在window对象上注入一个名叫kuickDeal的对象,在后续代码中可以通过 window.kuickDeal 访问 JS-SDK的接口对象,也可以通过 kuickDeal直接访问。如果出现kuickDeal没有定义,可以添加如下代码,保证KuickDeal JS SDK 已经就绪。

示例:

var onKDReady = function(){
    // 业务代码
}

if (typeof kuickDeal == "undefined"){
    if(document.addEventListener){
        document.addEventListener('KDReady', onKDReady, false);
    } else if (document.attachEvent){
        document.attachEvent('KDReady', onKDReady);
        document.attachEvent('onKDReady', onKDReady);
    }
} else {
    kuickDeal.ready(onKDReady);
}

二、用户绑定接口

2.1 用户登录/注册时,调用以下接口:

void kuickDeal.bindUserWithAppUserIdAndCreateWay(userid, name, title, email, phone, company, createWay, cb);
注意:必须按照上述参数名称顺序调用参数;

参数说明:

参数名称 参数类型 是否必填 参数说明
userid string 登录用户的Id
name string 姓名
title string 职称
email string 邮箱,如果填写邮箱,则需填写正确的邮箱格式
phone string 手机号,如果填写手机号,则需填写正确的手机号格式
company string 公司
createWay int 创建方式,1:登录;11:注册
cb Function 回调函数

示例:

var onKDReady = function(){
    var loginUserId = "xxxxxxx"
    var name  = "张三";
    var title = "学生";
    var email = "zhangsan@163.com";
    var phone = 13344440000;
    var company = "";
    var createWay = 11; //注册

    kuickDeal.bindUserWithAppUserIdAndCreateWay(loginUserId, name, title, email, phone, company, createWay, function(err, data){
        console.log(err);
        console.log(data);
    });
}

if (typeof kuickDeal == "undefined"){
    if(document.addEventListener){
        document.addEventListener('KDReady', onKDReady, false);
    } else if (document.attachEvent){
        document.attachEvent('KDReady', onKDReady);
        document.attachEvent('onKDReady', onKDReady);
    }
} else {
    kuickDeal.ready(onKDReady);
}

该方法一般在用户注册成功时调用,该方法执行成功后,销售人员将收到新用户注册成功的消息推送。但是在一个项目一台设备的同一个浏览器上,只有第一次调用该方法是有效的,多次调用也只会产生一次推送。

测试:在绑定方法中增加回调方法测试请求是否成功,成功后可去掉回调方法

var loginUserId = "xxxxxxx"
var name  = "张三";
var title = "学生";
var email = "zhangsan@163.com";
var phone = 13344440000;
var company = "";
var createWay = 11; //注册
kuickDeal.bindUserWithAppUserIdAndCreateWay(loginUserId, name, title, email, phone, company, createWay, function(err, data){
    console.log(err);
    console.log(data);
});

2.2 用户在网站只填写表单并未登录时,调用如下接口:

void kuickDeal.bindUser(name, title, email, phone, company, cb);

参数说明:

参数名称 参数类型 是否必填 参数说明
name string 姓名
title string 职称
email string 邮箱,如果填写邮箱,则需填写正确的邮箱格式
phone string 手机号,如果填写手机号,则需填写正确的手机号格式
company string 公司
cb Function 回调函数

示例:

var onKDReady = function(){
    var name  = "张三";
    var title = "学生";
    var email = "zhangsan@163.com";
    var phone = 13344440000;
    var company = "";

    kuickDeal.bindUser(name ,title ,email ,phone ,company);
}

if (typeof kuickDeal == "undefined"){
    if(document.addEventListener){
        document.addEventListener('KDReady', onKDReady, false);
    } else if (document.attachEvent){
        document.attachEvent('KDReady', onKDReady);
        document.attachEvent('onKDReady', onKDReady);
    }
} else {
    kuickDeal.ready(onKDReady);
}

三、收集关键行为

当页面中有关键行为需要收集时可以调用如下接口:

void kuickDeal.onBehaviour(action, description, content, next);

参数说明:

参数名称 参数类型 是否必填 参数说明
action string 关键行为的类型,只支持英文、数字和下划线
description string 关键行为描述
content Object 关键行为上下文信息,用户自定义
next Function 回调函数

示例:

var onKDReady = function(){
    //自定义上下文参数
    var content = {
        userId:userId,
        userName:userName,
        userPhoneNum:userPhoneNum,
        company:company,
        salesCount:salesCount
    }

    kuickDeal.onBehaviour("submit_form", "表单填写", content);
}

if (typeof kuickDeal == "undefined"){
    if(document.addEventListener){
        document.addEventListener('KDReady', onKDReady, false);
    } else if (document.attachEvent){
        document.attachEvent('KDReady', onKDReady);
        document.attachEvent('onKDReady', onKDReady);
    }
} else {
    kuickDeal.ready(onKDReady);
}

四、附录1 -问题反馈

事项 方式/注意
联系人 support@Kuick.cn
邮件主题 KuickDeal JS-SDK反馈
邮件内容说明 用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片, KuickDeal团队会尽快处理你的反馈
北京西会科技有限公司©2015-2018 all right reserved,powered by Gitbook该文件修订时间: 2018-11-21 01:53:15

results matching ""

    No results matching ""