Firebase Analytics events from iOS not showing up

If you are not receiving events in console, it may be because you are not following naming convention, as I experienced if there is a space in event name it will never show up in the console like following:

mFirebaseAnalytics.logEvent("Add Camera", bundle);

But when you remove the space like following:

mFirebaseAnalytics.logEvent("Add_Camera", bundle);

Now you will see events in console, after approximately 3 hours. Application will dispatch the data to console in following cases:

1- Data is more than an hours old
2- App goes into the background

You can watch this tutorial for more information: Getting Started with Firebase Analytics on iOS: Events - Firecasts


In Swift it should be like:

FIRAnalytics.logEvent(withName: "SignUp", parameters: ["user_id": userid, "user_name": username])

To view this event in Firebase:

  1. Go to Firebase console → Analytics tab
  2. Click on DebugView tab; your Events are shown there

To view this event in Xcode:

  1. In Xcode, select Product → Scheme → EditScheme
  2. Select Run from left Menu
  3. Select Arguments tab
  4. In the Arguments Passed on Launch, add -FIRAnalyticsDebugEnabled

One dash only!!

Note that -FIRAnalyticsDebugEnabled has only ONE dash in front of it.


Firebase events are batched together and uploaded once every hour in order to prevent excessive battery drain on the devices. On iOS when you background the app before the 1h upload target the events will be dispatched at this time in the background.

You can enable debug logging for iOS (https://firebase.google.com/docs/analytics/ios/events#view_events_in_the_xcode_debug_console) to see when events are uploaded in debug console.

Once the events are uploaded there is delay at about 3h before the data will show up in the Firebase Analytics dashboard. Also the default day range excludes "today" so you only see events from yesterday. You can switch the date picker to include Today if you like to see the latest events.

The main reason to delay/batch data uploading is to save battery. Each time the network is used the device mobile network modem is put in hi power mode and stay in this mode for a while. If network is used regularly it has sever impact on the battery life. By batching the uploads together and delaying the upload the impact on the battery is significantly reduced.