在Flutter App中集成Google Analytics用户统计功能

4,156 阅读1分钟

前提:

  1. 已经有Google Analytics账号
  2. 在Google Analytics创建了统计项目,并且创建了Android或iOS端的统计数据流

操作:

  1. 在pubspec.yaml中添加依赖:
dependencies:
    # 在现有的依赖后添加:
    firebase_core: any
    firebase_analytics: any
  1. 执行 flutter pub get 命令安装依赖

  2. 下载Google Analytics提供的Android端(json)和iOS端(plist)文件,覆盖对应目录中的文件:

    • iOS端的目标文件位置:ios/Runner/GoogleService-Info.plist

      iOS端建议使用Xcode复制到Runner目录,我遇到过在finder或者Android Studio内复制到Runner文件夹无效

    • Android端的目标文件位置:android/app/google-services.json

  3. 这一步针对Android

    • android/build.gradle中添加:
    buildscript {
       dependencies {
           classpath 'com.google.gms:google-services:4.3.3'
       }
    }
    
    • android/app/build.gradle 结尾中添加:
    apply plugin: 'com.google.gms.google-services'
    
  4. main.dart文件修改成类似的内容:

/// 创建全局变量,flutter会根据系统平台自动读取第五步下载的对应配置文件
final FirebaseAnalytics analytics = FirebaseAnalytics();
final FirebaseAnalyticsObserver observer = FirebaseAnalyticsObserver(analytics: analytics);

/// 以下代码仅供参考,重点是添加一个路由观察器到MaterialApp:
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      navigatorObservers: [observer],
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}
  1. 将项目跑起来,你就会发现Google Analytics的项目中会有一个活跃的用户了