Firebase

Firebase Crashlytics data available via Google APIs cannot be used for calculating aggregate stats like crash-free rate or adoption rate, because it only contains info on unhealthy sessions: without info on healthy session stats, there is no denominator for crash-free rates or adoption.

As a result, Runway's stability monitoring integration for Firebase relies on Google Analytics data, and that data must be exported from Firebase to BigQuery since Firebase doesn't expose a direct API for this data.

Set up in Firebase

Find your Firebase Project ID

  1. Navigate to your Firebase console (🔗 https://console.firebase.google.com), and select the Firebase project for your app(s)

  2. Click on the gear icon top left, choose “Project settings”

  3. On the “General” tab, make note of the Project ID. You’ll need to enter this value in Runway shortly

Find your Google Analytics Property ID

  1. Click on the Integrations tab

  2. Next, ensure that the Google Analytics tile in your Firebase console is showing the status "Enabled". If it’s not, you'll need to 🔗 set up and enable Google Analytics in your project

  3. Click into the Google Analytics tile. It should show your app(s) in the bottom section, and at the top there should be a Property ID. Grab that value; you’ll need to enter it shortly in Runway

BigQuery + GA settings

Setting up BigQuery is required because Google doesn't expose user- and session-level stability data directly via Firebase APIs.

Data processed, and therefore costs, can be variable depending on each team's data volume and other factors. We recommend adding user- and/or project-level quotas to cap query data processed per day. More information is available here: 🔗 Controlling your BigQuery costs - Google Cloud

  1. Click back up to Integrations

  2. Click into the BigQuery tile. If you haven’t yet linked BigQuery to Firebase, you’ll be prompted to do so. Once you’re linked, you’ll see a list of integrations to configure. Or, if you were already linked, you’ll also see that list of integrations

  3. Find the Google Analytics integration, and flip that switch ON

  4. In Apps exporting, make sure the app(s) in question are selected

  5. In Export settings, make sure at least the “Daily” option is selected

Note that you must be on a Firebase paid plan to select “Streaming” exports in Export settings, and without “Streaming” enabled, data flowing into Runway won’t be real-time.

For BigQuery exports that have been turned on for the first time, it may take a day before the data starts populating in BigQuery.

Save your settings.

Service account / API key setup

  1. Head to the 🔗 Google Cloud Platform console

  2. Make sure you’re logged in with an appropriate Google account, and that the project that contains the BigQuery instance you linked with Firebase is selected in the project selector (top left)

  3. In the left hand menu, select IAM & Admin and then Service Accounts

  4. Click + Create Service Account

  5. Fill out the form then click Create and Continue

  6. In step 2, select roles. You’ll need to select the BigQuery Job User and BigQuery Data Viewer roles at minimum. If you want to share a service account between Runway’s stability monitoring integration and your Google Play and/or Play Beta integrations, add additional roles as needed (Play Console and BigQuery will need to live under the same project for this to work)

  7. On the service account you just created, click the three dots on the right hand side, and select Manage keys

  8. Click Add Key, then Create new key

  9. Select the JSON option and click Create

  10. Your Google API key file should start downloading

Set up in Runway

  1. Select an app in the top left corner from the Switcher

  2. Navigate to App Settings by clicking the gear icon (⚙️) at the top of the Timeline sidebar

  3. Click on Integrations in the sidebar

Connect Firebase

  • Find the Firebase integration module under the Stability monitoring section

  • Click the Connect button

  • Add your Google API key file, Project ID and GA Property ID from the previous steps to complete your integration setup.

Last updated