Platform guides

Platform guides

Step-by-step push setup for Swift, Kotlin, Jetpack Compose, React Native, Expo and Flutter apps.

Pick your framework

  • Swift — native iOS, APNs through UIApplicationDelegate.
  • Kotlin — native Android, FirebaseMessaging.
  • Jetpack Compose — Android, with the Android 13+ permission launcher.
  • React Native — bare React Native, @react-native-firebase/messaging.
  • Expo — expo-notifications in a development build.
  • Flutter — firebase_messaging.
  • Web push — the browser's PushManager.

Every recipe

  1. Get the platform token: the hex APNs token on iOS, the FCM token on Android, a PushSubscription on the web.
  2. Register it with a stable deviceId. See Device registration.
  3. Save the app's push credentials.
  4. Send a test push, then an audience.

Android shows nothing on its own

Android pushes are FCM data messages, so Kotlin, Jetpack Compose, React Native and Flutter apps post the notification themselves — each recipe shows how. A test send says accepted either way.

Any other framework — .NET, Unity, Kotlin Multiplatform, or a backend that holds device tokens — registers with the same JSON. See the Quickstart.