API Reference
English

小红书小程序(仅支持中文)

1、引入sdk&&必要的配置

在每一个需要获取设备信息的页面引入SDK。比如:在pages/index/index.js中,先在文件顶部引用sdk:

import FMAgent from '../../fmsdk/fm-xxx-es.min.js'
配置FMAgent

partnerCode为必要参数,appNamechannel为可选参数,如果没有传入则初始化时会抛出异常。
app.js中:

App({
  ......
  globalData: {
    ......
    _fmOpt: {
      partnerCode: "", // 请填入您的partner code
      channel:"", // 请填入你的channel
    }
  }
})

2、获取blackbox

在设备指纹对象初始化完成后,就可以获取设备信息了。

var that = this
var fmagent = new FMAgent(app.globalData._fmOpt) // 这里需要传入一些必要配置
fmagent.getInfo({
  page: that, // that为当前页面对象
  openid: '', // 如果openid为空或者undefined,请勿加密上传,传空字符串即可
  success: function (res) {},// 成功回调,res为blackbox字符串
  fail: function (res) {},// 失败回调,res为各种exception对象
  complete: function (res) {}
})

注意:在提交blackbox时,请选择表单提交,避免blackBox被urlEncode,导致查询结果异常

API参数说明

参数类型描述示例是否必填
pageObject当前所在的page对象或component对象that
openidstring加密后的用户openid(加密算法可以随意选择,我们建议使用MD5或者SHA256)(切记不可以传自定义默认值,没有值请传空字符串,否则会导致碰撞)ef54040ea9cb5998230777ec7240b21e400a7ab5272af07a9ca2ed958fe66157
getInfoTypestring获取blackbox的模式('1':优先使用缓存的blackbox,'2':优先使用实时采集的blackbox,'3':优先使用未过期的blackbox至过期,默认模式为'1')'1'
timeoutInteger获取blackbox超时(默认2500,包括采集和发送请求的总时长,范围:2500-16000)6000
successfunction获取成功回调function(res) {/返回值为string类型,即black_box的值/}
failfunction获取失败回调function(res) {/返回值为string类型,即black_box的值/}
completefunction获取完成回调function(res) {/返回值为string类型,即black_box的值/}

fail的原因可能为:

传入的timeout不是数字类型;

注意:
blackbox存在有效期,所以请不要自行对blackbox做缓存,在我们SDK内部有缓存机制,所以请在需要blackbox的地方,调用getInfo接口即可。