- 在使用前,请先阅读数据模型、Android SDK 使用指南和 iOS SDK 使用指南
- Flutter 插件的更新日志,可参阅 Release Notes
- Flutter 全埋点的更新日志,可参阅 Release Notes
集成神策分析 SDK Flutter 插件
引入插件
在 Flutter 项目的 pubspec.yaml 文件中 dependencies 里面添加 sensors_analytics_flutter_plugin 依赖。
dependencies:
# 添加神策 flutter plugin
sensors_analytics_flutter_plugin: ^3.0.1
执行 flutter pub get 命令安装插件。
flutter pub get
Flutter 插件与 Android 和 iOS 对应的 SDK 版本依赖关系:
Flutter Web 支持
Flutter 插件 v3.0.0 版本以上支持 Flutter Web 端埋点。Web 端不仅需要引入 Flutter 插件,同时需要在 Flutter Web 项目中集成神策 Web JS SDK。步骤如下:
- 下载神策 sensorsdata.min.js,并放入到 Flutter 项目的 web 目录下。
在 web/index.html 文件的 head 标签中引用 Web JS SDK,代码如下:
Flutter 插件初始化
获取项目数据接收地址
- 每个项目都有单独的数据接收地址
- 请使用管理员账户获取相应项目的数据接收地址
初始化 SDK
自 Flutter 插件 v2.1.0 开始支持在 Flutter 端进行初始化。示例如下:
SensorsAnalyticsFlutterPlugin.init(
serverUrl: "<#数据接收地址#>",
enableLog: true,
visualized: VisualizedConfig(autoTrack: true, properties: true),
android: AndroidConfig(maxCacheSize: 32 * 1024 * 1024, jellybean: true, subProcessFlush: true),
ios: IOSConfig(maxCacheSize: 10000));
注意:通常原生端和 Flutter 端只要初始化一次即可。若选择在 Flutter 端初始化,就不需要再在原生端初始化了。
init() 方法参数说明
参数名 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
serverUrl | String? | 数据接收地址 | |
enableLog | bool | 是否显示日志 | |
flushInterval | int | 设置两次事件上报的最小间隔 | 默认 15 秒,最小 5 秒,单位毫秒 |
flushBulksize | int | 设置本地缓存触发 flush 的最大条目数 | 默认 100,最小 50 |
networkTypes | Set | 设置上报网络情况 | TYPE_NONE, TYPE_2G, TYPE_3G, TYPE_4G, TYPE_WIFI, TYPE_5G, TYPE_ALL |
encrypt | bool | 是否开启加密 | 仅支持 RSA + AES |
javaScriptBridge | bool | 是否支持 H5 打通 | 默认 false |
android | AndroidConfig? | Android 端特有配置
| android:{ |
ios | IOSConfig? | iOS 端特有配置
| ios:{ |
web | WebConfig? | Web 端特有配置
| 开启 web 端国密加密
|
globalProperties | Map? | 配置全局公共属性 | 其优先级低于静态公共属性 |
- 若 App 有合规需求,可参考 合规说明;
- 以上是在 Flutter 代码中进行初始化。老版本的插件不支持这种初始化方式,若需要在原生端初始化,请参考 Android SDK 使用指南和 iOS SDK 使用指南。
配置 Scheme
获取项目 Scheme
- 项目的 Scheme 需要管理员账户进行获取
- App 工程中可以同时配置多个项目的 Scheme
App 中添加 Scheme
在使用神策系统中的 Debug 实时查看、可视化全埋点等需要扫码的功能时,用于拉起页面。针对 Android 和 iOS 平台,配置方式不一样:
- Android 平台配置 Scheme(此处需要配置链接)
- iOS 平台配置 Scheme(此处需要配置链接)
SDK 基本配置
用户关联
用户关联是为了对用户进行唯一标识,提高用户行为分析的准确性。目前神策提供了简易用户关联和全域用户关联分为用于支撑不同的业务场景。
设置事件公共属性
对于所有事件都需要添加的属性,初始化 SDK 后,可以通过 registerSuperProperties() 将属性注册为公共属性。详细使用文档参见基础 API 功能介绍。
记录激活事件
可以调用 trackAppInstall() 方法记录激活事件,多次调用此方法只会在第一次调用时触发激活事件。详细使用文档参见渠道追踪与广告。
代码埋点追踪事件
SDK 初始化后,可以通过 track() 方法追踪用户行为事件,并为事件添加自定义属性。详细使用文档参见基础 API 功能介绍。
调试查看事件信息
可以在 init() 方法初始化时 enableLog 设置参数为 true。或者调用
import 'package:sensors_analytics_flutter_plugin/sensors_analytics_flutter_plugin.dart';
...
SensorsAnalyticsFlutterPlugin.enableLog(true/false) //方法来开启或关闭日志。
在 Logcat(Android)或 Xcode(iOS) 中筛选 SA. 关键词:
- 埋点事件触发成功时,SDK 会输出 track event 开头的事件数据
- 埋点事件触发失败时,SDK 会输出相应的错误原因
- 事件数据上报成功时,SDK 会输出 valid message 字段开头的事件数据
- 事件数据上报失败时,SDK 会输出 invalid message 字段开头的事件数据并输出错误原因