Flutter
仅支持Android和iOS
仅支持Android和iOS
请注意,在贵司的App中集成小盾提供的SDK产品时:
1.1 根据《网络安全法》《电信条例》《电信和互联网用户个人信息保护规定》等相关法律法规要求及监管实践中的标准,在贵司的最终用户首次启动App并在贵司开始采集信息之前,贵司应以交互界面或设计(如隐私政策弹窗等)向最终用户完整告知收集、使用、与第三方共享最终用户个人信息的目的、方式和范围,并征得最终用户的明示同意。
1.2 为向贵司提供业务安全和风控服务,小盾 SDK 将采集、处理、使用用户的手机终端唯一标志信息IDFA、Android ID、OAID(包含VAID、AAID)、MAC 地址、WIFI列表、无线路由器标识(BSSID、SSID)、设备类型、设备型号、系统类型、粗略位置信息、精准位置信息、应用程序列表、运行中进程信息、网络制式、设备软件版本号、传感器(光传感器、重力传感器、磁场传感器、加速度传感器、陀螺仪传感器、心率传感器)以及传感器列表相关设备信息。为确保贵司使用相关服务的合规性,前述隐私政策应涵盖对小盾SDK提供服务并采集、处理、使用相关信息的授权,以上内容供贵司参考,具体表述可由贵司根据贵司隐私协议的整体框架和内容自行确定。
个人信息类处理规则(隐私政策):https://xiaodun.com/other/privacy/id=4
使用说明:合规使用指导
复制 AI 提示词,粘贴到 Codex、Copilot、Claude Code 等AI 编码工具,即可自动生成代码,完成 TD SDK 集成
将trustdevice_pro_plugin添加到Flutter应用程序中的pubspec.yaml
dependencies:
flutter:
sdk: flutter
...
trustdevice_pro_plugin: ^1.5.5在应⽤module下的 AndroidManifest.xml ⽂件中声明以下权限
<manifest>
<!--必选权限-->
<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"/>
</manifest> Future<void> initWithOptions(Map<String, dynamic> config) // 同步获取
Future<String> getBlackBox()
// 异步获取
Future<String> getBlackBoxAsync();import 'package:trustdevice_pro_plugin/trustdevice_pro_plugin.dart';
class _MyAppState extends State<MyApp> {
final _trustdeviceProPlugin = TrustdeviceProPlugin();
@override
void initState() {
super.initState();
_initWithOptions();
}
Future<void> _initWithOptions() async {
var options = {
"partner": "请输入您的partnerCode",
"appKey": "请输入您的appKey",
"channel": "请输入您的channel",
"dataCenter": "请输入您接入的数据中心"
};
//Anti debugging switch, used during development phase
options["debug"] = true;
_trustdeviceProPlugin.initWithOptions(options);
var blackBox = await _trustdeviceProPlugin.getBlackBoxAsync();
print("_initWithOptions blackBox: ${blackBox}");
}
}// 比如注册的时候
Future<void> _register() async {
var blackBox = await _trustdeviceProPlugin.getBlackBox();
// ...
}rGPGX1678775227I9NCwcuVJCb。 Future<String> getSDKVersion()如果开发者需要使用 proguard 进行混淆打包,请在 proguard 配置文件添加如下代码:
-keep class com.trustdecision.**{*;}