Skip to content
Pushix Pushix
Features Developers Guides Pricing Questions
Sign in Start free
Menu
Features Developers Guides Pricing Questions
Sign in Create a free account
  1. Home
  2. Guides
  3. Switching to Pushix

Switch your push notifications to Pushix

Move your apps and website from another push notification service to Pushix without losing subscribers: same Firebase project, CSV import, new SDK and backend.

Updated 31 October 2026 5 min read Switching

Mobile apps

  • Flutter
  • Android
  • iOS
  • React Native

Websites

  • Web push
  • WordPress

Your backend

  • REST API
  • PHP, Node.js, Python

Switching

  • Switching to Pushix
  • All guides
On this page 9 sections
  1. 1. Create your account and apps
  2. 2. Use the same Firebase project
  3. 3. Import your subscribers (optional)
  4. 4. Change your backend
  5. 5. Change the Flutter app
  6. 6. Change your website (web push)
  7. 7. Set up your messaging again
  8. 8. Release and watch
  9. Checklist

Moving your apps and website from another push notification service. The plan: set up Pushix next to the old service, switch your backend and apps over, then turn the old service off once most users are on the new app version.

1. Create your account and apps#

Sign up at www.pushix.in, then create one app in the dashboard for each product. One Pushix app holds its Android, iOS and website subscribers. You get an App ID (used by your apps and website) and a REST API key (used only by your backend) under App settings → Keys.

2. Use the same Firebase project#

If your previous service sent to your apps through your own Firebase project, upload a service account key from that same project in App settings → Channels. Then tokens collected before and by the new SDK all belong to the right project. For iPhones, upload your APNs key to that Firebase project (Cloud Messaging tab); an APNs .p8 key you already have works.

3. Import your subscribers (optional)#

  1. Export your subscribers from the previous service as a CSV file (unzip it if needed).
  2. Pushix dashboard → Subscribers → Import CSV → choose the file.

Recognised columns include id (or player_id, subscription_id), identifier (the FCM token), external_user_id, tags, language, timezone, country, app_version, session_count, last_active and created_at. The import keeps the device ids, tags, external user ids, language, session counts and last-active dates. If your database stores those device ids, they keep working with include_player_ids.

When a user updates to the app version with the Pushix SDK and the phone reports the same FCM token, the SDK takes over the imported row instead of creating a new one.

Only Android rows are imported. iPhones register again (with new device ids) when they open the updated app, and website subscribers when they next visit the site with the Pushix web SDK; browsers that already allowed notifications are subscribed again silently.

Imported devices still running the old app version don't have the Pushix SDK yet. Android usually shows plain notifications sent to those tokens, but taps may not be reported. Test with one phone on the old version before you rely on it. During the switch-over, give each campaign a collapse_id so a phone that is reachable through both an old and a new token shows the message once.

4. Change your backend#

Point your backend at Pushix and use the app's REST API key from App settings → Keys. In PHP:

PHP
$ch = curl_init('https://pushix.in/api/v1/notifications');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json; charset=utf-8',
    'Authorization: Basic ' . PUSHIX_REST_KEY,
]);
$fields = [
    'app_id' => PUSHIX_APP_ID,
    'include_external_user_ids' => [$userId],
    'headings' => ['en' => 'Order shipped'],
    'contents' => ['en' => 'Your order is on the way'],
    'data' => ['screen' => 'orders'],
];

Or use the helper in libraries/php/PushixClient.php (Node.js and Python helpers are in libraries/ too). /api/v1/notifications and /notifications are the same endpoint, and Authorization: Basic, Key or Bearer all work.

Things to check in your existing calls (field details in REST API):

  • included_segments with the built-in names (Subscribed Users, Active Users, Inactive Users, Engaged Users) work as-is. Create your own segments again in Pushix → Segments with the same names, so your code doesn't change.
  • iOS and web fields (ios_badgeType, subtitle, chrome_web_icon, web_url, isIos, isAnyWeb, ...) are supported.
  • template_id works once you create the template in Pushix (Templates, or composer → Save as template) and use its id.
  • delayed_option (timezone delivery) returns an error. Remove it.
  • Responses contain id, recipients and errors.

During the switch-over you can send through both: call Pushix first, then the old service for old app versions, with the same collapse_id.

5. Change the Flutter app#

Add pushix_flutter and Firebase to pubspec.yaml (see Flutter SDK for the Android and iOS setup), remove the old push SDK, and start Pushix when the app starts:

Dart
await Firebase.initializeApp();
Pushix.Debug.setLogLevel(PushixLogLevel.verbose);
await Pushix.initialize('PUSHIX_APP_ID', serverUrl: 'https://pushix.in');
Pushix.Notifications.requestPermission(true);
Pushix.login(userId);
Pushix.User.addTagWithKey('level', '5');
Pushix.Notifications.addClickListener((PushixNotificationClickEvent event) {
  final data = event.notification.additionalData;
});

The Flutter SDK guide lists every call. Native and React Native apps work the same way: Android SDK (Pushix.initWithContext with https://pushix.in as the server URL), iOS SDK (Pushix.initialize with https://pushix.in as the server URL, plus the notification service extension) and React Native SDK (pushix-react-native). Only one push SDK should handle Firebase messages, so remove the old one in the same release.

6. Change your website (web push)#

Turn on web push in App settings, then replace the old service's page snippet and service worker with Pushix's: the snippet from the Setup guide (PushixDeferred, Pushix.init, Pushix.login) and the pushix-sw.js file at the root of your site. Step by step in Web SDK. On WordPress, use the plugin from WordPress plugin.

7. Set up your messaging again#

What you needIn Pushix
Saved messagesTemplates (save from the composer)
Welcome series, re-engagement, scheduled remindersAutomated messages: Welcome, Win back, Recurring
In-app messagesIn-app messages (all Pushix SDKs)
A/B testingComposer → Test variants first
Delivery reportsSent messages and Analytics, with CSV exports

8. Release and watch#

  1. Install the new build on your phone, mark it as a test device, and send a test from the dashboard.
  2. Release the update.
  3. Watch Subscribers: new installs and updated phones appear with SDK pushix-flutter/... (or pushix-android, pushix-ios, pushix-react-native), browsers with web-....
  4. When most active users are on the new version (Home → "Opened it this week"), stop sending through the old service.

Checklist#

  • Pushix account created, one app per product
  • Firebase key uploaded and "Test connection" passes; APNs key in Firebase for iPhones
  • Web push turned on, pushix-sw.js and the snippet on your site (if you use web push)
  • Subscribers imported from CSV (optional)
  • Your segments created with the same names
  • Backend uses the Pushix URL, App ID and REST key
  • App uses the Pushix SDK; Android and iOS setup done; notification icon set
  • Templates, automations and in-app messages set up
  • Test message received on a test device, tap opens the right screen
  • Your plan covers your subscribers and monthly notifications (Plan & usage)
Previous guideSend push notifications from PHP, Node.js and Python

Send your first notification

Create an app in Pushix to get your App ID and REST API key, then follow this guide. The free plan needs no card.

Create a free account See pricing

On this page

  1. 1. Create your account and apps
  2. 2. Use the same Firebase project
  3. 3. Import your subscribers (optional)
  4. 4. Change your backend
  5. 5. Change the Flutter app
  6. 6. Change your website (web push)
  7. 7. Set up your messaging again
  8. 8. Release and watch
  9. Checklist
Back to top
Pushix Pushix

Push notification service for Android, iPhone and websites, from one dashboard or one API call. Built in West Bengal, India.

info@pushix.in

Product

Features Developers Pricing Questions Sign in Create an account

Guides

Flutter guide Android guide iOS guide React Native guide Web push guide WordPress guide REST API guide PHP, Node.js, Python guide Switching to Pushix guide All guides

Legal

Terms of Service Privacy Policy Cookie Policy Acceptable Use Policy Data Processing Addendum Refund & Cancellation Policy Service Delivery Policy

Company

Contact us All legal pages Support

© 2026 Pushix. All rights reserved.

Pushix · Powered by Pynix