Firebase Analytics for Flutter

Firebaseコンソールにて

  • アプリ登録
  • パッケージとハッシュを入力。ハッシュ必須
  • googleさんから頂いたgoogle-services.jsonファイルをプロジェクトにイン!
    • google-services.json >> [project > android > app > google-services.json]

gradleに追加

  • 指示がでたとーりにproject > android以下のbuild.gradleを修正
project > android > build.gradle
01
02
03
04
05
06
07
08
09
10
11
12
13
...
buildscript {
    repositories {
        google()
        jcenter()
    }
 
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.google.gms:google-services:3.1.2'// add
    }
}
...
project > android > app > build.gradle
1
2
3
...
//add to last of build.gradle
apply plugin: 'com.google.gms.google-services'

pubspec.yamlにプラグインを追加

pubspec.yaml
1
2
3
4
5
6
7
...
dependencies:
  flutter:
    sdk: flutter
 
  firebase_analytics: ^0.3.0
...

importは analyticsとanalytics observer

  • あとFutureが帰ってくるので、import 'dart:async';も必要になる
main.dart imports
1
2
3
4
5
...
    import 'dart:async';
    import 'package:firebase_analytics/firebase_analytics.dart';
    import 'package:firebase_analytics/observer.dart';
...

初期化処理

main.dart
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
FirebaseAnalytics analytics = new FirebaseAnalytics();// add
 
void main() => runApp(new MyApp());
 
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
        primarySwatch: Colors.blue,
      ),
      navigatorObservers: <NavigatorObserver>[
        new FirebaseAnalyticsObserver(analytics: analytics)// add
      ],
      home: new MyHomePage(title: 'Flutter Demo Home Page', analytics: analytics),
    );
  }
}

使い方(すごく適当)

dartfile
01
02
03
04
05
06
07
08
09
10
//for example to log
    //自由なイベント名でログを送信
    analytics.logEvent(name: "click_float");
 
    //パラメータにMapを追加してログを送信
    analytics.logEvent(name: "login_account", parameters: {"account": _googleSignIn.currentUser.email});
 
    //もともと用意されているイベント名を利用
    //例えばloginイベント
    analytics.logLogin();

動かないとき

  • package名!
  • ハッシュ!
  • build.gradle!2つとも!

Firebase > Analytics > DebugViewで見たいなら

1
adb -s [device] shell setprop debug.firebase.analytics.app [com.yourdomain.yourpackagename]

トラックバックURL  -  http://mashi.exciton.jp/archives/329/trackback