Expo-only • Attestation-ready

Push notifications for Expo with attestation and zero backend lift.

Tokens, targeting, scheduling, and delivery live in the cloud. PushWave is built for expo push notifications — add the config plugin, ship with EAS, and gate delivery with Play Integrity & DeviceCheck when you need it.

EAS readyExpo Router friendly Attestation ready
Code
Expo SDK 54+
npm install pushwave-client
expo install expo-notifications
plugins: ["pushwave-client"]

Native build required (EAS or Dev Client). Expo Go not supported once native code is added.

Expo-only, zero backend

Cloud token storage, targeting, and scheduling. No servers to maintain.

Config plugin ready

Expo-first DX: auto-linking, no manual Pod/Gradle edits, EAS friendly.

Attestation built-in

Play Integrity on Android, DeviceCheck on iOS to cut spoofed builds and bad tokens.

Attribute targeting

Attach attributes like vip: true to run sharper, higher-converting campaigns.

Workflow

See where PushWave fits.

Your app captures the token, PushWave handles the logic, Expo relays it, and the providers deliver it.

Your App
Sends Token
SDK
PushWave
Logic & Storage
Cloud
Expo Service
Relays Notif
Infra
Providers
Delivery Network
FCM
APNs
YOUR APPnow

Hello World! 👋

Your notification system is working perfectly.

Why PushWave instead of DIY?

Ship push without owning the backend, scale campaigns with scheduling, templates, and segmentation.

No backend to build: token store, targeting, scheduling, and sending are managed.
Schedule flexibly: one-off, delayed, recurring (cron-like), and time-window sends.
Reusable templates: ship campaigns fast without rewriting payloads.
Multi-project and segmentation: one project per app or per audience (region, market).
Without PushWave
  • Build and host your own token store and targeting logic.
  • Maintain cron jobs and queues for scheduled sends.
  • Duplicate payloads for each campaign.
  • Hard to manage multiple apps or segmented audiences.
With PushWave
  • Managed cloud: tokens, targeting, scheduling, and delivery.
  • Cron-like and delayed sends out of the box.
  • Templates for consistent, fast campaigns.
  • Projects per app or audience (e.g., US, EU) for targeted sends.
Managed backend

No custom server or queues to run.

Scheduling

One-off, delayed, recurring sends.

Templates

Reuse payloads across campaigns.

Segmentation

Split by region or audience in projects.

Quickstart
1Install
npm install pushwave-client
expo install expo-notifications
2Add the plugin
plugins: ["pushwave-client"]
3Initialize
await PushWaveClient.init({ apiKey: "pw_dev_xxx" });
Security & deliverability

Attestation and delivery, handled.

Backend enforcement-ready: Play Integrity and DeviceCheck to cut spoofed builds and bad tokens. Observability and invalidation coming next.

  • Store signing certs (SHA-256) and bundle IDs; no Google API keys to manage.
  • Encrypted .p8 for iOS; server-side handling when SaaS opens.
  • Expo Router friendly and EAS build-ready from day one.
  • Targeting, scheduling, and delivery insights live in the cloud.
Insights

Tokens tracked

8,739

Attestation gating

Enabled

Sends last 24h

1,482

Delivery trend

FAQ

Yes. PushWave is built for Expo / React Native apps and uses the Expo notifications pipeline.

No. You need a native build (EAS or Dev Client) once native code is involved.

No. Token storage, targeting, scheduling, and sending are hosted by PushWave in the cloud.

Yes. Play Integrity (Android) and DeviceCheck (iOS) are available; gating is enforced server-side.

Install the SDK, add the config plugin, build with EAS, and initialize PushWaveClient with your API key.

Yes. It’s designed to work with EAS builds and Expo Router.

Ship secure push for Expo without the backend.

Config plugin, EAS-ready, attestation enabled. Start with the quickstart or jump into the docs.

PushWave