WEB、WAP、H5网页共用一套JSSDK,SDK支持自动化模式和高级模式: - 一般情况下,使用自动化模式接入即可; - 若您是单页应用,且非常看重页面性能的情况下,才建议使用高级模式。 ## 自动化模式(推荐) 自动化模式下,SDK组件的接入流程: - 嵌入SDK - init:初始化SDK以获取SDK对象,整个页面SDK初始化一次即可; - getToken:调用getToken接口获取token,每次调用返回不同的token值。一般由用户操作(提交等)来触发getToken,请注意:一个token只能使用一次,如果在不刷新页面的情况下,业务功能允许用户多次操作,请多次调用getToken接口以获取不同的token。请勿在一次用户操作中,多次调用getToken接口; - 提交token:将token作为请求参数提交到业务方后端。 ## 高级模式 高级模式允许应用通过API自主控制SDK何时开始工作、何时结束工作;在自动化模式下,init之后SDK自动开启工作。除非您明确知道SDK何时应该开始、何时应该结束,否则不建议您使用高级模式。 高级模式下,SDK的接入流程: - 嵌入SDK - init:初始化SDK以获取SDK对象,整个页面SDK初始化一次即可; - start:触发SDK开始工作,SDK开启事件监听等; - getToken:调用getToken接口获取token,每次调用返回不同的token值。一般由用户操作(提交等)来触发getToken,请注意:一个token只能使用一次,如果在不刷新页面的情况下,业务功能允许用户多次操作,请多次调用getToken接口以获取不同的token。请勿在一次用户操作中,多次调用getToken接口; - 提交token:将token作为请求参数提交到业务方后台; - stop:SDK停止工作,不再监听事件。 ## 嵌入JS SDK 在需要反作弊的页面嵌入JS SDK,注意: - 一个网页(包括单页应用)嵌入一次即可; - 请在[body]标签之后嵌入; http示例如下: Code (javascript): 地址中的t参数强烈建议设置为分钟级别时间戳,避免该文件被浏览器长时间缓存。 https示例如下: Code (javascript): 地址中的t参数强烈建议设置为分钟级别时间戳,避免该文件被浏览器长时间缓存。 ## init接口 嵌入JS SDK之后,可以立即初始化SDK(只需初始化一次),以获取SDK对象,拥有SDK对象才能调用SDK的其他接口。接口说明如下: - 调用方式:initWatchman(options) - 返回值:void 参数options是json,结构如下: 属性名 | 类型 | 是否必须 | 作用 productNumber | String | 是 | 产品编号 protocol | String | 否 | 数据传输的协议,取值http或https,默认根据当前页面的协议适配 auto | Boolean | 否 | 是否启用自动化模式,默认true(推荐);若需使用高级模式,请设置false onload | Function | 是 | 初始化完成之后的回调函数,SDK对象将以回调函数参数的形式提供 onerror | Function | 否 | 初始化失败的回调函数 初始化SDK的示例代码如下: Code (javascript): var wm = null; // 只需初始化一次 initWatchman({ productNumber: 'YOUR_PRODUCT_NUMBER', onload: function (instance) { wm = instance } }); ## start接口 控制SDK开始工作,SDK将监听页面事件。请注意: - 当init接口显示指定了auto为false时,才需要调用start接口 - 在单页应用的场景下,一般在需要易盾服务的子页面,调用start接口 接口说明如下: - 调用方式:wm.start(); - 返回值:void - 接口参数:无 示例代码如下: Code (javascript): wm && wm.start(); ## getToken接口 getToken接口返回唯一凭证token,业务方前端需要将此token提交到业务后端,业务后端再使用此token来check接口获取检测结果。注意: - 在高级模式下,请确保先调用了start接口 - 一般由用户的操作来触发getToken调用,比如用户点击“提交”按钮等 - 一个token只能使用一次 - 如果在不刷新页面的情况下,业务功能允许用户多次操作,请多次调用getToken接口以获取不同的token - 强烈建议:初始化init到gettoken时间间隔2s以上,并且由用户触发。 接口说明如下: - 调用方式:wm.getToken(businessId, callback, errorCallback) - 接口描述:获取唯一凭证token - 返回值:void 参数名 | 类型 | 是否必须 | 作用 businessId | String | 是 | 业务id callback(token) | Function | 是 | 获取token之后的回调函数,token将以回调函数参数的形式提供 errorCallback(Error) | Function | 否 | 当getToken出现错误时,如businessId不合法,会回调该函数,建议测试联调时使用 获取查询token的示例代码如下: Code (javascript): wm && wm.getToken('YOUR_BUSINESS_ID', function(token) { // 将token作为参数提交到服务端 }, function(error) { // 错误处理 }); ## stop接口 控制SDK结束工作,此时SDK不再监听页面事件。若需再次使用SDK,请再调用start接口激活SDK。接口说明如下: - 调用方式:wm.stop(); - 返回值:void - 接口参数:无 示例代码如下: Code (javascript): wm && wm.stop(); ## 接入示例 Code:
赞