OneFCM is a self-hosted push platform for Android. One SDK, one App ID โ no google-services.json, no vendor lock-in. Target by user, tag, segment or topic, and watch delivery live.
// That's the whole integration. dependencies { implementation("com.github.mobarokOP:OpenFCM:3.0.1") } OneFCM.init(context, appId = "YOUR_APP_ID") { baseUrl = "https://admin.onefcm.com" } // Device registered. Permission prompted. Pushes flowing. ๐
Built on Firebase Cloud Messaging HTTP v1 with a queue-based delivery engine.
No google-services.json, no Firebase libraries in your app. The SDK fetches config from your server and prompts for permission automatically.
All devices, specific users, tags, dynamic segments or topics โ one audience selector across dashboard and API.
Send a link or custom data; taps route to the right screen in your app or open the browser โ with click tracking baked in.
Queue-based fan-out, exponential-backoff retries, dead-token cleanup and per-device delivery logs.
Sent, delivered, opened, CTR โ by day, country and Android version. Watch a campaign land in real time.
Every app pushes through its own Firebase project. Hashed API keys, encrypted service accounts, full audit log.
From zero to a push on a real device in under ten minutes.
In the dashboard, add your app with its package name and copy the App ID.
Drop your Firebase service account JSON in app settings. Everything else is derived automatically.
One Gradle line + init(appId). Devices register themselves.
Compose in the dashboard or POST to /v1/notifications with an API key from your server.