←

Firebase: push, crashes and analytics

Firebase across the apps I ship: Cloud Messaging for push on five apps, Crashlytics for crash reports, Firebase Auth with Google, Facebook and Apple sign-in, and usage analytics where the business needs numbers.

The right message, the right phone, and a trace when it breaks.

Firebase across the apps I ship: Cloud Messaging for push on five apps, Crashlytics for crash reports, Firebase Auth with Google, Facebook and Apple sign-in, and usage analytics where the business needs numbers.

Cloud Messaging · Crashlytics · Auth · Analytics

  • 5Apps with Firebase push
  • v1FCM HTTP API
  • 3Social sign-ins
  • 1Crash reporter per release

Set up, wired in, kept running

Each app gets its own Firebase project, its config kept out of the repo, and push sent from the server on the events that matter to the user.

  • Firebase projects and config per app, restored in CI instead of committed
  • Push in Bsheel, iEvents, iEvents Vendor, Hader and the Lancaster app
  • Crashlytics and Firebase Auth in iEvents
  • Analytics on the web and usage logging for AI features

One push

How a status change on the server becomes a notification on a phone.

  1. 1Something changes
  2. 2Database trigger or webhook
  3. 3Edge function or API
  4. 4FCM v1
  5. 5APNs or Android
  6. 6Local notification
  7. 7Tap opens the right screen

What it does

  1. 01

    Bsheel

    A Supabase edge function sends push through the FCM v1 API on every submission status change, and a notify-on-insert function covers new activity.

  2. 02

    iEvents

    Firebase Cloud Messaging with local notifications, Crashlytics for crashes, and Firebase Auth with Google, Facebook and Sign in with Apple.

  3. 03

    iEvents Vendor

    Push for new orders with a sound, so a vendor hears a booking come in.

  4. 04

    Hader and Lancaster

    Firebase Cloud Messaging in the Hader operator app and in the Lancaster Hotels loyalty app.

  5. 05

    Analytics

    Google Analytics on aligned-tech.com, and per-call usage with status and tokens for the AI features in the COCOS admin.

How it was built

  1. Config out of the repo

    In the Bsheel pipeline, GoogleService-Info.plist is restored from a CI secret at build time and never committed.

  2. Server-sent

    In Bsheel, push is sent from a Supabase edge function on the FCM v1 HTTP API, not from the client, so no server key ships in the app.

  3. Crashes readable

    The Hader release pipeline keeps the iOS symbols for every build, so a crash stack trace maps back to code.

Stack

Push
Firebase Cloud Messaging v1, flutter_local_notifications.
Crashes
Firebase Crashlytics.
Auth
Firebase Auth with Google, Facebook and Apple.
Analytics
Google Analytics, custom usage logs.