Skip to content
CodeOnAir

Push notifications & in-app messages

Reach users on their lock screen and inside your app.

Send push notifications to Android and iOS from one dashboard or one API call. Target the right people, schedule for later, and open the exact screen on tap.

  • FCM + APNs
  • Images & deep links
  • Scheduling
  • Open tracking
  • In-app messages

Set up once

Connect your keys, then send.

  1. 1Add your credentialsUpload the Firebase service account JSON for Android and the APNs .p8 key for iOS. We check them as you save.
  2. 2Register devicesYour app sends its push token on launch, with the signed-in user ID and tags such as plan:pro or city:delhi.
  3. 3Send or scheduleWrite the title, message and image, pick an audience, and send now or at a set time. Or call the API from your backend.
Send from your backend
$ curl https://app.codeonair.com/v1/push/messages \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-d '{
"title": "Diwali sale is live πŸŽ‰",
"body": "50% off on earbuds β€” today only",
"url": "https://shop.codeonair.com/diwali50",
"audience": { "tags": ["plan:free"] },
"send": "schedule", "scheduled_at": "2026-11-01T09:00:00+05:30"
}'
βœ” 201 Created β€” status: "scheduled"

Everything a campaign needs

Write it, target it, time it, and see what happened.

  • Android (FCM) and iOS (APNs) from one place
  • Title, message, large image and a link that opens on tap
  • Custom key-value data for your app to read
  • Audiences by platform, user ID or tags β€” with a live device count
  • Send now, save a draft, or schedule up to 90 days ahead
  • Send a test to your own device before everyone gets it
  • Sent, failed and opened counts for every notification
  • Dead tokens are cleaned up automatically, so counts stay honest

In-app messages

Talk to people while they're in the app β€” no permission needed.

Seven layouts

Modal, full screen, bottom sheet, top or bottom banner, card, or a single image β€” with your colours and up to two buttons.

Shown at the right moment

On app open or after an event your app sends, such as checkout_started, with an optional delay.

Never annoying

Show once, every session, or at most N times with hours in between. Set start and end dates for campaigns.

Same audiences as push

Target by platform, user ID or tags, and set a priority when more than one message matches.

Buttons that do something

Open a screen with a deep link, open a web page, or just dismiss.

Results per message

Impressions, clicks and dismissals, so you know which message works.

Push questions

Do I need my own Firebase or Apple account?

Yes. Notifications go out through Firebase Cloud Messaging for Android and Apple Push Notification service for iOS, using your app's own credentials: a Firebase service account JSON and an APNs .p8 key. They are stored encrypted and never shown again in the dashboard.

Who can I send a notification to?

Every device, one platform, specific signed-in users by their user ID, devices with given tags (any or all of them), or individual devices for testing. The dashboard shows how many devices an audience reaches before you send.

Can a notification open a screen in my app?

Yes. Give it a URL β€” an AppLink, your own URI scheme or a web page β€” and the tap opens it. You can also attach key-value data that your app reads when it opens.

What's the difference between a push and an in-app message?

A push reaches the phone even when the app is closed. An in-app message shows inside the app while someone is using it β€” on launch or after an event such as checkout_started β€” so it needs no notification permission.

How many notifications can I send?

10,000 a month on Free, 1,000,000 on Pro and 5,000,000 on Pro Plus. Past the allowance, sending pauses until next month; in-app messages keep showing.

Your first push in ten minutes.

Upload your Firebase and APNs keys, register a device, and send a test to your own phone.