1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Flutter】Firebase Analytics の DebugView でイベントが表示されない時の対処法

Posted at

はじめに

flutterプロジェクトにFirebase Analytics のイベントを追加する際、DebugView でイベントが表示されず、かなり時間を浪費してしまいました。同じ状況で困っている方の参考になればと思い、解決方法をまとめます。

先にまとめ

以下を確認してみてください!

  • Xcode から実行しているか(flutter run はNG)
  • Bundle Identifier が一致しているか
  • スキーム設定に -FIRDebugEnabled があるか
  • 既存のアプリを削除してから再実行したか
  • Firebase コンソールで正しいデバイスを選択しているか

問題:DebugView にイベントが表示されない

GA イベントを追加して、ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcschemeに
コマンドライン引数 -FIRDebugEnabled を設定し、flutter run で実行しても、Firebase コンソールの DebugView にイベントが一向に表示されませんでした。

コードは正しいはずなのに、なぜ...?

原因1:flutter run では DebugView が動作しない

結論:DebugView を使うには Xcode から実行する必要があります。

なぜ flutter run ではダメなのか

  • Firebase Analytics の DebugView は、アプリ起動時のコマンドライン引数 -FIRDebugEnabled を参照します
  • この引数は Xcode のスキーム設定で指定するもので、flutter run コマンドでは適用されません
  • そのため、Xcode から直接実行する必要があります

解決方法:Xcode から実行する

1. Xcode でプロジェクトを開く

ターミナルから以下のコマンドで Xcode を起動します。

open ios/Runner.xcworkspace

注意: .xcodeproj ではなく .xcworkspace を開いてください。CocoaPods を使用している場合、.xcworkspace でないと依存関係が正しく読み込まれません。

2. スキーム設定を確認

スキーム設定の手順については、以下の記事を参照してください。

Arguments Passed On Launch-FIRDebugEnabled が設定されていることを確認します。

3. Xcode から実行

  1. デバイスまたはシミュレータを選択
  2. Product > Run(または ⌘R)で実行

4. Firebase コンソールで確認

  1. Firebase コンソール > Analytics > DebugView を開く
  2. デバッグに使用するデバイスから、実際に起動したデバイスを選択
  3. イベントがリアルタイムで表示されます

重要: DebugView の画面上部にあるデバイス選択ドロップダウンで、正しいデバイス(シミュレータまたは実機)を選んでいることを確認してください。複数のデバイスが接続されている場合、間違ったデバイスを見ていてイベントが表示されません。

原因2:Bundle Identifier が異なる

もう一つのハマりポイントとして、アプリの Bundle Identifier が Firebase プロジェクトに登録されているものと異なる場合も DebugView にイベントが表示されません

確認方法

Firebase コンソールで確認

  1. Firebase コンソール > プロジェクト設定
  2. iOS アプリの バンドル ID を確認

Xcode で確認

  1. Xcode でプロジェクトを開く
  2. Runner > Signing & Capabilities
  3. Bundle Identifier を確認

この2つが一致していることを確認してください。

原因3:既存のアプリが残っている

スキーム設定を変更しても DebugView にイベントが表示されない場合、デバイスやシミュレータに残っている既存のアプリが原因の可能性があります。

解決方法

デバイスまたはシミュレータからアプリを一度完全に削除してから、再度 Xcode から実行してください。

アプリを削除することで、古い設定がクリアされ、新しいスキーム設定(-FIRDebugEnabled)が正しく適用されます。

補足:DebugView の ON/OFF について

普段は flutter run で起動されている場合は、DebugView を確認したい時だけ Xcode から実行するという運用にすれば、スキーム設定は常時 ON のままでも大丈夫かと思います。

メリット

  • 毎回スキーム設定を変更する手間が不要
  • 開発時は flutter run でホットリロードを活用
  • デバッグ時だけ Xcode から起動

注意事項

  • DebugView で送信されたイベントは、本番の Analytics レポートには集計されません
  • あくまで開発・デバッグ用の機能です

再度まとめ

Firebase Analytics の DebugView でイベントが表示されない場合は、以下を確認してみてください

  1. Xcode から実行しているかflutter run ではなく)
  2. Bundle Identifier が一致しているか
  3. スキーム設定に -FIRDebugEnabled があるか
  4. 既存のアプリを削除してから再実行したか
  5. Firebase コンソールで正しいデバイスを選択しているか

この記事が同じ問題で困っている方の助けになれば幸いです!

おわりに

間違い等ございましたらコメントいただけますと幸いです!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?