🏁 はじめに
Flutterアプリに「ユーザーがどんな操作をしているか」を記録したくて、Firebase Analyticsを入れてみました。
……が、最初はぜんぜんイベントが飛ばずに困惑しました🥹💦
この記事では、FlutterでFirebase Analyticsを導入して、実際にイベントを送信・確認できるようになるまでを、初心者目線でまとめています。
同じように「設定したのに反映されない!」となっている方の参考になればうれしいです🙆♀️
⚙️ Firebaseプロジェクトの準備
まずはFirebase Consoleでアプリを登録します。
「Android」と「iOS」両方に対応させる場合、それぞれ設定ファイルを取得しましょう。
| OS | ファイル名 | 配置場所 |
|---|---|---|
| Android | google-services.json |
android/app/ |
| iOS | GoogleService-Info.plist |
ios/Runner/ |
次に、pubspec.yaml に以下を追加します👇
dependencies:
firebase_core: ^3.3.0
firebase_analytics: ^11.2.0
その後、パッケージをインストール:
flutter pub get
🔧 Flutter側の初期化コード
Firebaseを使う前に、アプリ起動時に初期化を行います。
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_analytics/firebase_analytics.dart';
import 'package:firebase_analytics/observer.dart';
import 'firebase_options.dart'; // FlutterFire CLIで生成されたもの
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
final FirebaseAnalytics analytics = FirebaseAnalytics.instance;
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Firebase Analytics Demo',
navigatorObservers: [
FirebaseAnalyticsObserver(analytics: analytics),
],
home: MyHomePage(analytics: analytics),
);
}
}
class MyHomePage extends StatelessWidget {
final FirebaseAnalytics analytics;
const MyHomePage({required this.analytics});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text("Analytics Demo")),
body: Center(
child: ElevatedButton(
onPressed: () async {
await analytics.logEvent(
name: 'button_clicked',
parameters: {'screen': 'home'},
);
print('✅ Event sent!');
},
child: const Text("イベント送信!"),
),
),
);
}
}
ボタンを押すと、button_clicked イベントが送信されます✨
👀 DebugViewで動作確認
「イベントが送信されたか確認したい!」というときは、DebugViewを使います。
Androidの場合:
adb shell setprop debug.firebase.analytics.app <package_name>
例:
adb shell setprop debug.firebase.analytics.app com.example.analyticsdemo
iOSの場合:
XcodeのRun Argumentsに以下を追加します👇
-FIRDebugEnabled
Firebase Console → Analytics → DebugView を開くと、
イベントがリアルタイムで表示されます✨
⚠️ よくあるつまずきポイント
1. イベントが反映されない
→ DebugViewで見ても出ないときは、一度アプリを再起動して再送信してみてください。
(私はこれで3時間悩みました…🥲)
2.iOSで設定ファイルが反映されない
→ GoogleService-Info.plist が Runner直下ではなく1階層ずれてることがあります。
Xcodeでファイルを直接ドラッグして追加するのが確実です。
3. カスタムイベント名が反映されない
→ 英数字とアンダースコアのみ使えます(例:user_logged_in)
ハイフンなどを入れると無視されるので注意⚠️
💡 まとめ
Firebase Analyticsを入れてみて思ったのは、
「設定が通ってイベントが届く瞬間、ちょっと感動する…!」ということです😆✨
最初はエラーや設定漏れでつまづくかもしれませんが、
一度動けばあとはどんどん使えるようになります。
📈 これからはカスタムイベントやユーザー属性を設定して、
アプリの“使われ方”をもっと可視化していきたいと思います!