growingio_flutter_library 2.0.1
growingio_flutter_library: ^2.0.1 copied to clipboard
Flutter SDK Library for GrowingIO Flutter Plugin.
Flutter SDK Library for GrowingIO Flutter Plugin. #
GrowingIO Flutter SDK 提供了 无埋点SDK 和 埋点SDK 两个版本:
- 埋点SDK 只自动采集用户访问事件,需要开发同学调用相应埋点 API 采集埋点事件;
- 无埋点SDK 具备 埋点SDK 的所有功能,同时具备自动采集基本用户行为事件,如页面访问,点击事件等。
该仓库为埋点仓库和无埋点仓库的基础库。
GrowingIO简介 #
GrowingIO(北京易数科技有限公司)是基于用户行为数据的增长平台,国内领先的数据运营解决方案供应商。为产品、运营、市场、数据团队及管理者等,提供客户数据平台、获客分析、产品分析、智能运营等产品和咨询服务,帮助企业在数据化升级的路上,提升数据驱动能力,实现更好的增长。
GrowingIO 专注于零售、电商、金融、酒旅航司、教育、内容社区、B2B等行业,成立以来,服务上千家企业级客户,获得迪奥、安踏、喜茶、招商仁和人寿、上汽集团、东航、春航、首旅如家、陌陌、滴滴、爱奇艺、新东方等客户的青睐。
集成文档 #
改进 #
点击事件 #
事件的无埋点事件可以通过为 App 设置全局 Listener 的方式来实现,比如runApp(GrowingAutotrackerWidget(child: MyApp())。
在 GrowingAutotrackerWidget 中为 MyApp 包裹 Listener,监听所有的点击事件,然后通过 GrowingAutotracker 的 trackClickEvent 方法来发送事件。
@override
Widget build(BuildContext context) {
return Listener(
behavior: HitTestBehavior.translucent,
onPointerDown: _onPointerDown,
onPointerUp: _onPointerUp,
child: widget.child,
);
}
页面事件 #
现在 4.0 新版本需要手动设置页面才能发送页面事件,所以通过代理 state 的方式,要客户自行决定需要发送页面事件的页面。
mixin GrowingPageStateMixin<T extends StatefulWidget> on State<T> {
@override
void didChangeDependencies() {
super.didChangeDependencies();
GrowingPageProvider.getInstance().handleElementCreate(context as Element, alias, attributes);
}
@override
void dispose() {
super.dispose();
GrowingPageProvider.getInstance().removeDisposeElement(context as Element);
}
@protected
Map<String, dynamic>? get attributes => null;
@protected
String get alias;
}
控件路径 #
通过编译注入的方式,控件的路径能够辨别是否是用户创建的还是系统控件自带的,从而能够区分是否需要发送控件路径。 但是普通的通过代码获取控件路径是无法区分的,无法优化。