Move from Firebase (FCM) without losing a subscriber
If you send push straight from the Firebase console or your own backend, there's nothing to migrate away from. Chumbaq sits on top of the FCM setup you have and adds segments, journeys, in-app messages and results you can measure.
Five steps. We help you through every one.
- 1
Add the Chumbaq SDK next to the one you have
Install the SDK for your platform, start it once, and call identify with the same user ID you use today. Both SDKs can run in the same app.
final config = ChumbaqConfig.builder( baseUrl: 'https://your-chumbaq-host', apiKey: '<project API key>', projectId: '<project id>', ).build(); await Chumbaq.instance.init(config); // Who this is, once they log in. await Chumbaq.instance.identify( IdentifyParams.builder().externalUserId('u_42').build(), ); // Push: the SDK reports whatever the app hands it. await ChumbaqPush.instance.init(); FirebaseMessaging.onMessage.listen( (message) => ChumbaqPush.instance.reportNotificationReceived(message.data), );import ChumbaqCore import ChumbaqPush let config = ChumbaqConfig.Builder( baseUrl: "https://your-chumbaq-host", apiKey: "<project API key>", projectId: "<project id>" ).build() Chumbaq.shared.initialize(config: config) // Who this is, once they log in. try await Chumbaq.shared.identify( IdentifyParams.Builder().externalUserId("u_42").build() ) // Push: APNs hands the app its device token. ChumbaqPush.shared.initialize() try await ChumbaqPush.shared.registerToken(deviceToken) // Data or Stringval config = ChumbaqConfig.Builder( baseUrl = "https://your-chumbaq-host", apiKey = "<project API key>", projectId = "<project id>", ).build() Chumbaq.init(context, config) // Who this is, once they log in. Chumbaq.identify(IdentifyParams.Builder().externalUserId("u_42").build()) // Push: one call, and that is the whole integration. ChumbaqPush.init(context) ChumbaqPush.registerToken(fcmToken) // or let the service pick it upimport Chumbaq from '@chumbaq/sdk'; const chumbaq = new Chumbaq({ baseUrl: 'https://your-chumbaq-host', apiKey: '<project API key>', projectId: '<project id>', }); await chumbaq.init(); // Who this is, once they log in. await chumbaq.identify({ externalUserId: 'u_42', deviceFingerprint: chumbaq.deviceFingerprint, platform: 'web', }); // Push: the token from your own Firebase Messaging setup. await chumbaq.registerPushToken({ token: fcmToken, platform: 'web', provider: 'fcm', }); - 2
Keep your push setup
Everything. Chumbaq uses your FCM project and APNs key; firebase_messaging and your handlers stay in your app.
Add your Firebase service account and your APNs key or certificate to your Chumbaq project. The SDK hands Chumbaq each token your app already receives.
- 3
Ship the release and let devices check in
As people open the new version, Chumbaq learns who they are and gets their push token. Nobody is asked for permission again.
There's no bulk import of users today. Plan to run both tools side by side for a release cycle while devices update. - 4
Rebuild what makes money first
Start with the two or three journeys that drive purchases, then the rest. Most concepts carry straight over:
In Firebase (FCM) In Chumbaq Topics Segments built from events and traits Firebase console campaigns Campaigns with variants and a control group Analytics audiences Segments In-App Messaging In-app messages (six native layouts) Your backend's send code Journeys and the API Turn Firebase (FCM) off
Nothing to turn off. Move the sends you used to script by hand into journeys when you're ready.
Weighing it up first? See how Chumbaq and Firebase (FCM) compare, row by row.
Read the comparisonStart moving today
Free up to 2,500 monthly active users. No card, no sales call.