Integrate push notifications into your app

Pick your platform on the left: iOS, Android, Flutter, React Native, .NET MAUI, or sending from your backend.

🚀 Getting started

  1. Create an account and a project

    Each app is a project with an App ID (public, embedded in the app) and an API Key (secret, backend only). In the dashboard the samples are pre-filled with your App ID and you can download the SDKs.

  2. Connect APNs / FCM

    iOS: a .p8 key file, Team ID, Key ID and Bundle ID from Apple Developer. Android: a service account JSON from the Firebase Console. Enter them in the project's Push credentials tab.

  3. Pick your app's platform

    Follow the guide for your platform (left column), then send a test from the dashboard or your backend.

  • The API Key (psk_…) is for your backend only. Never embed it in the app.
  • Test on real devices: the iOS simulator can't receive call pushes; Android emulators need Google Play.

Create a free account

❓ Common issues

iOS returns BadDeviceToken
Wrong sandbox/production environment: Xcode debug builds are sandbox, TestFlight/App Store are production.
No VoIP badge
The Voice over IP background mode is off, or calls weren't enabled when initializing the SDK.
Android doesn't ring when the app is closed
Xiaomi/Oppo/Vivo phones block background work: enable Autostart and disable battery optimization. Android 14+: grant the full-screen intent permission.
Devices receive nothing
The FCM service account is from a different Firebase project than the app, or the Bundle ID differs from the APNs settings.

Ready to integrate?

Create an account to get your App ID and API Key and download the SDKs. Dashboard samples are pre-filled with your project details.