微信小程序/小游戏端接入教程
接入说明
接入 智能风控
小程序/小游戏 SDK,开发者需要完成以下步骤:
1. 添加易盾服务端域名白名单
2. 引入/安装 SDK 文件
3. 初始化 SDK
4. 在需要检测的位置,调用 getToken 接口
5. 根据自身需求,打开或关闭传感器
6. 测试验证 SDK 接入成果
接入步骤
域名白名单
使用公众号账号登录微信公众平台,在管理员首页的左侧栏,可以找到 开发 - 开发管理 菜单,点击页面上“开发设置”,需要将小程序 SDK 的服务器域名(地址:https://ir-sdk.dun.163.com, https://ir-sdk.dun.163yun.com 加入服务器域名白名单。
引入/安装 SDK
通过 CMD 引入 SDK, 请注意需要放在初始化代码之前。
示例代码:
const createProtector = require('yidunProtector.mp.cjs.js')
初始化 SDK
执行 SDK 初始化。
示例代码:
const pt = createProtector({ appId: '<APP_ID>', timeout: 10000 })
其中:
appId
是应用标识,对应易盾控制台中的产品编号;
timeout
数据上报超时时间,单位 ms,默认 6000
。
注:不可用的appId会导致服务端鉴权接口失败,请确保appId是正常可用的。
私有化初始化 SDK
执行私有化 SDK 初始化。 示例代码:
const pt = createProtector({ appId: '<APP_ID>', apiServer:'https://xxxxx.xxxx.xxxx', timeout: 10000 })
其中: appId 是应用标识,对应易盾控制台中的产品编号;apiServer 私有化服务器地址,私有化的客户需要通过该接口设置服务器地址,其他客户可以忽略;timeout 数据上报超时时间,单位 ms,默认 6000。 注:不可用的appId会导致服务端鉴权接口失败,请确保appId是正常可用的。
调用 getToken
在需要检测的位置调用接口 getToken,上报信息并获取查询凭证。
示例代码:
pt.getToken().then(result => {
if (result.code === 200) { // 正常情况
alert('get token:', result.token)
}
if (result.code === 201) { // 离线模式
alert('get token:', result.token)
}
})
传感器数据开关
如果需要上报传感器数据,需要在初始化之前,打开传感器,如下所示
wx.startAccelerometer()
wx.startCompass()
wx.startGyroscope()
wx.startDeviceMotionListening()
如需关闭,可参考下面的示例
wx.stopAccelerometer()
wx.stopCompass()
wx.stopGyroscope()
wx.stopDeviceMotionListening()
getToken 返回有两种模式:
- 正常模式,数据正常上报到设备指纹服务端,token 长度固定;
- 离线模式,数据上报过程中出现异常,比如网络抖动/超时等,token 长度不固定,请注意做兼容处理。
验证 SDK 接入成果
前端获取到 token
后,将 token
上传到业务服务器;
业务服务器根据 token
向智能风控服务器发起校验,查询结果;
更多 token 使用细节见智能风控服务端在线检测接口(check)。