Flutter埋点SDK
App适配最低系统版本:iOS 8及以上、Android 4.2-10

1. 集成SDK

1. 环境配置

Android(Native 部分)
iOS(Native 部分)
Flutter 插件运行在 Android 手机上时依赖于 GrowingIO Android SDK (可以是无埋点 SDK 也可以是埋点 SDK) 2.6.0 及以上, 原生部分请参考:
Android SDK > 无埋点 SDK集成
Android SDK > 埋点 SDK集成
Flutter 埋点插件是在 iOS 原生 SDK(无埋点或埋点)上的扩展,原生部分请参考:
iOS 无埋点 SDK > 无埋点 SDK集成
iOS 埋点 SDK > 埋点 SDK集成

2. Flutter SDK 集成

pubspec.yaml文件中添加依赖
dependencies:
flutter_growingio_track:
git:
url: https://github.com/growingio/flutter-growingio-track.git
ref: master
然后执行flutter pub get指令

3. 导入

在对应的 *.dart 文件,使用以下方式导入
import 'package:flutter_growingio_track/flutter_growingio_track.dart';

2. 自定义数据上传

1. track

发送自定义事件, 对应于 cstm 事件
参数
是否必填
说明
eventId
事件Id
variable
变量, Map型
调用示例:
GrowingIO.track('eventId');
GrowingIO.track('eventId', variable: {'testkey': 'testValue', 'testNumKey': 2333});

2. setEvar

发送转化变量, 对应于 evar 事件
函数原型为: setEvar(Map<String, dynamic> variable)
调用示例:
GrowingIO.setEvar({
'testKey': 'testValue', 'testNumKey': 2333.0
});

3. setPeopleVariable

发送用户变量, 对应于 ppl 事件
函数原型为: setPeopleVariable(Map<String, dynamic> variable)
调用示例:
GrowingIO.setPeopleVariable({
'testKey': 'testValue', 'testNumKey': 2333.0
});

4. setUserId

设置登录用户 ID, 对应于 cs1 字段
参数
类型
描述
userId
String
登录用户Id
函数原型: setUserId(String userId)
调用示例:
GrowingIO.setUserId("testUserId");

5. clearUserId

清除登录用户 ID
函数原型: clearUserId()
调用示例:
GrowingIO.clearUserId();

6. setVisitor

设置访问用户变量, 对应于 vstr 事件
函数原型: setVisitor(Map<String, dynamic> variable)
调用示例:
GrowingIO.setVisitor({
"visitorKey": 'key', "visitorValue": 34
});

3. 创建应用

添加代码之后,请先 Clean 项目,然后再进行编译,并在你的 App 安装了 SDK 后重新启动几次 App,保证行为采集数据自动发送给 GrowingIO,以便顺利完成检测。
在 GrowingIO 平台的应用创建页面继续完成应用创建的数据检测,检测成功后应用创建成功。

4. 验证SDK是否正常采集数据

了解 GrowingIO 平台数据采集类型请参考数据模型
GrowingIO 为您提供多种验证 SDK 是否正常采集数据的方式:
方式一:Mobile Debugger​​
方式二:在 SDK 中设置了 Debug 模式后,在 IDE 编译器控制台查看数据采集日志。
方式三:数据校验

常见问题

1. iOS :App Store 提供应用注意事项

如果您添加了库 AdSupport.framework, GrowingIO 则会启用 IDFA,所以在向 App Store 提交应用时,需要:
  • 对于问题 Does this app use the Advertising Identifier (IDFA),选择 YES。
  • 对于选项 Attribute this app installation to a previously served advertisement,打勾。
  • 对于选项 Attribute an action taken within this app to a previously served advertisement,打勾。

2. iOS:为什么 GrowingIO 使用 IDFA?

GrowingIO 使用 IDFA 来做来源管理激活设备的精确匹配,让你更好的衡量广告效果。如果你不希望跟踪这个信息,可以选择不引入 AdSupport.framework

3. 初始化 Android SDK 时,GrowingIO 类可能会报红色怎么处理?

这个应该是 Flutter 项目结构的问题,并不影响运行,可以放心编译. 不过需要手动 import。
import 'package:flutter_growingio_track/flutter_growingio_track.dart';

4. 为什么不在 Flutter 中单独初始化?

  • 因为 GrowingIO 需要获取 Android 的 Activity 生命周期,为了数据的准确性,需要在 Activity 出现前就初始化完成
  • 开发者相信很多用户都会使用 Flutter + Native 形式的进行开发,为了同时服务 Flutter 与 Native
最近更新 5mo ago
此页面是否有帮助?
大纲
1. 集成SDK
1. 环境配置
2. Flutter SDK 集成
3. 导入
2. 自定义数据上传
1. track
2. setEvar
3. setPeopleVariable
4. setUserId
5. clearUserId
6. setVisitor
3. 创建应用
4. 验证SDK是否正常采集数据
常见问题
1. iOS :App Store 提供应用注意事项
2. iOS:为什么 GrowingIO 使用 IDFA?
3. 初始化 Android SDK 时,GrowingIO 类可能会报红色怎么处理?
4. 为什么不在 Flutter 中单独初始化?