仅支持Android和iOS
集成要求
合规说明
请注意,在贵司的App中集成同盾提供的SDK产品时:
1.1 根据《网络安全法》《电信条例》《电信和互联网用户个人信息保护规定》等相关法律法规要求及监管实践中的标准,在贵司的最终用户首次启动App并在贵司开始采集信息之前,贵司应以交互界面或设计(如隐私政策弹窗等)向最终用户完整告知收集、使用、与第三方共享最终用户个人信息的目的、方式和范围,并征得最终用户的明示同意。
1.2 为向贵司提供业务安全和风控服务,同盾 SDK 将采集、处理、使用用户的手机终端唯一标志信息IDFA、Android ID、OAID(包含VAID、AAID)、MAC 地址、WIFI列表、无线路由器标识(BSSID、SSID)、设备类型、设备型号、系统类型、粗略位置信息、精准位置信息、应用程序列表、运行中进程信息、网络制式、设备软件版本号、传感器(光传感器、重力传感器、磁场传感器、加速度传感器、陀螺仪传感器、心率传感器)相关设备信息。为确保贵司使用相关服务的合规性,前述隐私政策应涵盖对同盾SDK提供服务并采集、处理、使用相关信息的授权,以上内容供贵司参考,具体表述可由贵司根据贵司隐私协议的整体框架和内容自行确定。
个人信息类处理规则(隐私政策):https://www.tongdun.cn/other/privacy/id=4
使用说明:合规使用指导
注意事项
确保在用户同意隐私协议后,再进行插件配置初始化,避免出现用户未同意隐私协议就进行插件初始化采集,引发合规风险。
环境要求
| Android | iOS | |
|---|---|---|
| 兼容版本 | Android 5.0及以上系统 | iOS9.0及以上系统 |
| 支持架构 | armeabi-v7a, arm64-v8a, x86 | armv7,arm64,x86_64 |
集成步骤
安装配置
插件配置
- 在
<https://ext.dcloud.net.cn/plugin?id=16592>界面下载TrustDeviceUniPlugin插件 - 把
TrustDecision-TrustDeviceUniPlugin文件夹放入your_project/nativeplugins目录 - 在 HBuilderX 点击选中
manifest.json,选择 App原生插件配置 - 点击本地插件
[选择本地插件],勾选 TrustDeviceUniPlugin
Android权限申请
在工程目录下的 manifest.json ⽂件中声明以下权限
"android" : {
"permissions" : [
<!--必选权限-->
"<uses-permission android:name=\"android.permission.INTERNET\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
<!--如果您的应用是面向海外市场,在google play 上发布,请添加此项-->
"<uses-permission android:name=\"com.google.android.gms.permission.AD_ID\",
<!--以下权限是可选权限,不声明此部分权限将放弃部分设备信息的采集,对风险识别有一定影响-->
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
<!-- Android11及以上获取安装包列表需要该权限,采集安装包列表涉及到⻛险合规,是否需要该权限业务⽅⾃⾏选
择 -->
"<uses-permission android:name=\"android.permission.QUERY_ALL_PACKAGES\"/>"
/>"
],
...
},
权限说明
| 权限 | 说明 |
|---|---|
| INTERNET(必选) | 允许程序访问网络连接,发送请求与服务器进行通信 |
| ACCESS_NETWORK_STATE(必选) | 获取网络连接状态信息 |
| ACCESS_WIFI_STATE(必选) | 获取当前WiFi接入的状态以及WLAN热点的信息 |
| AD_ID(海外必选) | 获取google 广告ID |
| ACCESS_COARSE_LOCATION | 获取粗略位置信息,精度大概误差在30~1500米 |
| ACCESS_FINE_LOCATION | 获取精确位置信息,定位精度达10米以内 |
| READ_PHONE_STATE | 读取SIM卡相关信息 |
| QUERY_ALL_PACKAGES | 获取应用程序列表 |
集成示例
1.获取 TrustDevice 插件
const TrustDevice = uni.requireNativePlugin('TrustDecision-TrustDeviceUniPlugin');2.在实际业务节点调用插件 sign 方法对需要加签的 url 进行签名
// 需要加密的url
const path = "dev/v2";
TrustDevice.sign(path, (signResult) => {
if (signResult.code == 0) {
// 加签成功,可使用签名结果sign继续业务逻辑
const sign = signResult.sign;
// todo
} else {
// 加签失败
console.log('sign fail:', signResult.msg)
}
});
状态码
| 状态码 | 信息描述 | 处理方式 |
|---|---|---|
| 0 | 成功 | / |
| 2000 | path为空 | 请设置path参数 |
| 22xx | 内部错误 | 请联系技术支持 |
| 30xx | 内部错误 | 请联系技术支持 |
| 4001 | 调用so文件失败,可能是SDK依赖的so文件已经缺失 | 请检查当前设备所使用的架构是否有配置到项目中 |
| 4002 | 调用SDK失败 | 请检查apisign模块是否引入到项目中 |
其他说明
混淆打包
如果 Android 需要使用 proguard 进行混淆打包,请在 proguard 配置文件添加如下代码:
-keep class com.trustdecision.**{*;}