Flutter数据分析与监控插件growingio_flutter_library的使用

Flutter数据分析与监控插件growingio_flutter_library的使用

Flutter SDK Library for GrowingIO Flutter Plugin.

GrowingIO Flutter SDK 提供了 无埋点SDK埋点SDK 两个版本:

  • 埋点SDK:只自动采集用户访问事件,需要开发同学调用相应埋点 API 采集埋点事件。
  • 无埋点SDK:具备埋点SDK的所有功能,同时具备自动采集基本用户行为事件,如页面访问,点击事件等。

该仓库为埋点仓库和无埋点仓库的基础库。


GrowingIO简介

GrowingIO

GrowingIO(北京易数科技有限公司)是基于用户行为数据的增长平台,国内领先的数据运营解决方案供应商。为产品、运营、市场、数据团队及管理者等,提供客户数据平台、获客分析、产品分析、智能运营等产品和咨询服务,帮助企业在数据化升级的路上,提升数据驱动能力,实现更好的增长。
GrowingIO 专注于零售、电商、金融、酒旅航司、教育、内容社区、B2B等行业,成立以来,服务上千家企业级客户,获得迪奥、安踏、喜茶、招商仁和人寿、上汽集团、东航、春航、首旅如家、陌陌、滴滴、爱奇艺、新东方等客户的青睐。


集成文档

步骤1:添加依赖

pubspec.yaml 文件中添加 growingio_flutter_library 依赖:

dependencies:
  growingio_flutter_library: ^最新版本号

然后运行以下命令安装依赖:

flutter pub get

步骤2:初始化SDK

main.dart 文件中初始化 GrowingIO SDK:

import 'package:flutter/material.dart';
import 'package:growingio_flutter_library/growingio_flutter_library.dart';

void main() {
  // 初始化 GrowingIO SDK
  GrowingIO.init(
    projectId: "您的项目ID", // 替换为您的项目ID
    dataServerUrl: "https://data-server-url", // 替换为您的数据服务器URL
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'GrowingIO 示例',
      home: HomePage(),
    );
  }
}

步骤3:手动埋点

如果使用埋点SDK,可以通过调用 trackEvent 方法手动埋点:

void trackCustomEvent(String eventName, Map<String, dynamic> properties) {
  GrowingIO.trackEvent(
    eventName: eventName,
    properties: properties,
  );
}

// 在某个按钮点击事件中触发埋点
ElevatedButton(
  onPressed: () {
    trackCustomEvent(
      eventName: "点击按钮",
      properties: {"按钮名称": "提交"},
    );
  },
  child: Text("提交"),
),

步骤4:无埋点自动采集

如果使用无埋点SDK,则无需手动埋点,SDK会自动采集页面访问和点击事件。例如:

class HomePage extends StatefulWidget {
  [@override](/user/override)
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  [@override](/user/override)
  void initState() {
    super.initState();
    // 自动记录页面访问事件
    GrowingIO.pageStart(pageName: "首页");
  }

  [@override](/user/override)
  void dispose() {
    // 页面离开时停止采集
    GrowingIO.pageEnd(pageName: "首页");
    super.dispose();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("GrowingIO 示例"),
      ),
      body: Center(
        child: Text("欢迎来到首页"),
      ),
    );
  }
}

示例完整代码

以下是完整的示例代码,展示了如何集成 GrowingIO 无埋点SDK并自动采集页面访问事件:

import 'package:flutter/material.dart';
import 'package:growingio_flutter_library/growingio_flutter_library.dart';

void main() {
  // 初始化 GrowingIO SDK
  GrowingIO.init(
    projectId: "您的项目ID", // 替换为您的项目ID
    dataServerUrl: "https://data-server-url", // 替换为您的数据服务器URL
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'GrowingIO 示例',
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  [@override](/user/override)
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  [@override](/user/override)
  void initState() {
    super.initState();
    // 自动记录页面访问事件
    GrowingIO.pageStart(pageName: "首页");
  }

  [@override](/user/override)
  void dispose() {
    // 页面离开时停止采集
    GrowingIO.pageEnd(pageName: "首页");
    super.dispose();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("GrowingIO 示例"),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            // 手动埋点示例
            GrowingIO.trackEvent(
              eventName: "点击按钮",
              properties: {"按钮名称": "提交"},
            );
          },
          child: Text("提交"),
        ),
      ),
    );
  }
}

更多关于Flutter数据分析与监控插件growingio_flutter_library的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter数据分析与监控插件growingio_flutter_library的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


growingio_flutter_library 是一个用于在 Flutter 应用中集成 GrowingIO 数据分析与监控功能的插件。GrowingIO 是一款强大的数据分析工具,可以帮助开发者收集用户行为数据、进行用户画像分析、优化产品体验等。

1. 安装插件

首先,你需要在 pubspec.yaml 文件中添加 growingio_flutter_library 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  growingio_flutter_library: ^最新版本号

然后运行 flutter pub get 来安装插件。

2. 初始化插件

在你的 Flutter 应用中,你需要在 main.dart 文件中初始化 GrowingIO 插件。通常在 main() 函数中进行初始化:

import 'package:flutter/material.dart';
import 'package:growingio_flutter_library/growingio_flutter_library.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 GrowingIO
  GrowingIO.startWithAccountId('你的项目ID');
  
  runApp(MyApp());
}

3. 配置用户信息

如果你想跟踪特定用户的行为,可以设置用户信息:

GrowingIO.setUserId('用户ID');
GrowingIO.setUserProfile({
  'name': '张三',
  'age': 25,
  'gender': 'male',
});

4. 跟踪页面浏览

GrowingIO 会自动跟踪页面的浏览行为,但如果你想手动触发页面浏览事件,可以使用 trackPageView 方法:

GrowingIO.trackPageView('页面名称');

5. 跟踪自定义事件

你可以使用 trackCustomEvent 方法来跟踪自定义事件:

GrowingIO.trackCustomEvent('事件名称', {
  'key1': 'value1',
  'key2': 'value2',
});

6. 设置埋点

如果你需要对某些特定的用户行为进行埋点,可以在对应的代码位置添加埋点:

GrowingIO.trackCustomEvent('按钮点击', {
  '按钮名称': '登录按钮',
});

7. 调试模式

在开发阶段,你可以启用调试模式,以便在控制台中查看 GrowingIO 的日志输出:

GrowingIO.setDebugMode(true);

8. 处理异常

你还可以使用 GrowingIO 来捕获和跟踪应用中的异常:

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 GrowingIO
  GrowingIO.startWithAccountId('你的项目ID');
  
  // 设置全局异常捕获
  FlutterError.onError = (FlutterErrorDetails details) {
    GrowingIO.trackException(details.exceptionAsString(), details.stack);
  };
  
  runApp(MyApp());
}

9. 集成原生代码(可选)

如果你需要更深入的原生集成,可以在 AndroidiOS 项目中分别进行配置。

Android

android/app/build.gradle 文件中添加 GrowingIO 的依赖:

dependencies {
    implementation 'com.growingio.android:growingio-sdk:latest.version'
}

iOS

ios/Podfile 文件中添加 GrowingIO 的依赖:

pod 'GrowingIO', '~> latest.version'

然后运行 pod install 来安装依赖。

10. 测试与验证

在完成上述配置后,你可以运行应用并使用 GrowingIO 的仪表板来查看数据是否正常收集。

11. 发布应用

在发布应用之前,确保关闭调试模式:

GrowingIO.setDebugMode(false);
回到顶部