#
数美 Flutter Plugin 接入手册数美提供的 plugin 名为 sm_fraud,其中包含 Android 和 iOS 的 native SDK,Flutter 可以直接导入 plugin 使用。插件位置:sm_smsdk_flutter_demo/packages/sm_fraud
#
1 导入数美 plugin将插件文件夹 sm_fraud 粘贴到工程目录中(以 sm_smsdk_flutter_demo 为例)。 在项目根目录建立 packages(可自定)文件夹,将 plugin 项目移至其中,移动后目录架构如下
#
2 在 pubspec.yaml 中添加依赖打开项目的 pubspec.yaml,在 dev_dependencies 中添加数美 plugin 插件如下
#
3 更新依赖在 Flutter 项目根目录下执行:Flutter pub get
#
4 启动SDK安装后首次启动时,在用户同意隐私协议后,立即启动 SDK。避免出现用户未同意隐私协议已经采集数据问题。
后续app启动时,应在app启动后立即启动 SDK。
方法调用可参考 sm_smsdk_flutter_demo/lib/main.dart
文件示例代码。
#
4.1 在 dart 中 import SDK#
4.2 添加权限和配置(重要)- iOS 只需要连网权限,若使用 HTTP 请求,根据苹果对 ATS 的要求,参考第六章的说明1,配置 Info.plist 中的 [Allow Arbitrary Loads]。
- Android SDK 的代码防混淆,在 proguard-rules.pro 混淆规则文件中添加如下规则:
- Android 需要配置权限,在 AndroidManifest.xml 中添加如下权限:
#
4.3 调用 plugin 的 create 方法启动 SDKcreate 方法接收一个 Map,Map 中的 key 值已经在 SmFraud 类中定义,其中必填项有 3 项, 如下
#
5 获取设备标识SmFraud.getDeviceId()
接口在真正需要 DeviceId 时再进行调用。
不要在 create 后立即调用此方法,不需要缓存调用 getDeviceId 的结果,deviceId 在 sdk 内部会做缓存和更新处理。
调用数美 Plugin 的 API,调用 getDeviceId 方法,如下:
#
6 其他配置和说明#
6.1 HTTPS 设置若不使用 HTTPS 请求,根据苹果 ATS 要求,iOS 需在 Info.plist 中,新增 [Allow Arbitrary Loads] 配置,以允许 HTTP 请求,配置如下值
#
6.2 检查接入是否成功在数美管理后台可查看SDK上传的数据,通过检查上传数据,可确认接入是否成功。
数美管理后台用来查看各个服务的访问统计、历史记录,同时可进行服务相关的操作
首先,进入 www.fengkongcloud.com
接着在界面左侧导航栏选择”设备风险趋势”的“设备详情”页面,即可查看 SDK 上报的设备
#
6.3 ios 采集 IDFA 事项iOS 的 SDK 默认采集了 IDFA(海外版本不采集),在提交 app store 审核时,若为采集 idfa 的版本,需要说明采集了 idfa。