Flutter SDK · Android & iOS

Push notifications for Flutter, without the plumbing.

Register devices, build segments, schedule campaigns and measure opens — on your own Firebase project. Five minutes from flutter pub add to your first push.

Free during beta. No credit card.

lib/main.dart
// one line to register the device
await PushPal.initialize(appKey: 'pk_…');

// your user id, for targeted sends
await PushPal.login(user.id);
await PushPal.setTags({'plan': 'pro'});

// deep link on tap
PushPal.onNotificationOpened.listen((n) {
  router.go(n.route ?? '/');
});

Everything a growing app needs

Born inside Loksewa Tayari, a Nepali exam-prep app, where it sends daily exam and news pushes in production.

Drop-in Flutter SDK

One initialize() call registers the device, refreshes tokens, counts sessions, shows foreground notifications and reports taps.

Your Firebase, your data

Pushes go out through your own Firebase project. No shared quotas, no vendor lock-in: your FCM tokens stay valid if you ever leave.

Segments that think like you

Target by platform, app version, country, language, activity, sessions or any data tag you set from the app.

Schedule & quiet hours

Send now or later. Quiet hours in your timezone hold non-urgent pushes until morning, automatically.

Opens, not guesses

Per-campaign targeted, delivered and opened counts. Dead tokens are cleaned up for you after every send.

REST API for your backend

Trigger transactional pushes by your own user id with one HTTP call. Idempotency keys stop duplicate sends.

Live in three steps

1

Create an app

Sign in with Google, name your app, upload your Firebase service-account key.

2

Add the SDK

Add pushpal_flutter to pubspec.yaml and call PushPal.initialize with your app key.

3

Send

Compose a campaign in the dashboard or call the REST API from your server.

Simple pricing

Beta

Now

Free

  • ✓ Unlimited apps and devices
  • ✓ Segments, scheduling, quiet hours
  • ✓ REST API and open tracking
  • ✓ Email support
Start free

Pro

Soon

  • ✓ Team members and roles
  • ✓ A/B tests and send-time optimisation
  • ✓ React Native and native SDKs
  • ✓ Priority support
Talk to us

Questions

Why do I need my own Firebase project?+

FCM tokens belong to the Firebase project your app is built with, so pushes must be sent with that project's credentials. You keep full ownership and Google's free FCM quota.

Does it work on iOS?+

Yes. Upload your APNs key to Firebase once and PushPal delivers to iOS through FCM, including images.

What about other frameworks?+

Flutter is first. The device API is plain HTTP, so React Native, native Android/iOS and web SDKs are next on the roadmap.

How are my Firebase keys stored?+

Encrypted at rest with AES-256-GCM and only decrypted inside the sending worker. The server REST key is stored as a hash and shown once.