All documentation
Getting Started

Push Notifications: Connect and Verify Firebase

Connect the correct Firebase application, understand legacy imported connections and verify the credential.

Text

Overview

A saved Firebase record is not automatically proof that Firebase accepts it. PulseGrid uses three honest states: - Saved — not verified: configuration exists, but the new credential check has not run. - Verified: Google issued an OAuth token for the saved service account. - Needs attention: verification failed; check the project ID, JSON and Firebase permissions. Why an existing project may already show a saved connection: Earlier PulseGrid builds read firestoreKeys.json beside manage.py and created a PushProviderConfig row in the database. That row remains after upgrading. It was imported by the old setup; it was not connected automatically for every account or project. PulseGrid labels this source in the Push screen. Click Check connection once after migrating.

Setup

For a new application: 1. Open https://console.firebase.google.com/ and select the Firebase project used by the app. 2. Click the gear -> Project settings. 3. Open Service accounts. 4. Click Generate new private key and confirm. 5. Keep the downloaded JSON private. 6. In PulseGrid, open Push and select the matching PulseGrid project. 7. Click Manage Firebase. 8. Enter a friendly connection name. 9. Confirm Firebase project ID matches project_id inside the JSON. 10. Paste the complete JSON and click Save & verify. 11. Wait for Firebase verified. For an imported connection: 1. Open Push and select the project. 2. Read the source label and Firebase project ID. 3. Confirm it is the Firebase project used by that app. 4. Click Check connection. 5. If it fails, click Edit configuration and paste a fresh service-account JSON from the correct Firebase project.

Code example

Push Notifications: Connect and Verify Firebase
The downloaded private file resembles:

{
  "type": "service_account",
  "project_id": "your-firebase-project-id",
  "private_key_id": "...",
  "private_key": "-----BEGIN PRIVATE KEY-----...",
  "client_email": "firebase-adminsdk-...@your-project.iam.gserviceaccount.com"
}

Paste the complete JSON into the server-side PulseGrid form. Do not copy this example literally.

Notes

Verification proves authentication, not that a particular phone will display a notification. The phone must still have a valid token, notification permission, network access and the correct application-side notification handler. Leaving the JSON field blank while editing keeps the existing saved credential.