blackBox 请直接透传服务端,不要在客户端缓存blackBox请注意,在贵司的 App 中集成小盾提供的 SDK 产品时:
复制 AI 提示词,粘贴到 Codex、Copilot、Claude Code 等AI 编码工具,即可自动生成代码,完成 TD SDK 集成
ohpm install @trustdecision/mobrisk在工程的 oh-package.json5 中设置三方包依赖:
{
"dependencies": {
"@trustdecision/mobrisk": "1.3.6"
}
}在工程的 module.json5 的 module 节点中补充以下 requestPermissions 配置:
"requestPermissions": [
{
"name": "ohos.permission.INTERNET"
},
{
"name": "ohos.permission.GET_NETWORK_INFO"
},
{
"name": "ohos.permission.GET_WIFI_INFO"
},
{
"name": "ohos.permission.STORE_PERSISTENT_DATA"
},
{
"name": "ohos.permission.APPROXIMATELY_LOCATION"
}
]initWithOptionspublic static async initWithOptions(context: Context, params: TDRiskOption): Promise<void>在用户同意隐私协议后执行以下代码:
import AbilityStage from '@ohos.app.ability.AbilityStage'
import { TDRisk, TDRiskOption } from '@trustdecision/mobrisk'
export default class MyAbilityStage extends AbilityStage {
async onCreate() {
const options: TDRiskOption = {
partnerCode: '请输入您的合作方编码', // 合作方(partnerCode),请填写partnerCode,不要填partnerKey
appKey: '请输入您的appKey', // 配置AppKey,请联系运营获取
dataCenter: TDRisk.DATA_CENTER_CN, // 数据中心参数,列表可以参考下文全部配置说明
}
await TDRisk.initWithOptions(this.context, options)
}
}initWithOptions 调用完成后再调用 getBlackBoxAsync / getBlackBoxblackBox,每次获取请直接调用对应方法blackBox,在异步回调完成后再按需同步获取/**
* 异步获取 blackbox
* @param priorityCache 是否优先返回缓存,默认 false
* false:等待本次数据上报完成后返回最新 blackbox
* true:发起数据上报后优先返回缓存中的 blackbox,可立即返回
*/
public static async getBlackBoxAsync(priorityCache: boolean = false): Promise<string>
/**
* 同步获取 blackbox,直接返回当前可用的 blackbox
*/
public static getBlackBox(): string首次及关键业务节点建议使用异步方式获取:
import { TDRisk } from '@trustdecision/mobrisk'
async function getBlackBox() {
const blackBox = await TDRisk.getBlackBoxAsync();
console.info('TD_TS', `async blackBox: ${blackBox}`);
}在首次异步获取完成后,可在业务节点按需同步获取:
import { TDRisk } from '@trustdecision/mobrisk'
function getBlackBox() {
const blackBox = TDRisk.getBlackBox();
console.info('TD_TS', `sync blackBox: ${blackBox}`);
}blackBoxblackBoxTD_TS: td sdk init successgetBlackBoxAsync() 返回结果通常为 26 固定长度的正常 blackBoxgetBlackBoxAsync() 返回结果长度可能明显增加,详情可参考 正常 blackBox 和降级 blackBox 的差异const version: string = TDRisk.getSDKVersion()