1. 添加同盾域名
小程序对各种请求接口都做了域名限制,所以需要在小程序网站后台页面中添加同盾域名才可以保证小程序能正常给同盾设备指纹服务器发送信息
在 设置
-开发设置
-服务器域名
的 request 合法域名
中添加:
环境 | 域名 |
---|---|
生产环境(必须) | <https://fp.tongdun.net> |
注意:
- 同盾字节跳动小程序设备指纹 SDK 仅支持客户端基础库版本**为 1.15.0 以上的字节跳动系列 App 客户端,在小程序后台可以设置最低基础库版本,当低于该版本的用户打开时会提示用户升级 App
2. 插入 canvas 节点
同盾小程序设备指纹中使用了 canvas 指纹技术,由于目前小程序的限制,我们无法通过 JS 来动态创建 DOM 节点,所以需要在集成时手动加入。假设我们想在 index
页面中采集设备信息,那么就需要在 pages/index/index.ttml
文件末尾添加以下代码:
<view>
<canvas canvas-id='tdcanvas' style={{ visibility: "hidden", position: "fixed", zIndex: "-999", left: "9999px" }}></canvas>
</view>
注意:
- 样式文件让设备指纹 SDK 立即隐藏这个节点,SDK 会在用户感知不到的时间内完成采集
- 请勿修改
canvas-id
,修改会导致 SDK 无法正常工作
3. 必要配置
在 app.js
中:partnerCode
和 appName
为必要参数,如果没有传入则初始化时会抛出异常
App({
......
globalData: {
......
_fmOpt: {
partnerCode: "", // 请填入您的 partner code
appKey: "", // 请填入您的 appKey
channel:"", // 请填入您的 channel
}
}
})
说明:appKey获取方式:https://cn-doc.trustdecision.com/update/reference/%E5%B0%8F%E7%A8%8B%E5%BA%8F%E8%8E%B7%E5%8F%96-appkey#/
4. 获取blackbox
在每一次获取设备信息的时候都需要创建一个实例。比如:在 pages/index/index.js 中,先在文件顶部引用 SDK 文件,然后调用getDeviceInfo方法
import FMAgent from '../../.../fm-xxx-es.saas.js'
...
...
...
var that = this
var fmagent = new FMAgent(app.globalData._fmOpt)
fmagent.getDeviceInfo({
page: that,
unionid:'', // 请传入userid
}).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 | 未知错误 |