🛒 Bringo

Delivery App

Firebase & Push

The Delivery app uses Firebase only for push notifications (new-order alerts). Connect it to your Firebase project.

1. Register the app in Firebase

In your Firebase project, add an Android app with your delivery package name (e.g. com.yourcompany.delivery) and, for iOS, an iOS app with your bundle id.

2. Add the config files

Android
Download google-services.json and replace android/app/google-services.json (placeholder).
iOS
Download GoogleService-Info.plist and add it to ios/Runner/ in Xcode.
🚨
The shipped google-services.json is a placeholder (YOUR_FIREBASE_PROJECT_ID). Replace it, and make sure its package_name matches your app's package exactly, or the build/notifications will fail.

3. Push notifications

  • Android: works once your google-services.json is in place. Alerts use the partner_orders channel.
  • iOS: in Xcode add Push Notifications + Background Modes → Remote notifications, and upload your APNs key in Firebase → Cloud Messaging.

Sending is handled server-side — configured once in Push Notifications (FCM).

ℹ️
The Delivery app has no Google/Facebook login — partners sign in with phone + password (and OTP). So there are no social-login keys to configure here.

Test it

Sign in as a delivery partner, then place a test order in the system and confirm the rider device receives a "New order" push.

Getting the config file right

This one file causes most "push doesn't work" tickets, so it is worth being precise:

Register the exact id
In Firebase → Project settings → Your apps → Add app → Android, enter your application id character for character. A typo here produces a file that fails the build.
Download and replace
Put the downloaded google-services.json at android/app/google-services.json, replacing the placeholder. Do not merge the files by hand.
Add the release SHA-1
Firebase → your Android app → Add fingerprint. Add both your local signing SHA-1 and, once published, the Play App Signing SHA-1 from the Play Console. Missing the Play SHA-1 is why features work in your own build but break for store installs.
Same project as the server
The service-account JSON in your admin panel must come from the same Firebase project as this file, or sends fail with "SenderId mismatch".

Verify before building:

grep package_name android/app/google-services.json
grep applicationId android/app/build.gradle.kts

The two must match. If they do not, the Gradle plugin stops the build with processDebugGoogleServices failing.

Troubleshooting

Build fails on processDebugGoogleServices
The package_name in the JSON does not equal the applicationId. Re-register the correct id in Firebase and download again.
App runs, no notifications at all
Check the server side first — service-account JSON saved, and the queue worker running. See Push Notifications (FCM).
Notifications on Android, nothing on iOS
APNs key not uploaded to Firebase, or the Push capability is missing in Xcode. The Simulator never receives push.
Worked before, stopped after reinstall
Reinstalling issues a new device token. Sign in again so the app re-registers it.
Nothing after the user declined the prompt
On Android 13+ and iOS, notification permission is explicit. Once declined it must be re-enabled in the OS settings for the app.