PushPal vs OneSignal
PushPal is a OneSignal alternative that sends through your Firebase and APNs. You keep your tokens, your quotas and your data — and you can see exactly what Apple and Google answered for every device.
| PushPal | OneSignal | |
|---|---|---|
| Delivery path | Your Firebase / APNs / SMTP / SMS accounts | OneSignal’s infrastructure |
| Leaving later | Tokens stay valid — nothing to migrate | Re-collect tokens with a new SDK |
| Flutter SDK | Pure Dart, attaches to your firebase_messaging | Native plugin with its own Firebase dependency |
| Native SDKs | Swift & Kotlin with zero dependencies | Larger native SDKs |
| Channels | Push, web push, inbox, live in-app, email, SMS | Push, in-app, email, SMS |
| Delivery debugging | Raw provider response per device + AI explanation | Delivered / failed counts |
| Attribution | Built-in links: click → install → purchase, revenue per campaign | Not included |
| Identity | HMAC-signed identify() | Identity verification |
| Local-time sends, A/B, journeys | Yes (Pro and up) | Yes (paid tiers) |
| Free plan | 10,000 sends/month, unlimited subscribers | Limited by subscribers |
OneSignal column reflects OneSignal’s public product pages as we understand them; check their site for current details.
Move in an afternoon
- Upload the Firebase service account you already gave OneSignal. Existing tokens keep working.
- Export your OneSignal users as CSV and import them under People → Import.
- Ship an update with the PushPal SDK; call
identify()where you calledOneSignal.login(). - Recreate segments (or describe them in English and let AI build the rules) and you’re done.