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.

PushPalOneSignal
Delivery pathYour Firebase / APNs / SMTP / SMS accountsOneSignal’s infrastructure
Leaving laterTokens stay valid — nothing to migrateRe-collect tokens with a new SDK
Flutter SDKPure Dart, attaches to your firebase_messagingNative plugin with its own Firebase dependency
Native SDKsSwift & Kotlin with zero dependenciesLarger native SDKs
ChannelsPush, web push, inbox, live in-app, email, SMSPush, in-app, email, SMS
Delivery debuggingRaw provider response per device + AI explanationDelivered / failed counts
AttributionBuilt-in links: click → install → purchase, revenue per campaignNot included
IdentityHMAC-signed identify()Identity verification
Local-time sends, A/B, journeysYes (Pro and up)Yes (paid tiers)
Free plan10,000 sends/month, unlimited subscribersLimited by subscribers

OneSignal column reflects OneSignal’s public product pages as we understand them; check their site for current details.

Move in an afternoon

  1. Upload the Firebase service account you already gave OneSignal. Existing tokens keep working.
  2. Export your OneSignal users as CSV and import them under People → Import.
  3. Ship an update with the PushPal SDK; call identify() where you called OneSignal.login().
  4. Recreate segments (or describe them in English and let AI build the rules) and you’re done.