添加同盾域名
小程序对各种请求接口都做了域名限制,所以需要在小程序网站后台页面中添加同盾域名才可以保证小程序能正常给同盾设备指纹服务器发送信息
在 设置-开发设置-服务器域名的 request 合法域名 中添加:
环境 | 域名 |
---|---|
生产环境(必须) | https://cn-fp.apitd.net |
小程序代码集成
1.插入canvas节点
同盾小程序设备指纹中使用了 canvas 指纹技术,需要在集成时手动加入。假设我们想在 index 页面中采集设备信息,那么就需要在 pages/index/index.jxml 文件末尾添加以下代码:
{
<view>
<canvas canvas-id='tdcanvas' style="visibility: hidden;position: fixed;z-index: -999;left: 9999px;"></canvas>
</view>
}
2.必要的配置
在 app.js
中partnerCode
和appKey
为必要参数,appname
和channel
为可选字段:
App({
......
globalData: {
......
_fmOpt: {
appKey:"", // 请填入你的appKey
partnerCode: "", // 请填入您的partner code
appName: "", // 请填入您的app name 同一个公司的不同小程序请填入不同的AppName
channel: "", // 请填入您的channel
}
},
......
})
3.获取 blackBox
设备指纹 SDK 采用类微信 API 的调用模式,支持传入 success
、fail
、complete
三个回调及其它配置字段:其中openid和unionid为非必传参数
import FMAgent from '../../fmsdk/fm-xxx-es.min.js'
var fmagent = new FMAgent(app.globalData._fmOpt)
fmagent.getDeviceInfo({
openid:'',
unionid:'',
}).then(function(result){
if(result.apiStatus.code === 0) {
var anonymousId = result.anonymousId;
var blackBox = result.blackBox;
var fpVersion = result.fpVersion;
var deviceRiskScore = result.deviceRiskScore;
var sealedResult = result.sealedResult;
var message = result.apiStatus.message;
} else {
var code = result.apiStatus.code;
var message = result.apiStatus.message;
}
})
说明
响应结果
字段 | 描述 |
---|---|
anonymousId | 设备匿名ID,设备标识 |
blackBox | 设备信息查询标识) |
fpVersion | SDK版本号 |
deviceRiskScore | 当前设备风险分 |
sealedResult | 加密的设备信息,二进制 Base64 编码字符串,仅在客户端密封结果开启时返回,解密结果与设备信息查询获取的信息一致 |
状态信息定义
sdk返回的状态码对应的信息说明
code | message | 备注 |
---|---|---|
0 | Success | 成功 |
1001 | SDK err | sdk发生异常 |
1002 | Network error | 网络错误 |
1003 | API err | 后端接口返回错误 |
1004 | Traffic limit | 网关限流 |
1100 | Unknown error | 未知错误 |