Firebase Analytics for Flutter

Firebaseコンソールにて

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

gradleに追加

  • 指示がでたとーりにproject > android以下のbuild.gradleを修正
...
buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.google.gms:google-services:3.1.2'// add
    }
}
...
...
//add to last of build.gradle
apply plugin: 'com.google.gms.google-services'

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

...
dependencies:
  flutter:
    sdk: flutter

  firebase_analytics: ^0.3.0
...

importは analyticsとanalytics observer

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

初期化処理

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),
    );
  }
}

使い方(すごく適当)

//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で見たいなら

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

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