AutoTrackConfig constructor
AutoTrackConfig({
- String? host,
- int? uploadInterval,
- String? appKey = '',
- String? appSecret = '',
- Function? signature,
- bool enableUpload = false,
- String? trackId,
- String? userId,
- String? uniqueId,
- EventHandlerFunc? eventHandler,
- List<
AutoTrackPageConfig< pageConfigs = const [],Widget> > - bool useCustomRoute = false,
- List<
Key> ignoreElementKeys = const [], - List<
String> ignoreElementStringKeys = const [], - bool enablePageView = true,
- bool enablePageLeave = false,
- bool enableClick = true,
- bool enableDrag = false,
- bool enableIgnoreNullKey = false,
Implementation
AutoTrackConfig({
this.host, // 数据上报地址
this.uploadInterval, // 数据上报间隔
this.appKey = '', // 数据上报时根据key和secret生成签名
this.appSecret = '',
this.signature, // 签名生成方法,默认使用sha256对key、时间戳和secret进行签名
this.enableUpload = false, // 开启数据上报
this.trackId, // 埋点ID,默认使用UUID,每次启动时会变化
this.userId, // 用户ID
this.uniqueId,
this.eventHandler, // 事件处理
this.pageConfigs = const [],
this.useCustomRoute = false, // 使用自定义路由
this.ignoreElementKeys = const [], // 忽略key列表
this.ignoreElementStringKeys = const [],
this.enablePageView = true, // 监听页面进入事件
this.enablePageLeave = false, // 监听页面离开事件
this.enableClick = true, // 监听点击事件
this.enableDrag = false, // 监听拖拽事件
this.enableIgnoreNullKey = false, // 忽略空key事件
}) {
trackId ??= const Uuid().v4().replaceAll('-', '');
signature ??= (t) => sha256.convert(utf8.encode('$appKey$t$appSecret')).toString();
}