On both platforms the migration happens through the SDK — you do not need to export tokens from Firebase.
Android
Pushwoosh delivers Android pushes through FCM, so you are adding a layer rather than replacing Firebase.
- Connect your Firebase project. In the Firebase console open Project settings → Service accounts, click Generate new private key and download the JSON. In Pushwoosh go to Settings → Configure platforms, click Connect on the Android row, upload the file under IMPORT FCM SERVICE ACCOUNT KEY and click Apply. (Legacy FCM Server Keys and Sender IDs were switched off by Google in June 2024 and are no longer accepted.) Make sure the Firebase Cloud Messaging API is enabled in Google Cloud.
- User continuity. Existing users are registered with Pushwoosh as soon as they update and open the app. There is no gap in deliverability.
-
Other FCM consumers. If another SDK in your app also implements
FirebaseMessagingService, follow Handling multiple FirebaseMessagingService implementations.
iOS
Pushwoosh talks to APNs directly, while Firebase wraps the APNs token in its own FCM token. The FCM token is useless to Pushwoosh, but you do not need to obtain the underlying one either.
- Configure the iOS platform in Pushwoosh with your APNs authentication key (p8) and the matching gateway, then integrate the Pushwoosh iOS SDK.
- On the first launch after the update, the SDK requests the device token from APNs and registers it with Pushwoosh. Your existing subscribers migrate themselves as users open the app.
- Firebase support does not provide bulk exports of raw APNs device tokens, so do not plan the migration around that. If you must pre-seed tokens (for example for users who rarely open the app), collect
Messaging.messaging().apnsTokenfrom your own app before the switch and contact Pushwoosh support with the file — they will confirm the format and whether an import is feasible.
You can keep both SDKs in the app during the transition; if you do, register your Firebase notification-centre delegate with Pushwoosh via Pushwoosh.sharedInstance().notificationCenterDelegateProxy?.add(_:) so the two do not fight over the UNUserNotificationCenterDelegate.
Comments
0 comments
Please sign in to leave a comment.