SDK 初始化¶
本文用于承载 Flutter SDK 初始化与运行时能力相关内容。
基础配置¶
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 本地环境部署、Datakit 部署
await FTMobileFlutter.sdkConfig(
datakitUrl: datakitUrl,
);
// 使用公网 DataWay
await FTMobileFlutter.sdkConfig(
datawayUrl: datawayUrl,
cliToken: cliToken,
);
}
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| datakitUrl | String | 是 | 本地环境部署(Datakit)上报 URL 地址,例子:http://10.0.0.1:9529,端口默认 9529,安装 SDK 设备需能访问该地址。注意:datakitUrl 和 datawayUrl 两者二选一 |
| datawayUrl | String | 是 | 公网 DataWay 上报 URL 地址,从 [用户访问监测] 应用中获取,例子:https://open.dataway.url,安装 SDK 设备需能访问该地址。注意:datakitUrl 和 datawayUrl 两者二选一 |
| cliToken | String | 是 | 认证 token,需要与 datawayUrl 同时配置 |
| debug | bool | 否 | 设置是否允许打印日志,默认 false |
| env | String | 否 | 环境配置,默认 prod,任意字符,建议使用单个单词,例如 test |
| envType | enum EnvType | 否 | 环境配置,默认 EnvType.prod。注意:env 与 envType 只需配置一个 |
| autoSync | bool | 否 | 是否在采集数据后自动同步到服务器,默认 true。当为 false 时使用 FTMobileFlutter.flushSyncData() 自行管理数据同步 |
| syncPageSize | enum | 否 | 设置同步请求条目数,SyncPageSize.mini 5 条,SyncPageSize.medium 10 条,SyncPageSize.large 50 条,默认 SyncPageSize.medium |
| customSyncPageSize | number | 否 | 设置同步请求条目数,范围 [5, )。请求条目数越大,代表数据同步占用更大的计算资源 |
| syncSleepTime | number | 否 | 设置同步间歇时间,范围 [0,5000],默认不设置 |
| globalContext | object | 否 | 添加自定义标签。添加规则请查阅 冲突字段说明 |
| serviceName | String | 否 | 服务名 |
| enableLimitWithDbSize | boolean | 否 | 开启使用 DB 限制数据大小,默认 100MB,单位 Byte,默认不开启。开启后 logCacheLimitCount 及 rumCacheLimitCount 将失效。SDK 0.5.3-pre.2 以上支持 |
| dbCacheLimit | number | 否 | DB 缓存限制大小,范围 [30MB, ),默认 100MB,单位 byte,SDK 0.5.3-pre.2 以上支持 |
| dbCacheDiscard | string | 否 | 设置数据库中数据丢弃规则。FTDBCacheDiscard.discard 丢弃新数据(默认),FTDBCacheDiscard.discardOldest 丢弃旧数据。SDK 0.5.3-pre.2 以上支持 |
| compressIntakeRequests | boolean | 否 | 对上传同步数据进行 deflate 压缩,SDK 0.5.3-pre.2 以上支持,默认关闭 |
| enableDataIntegerCompatible | boolean | 否 | 需要与 Web 数据共存情况下建议开启,用于处理 Web 数据类型存储兼容问题。0.5.4-pre.1 以上默认开启 |
| dataModifier | Map |
否 | 对单个字段进行更改,使用示例请看 数据采集脱敏 |
| lineDataModifier | Map |
否 | 对单条数据进行更改,使用示例请看 数据采集脱敏 |
用户信息绑定与解绑¶
使用方法¶
/// 绑定用户
///
/// [userid] 用户 id
/// [userName] 用户名
/// [userEmail] 用户邮箱
/// [userExt] 扩展数据
static Future<void> bindRUMUserData(String userId,
{String? userName, String? userEmail, Map<String, String>? ext})
/// 解绑用户
static Future<void> unbindRUMUserData()
代码示例¶
ext 添加规则请查阅 冲突字段说明。
运行时能力¶
主动同步数据¶
autoSync: false时,才需要自行进行数据同步。