Skip to main content
Push notifications re-engage Users when they’re not actively using your app. They can display text and rich content like images, buttons, and sounds.
iOS and Android mobile push notification examples showing rich content
For push to work on mobile:
  • Users must have your mobile app installed
  • You must configure the correct platform credentials (FCM for Android, APNs for iOS, HMS for Huawei, ADM for Amazon)
  • Users must grant permission to receive notifications
This guide walks through every step from SDK setup to sending personalized push messages.

SDK setup and migration

Integrate the OneSignal SDK into your app to register devices and enable push messaging. If you’re migrating from another provider, OneSignal supports migration from Firebase, Airship, Braze, and others.

Push permission prompts

Mobile platforms require Users to opt in before they can receive push notifications. Apple’s Human Interface Guidelines recommend describing what types of information you want to send and giving Users a clear way to opt in or out. You can build a pre-permission prompt using OneSignal’s in-app messages to explain the value before triggering the system prompt.
OneSignal in-app message used as a pre-permission prompt for push notifications

Users and Subscriptions

Once the SDK is active, OneSignal automatically creates User and Subscription records as people open your app. Mobile Subscriptions are created when Users:
  • Open the app for the first time on a device
  • Uninstall and reinstall the app, then open it again
Each device creates a separate Subscription. Subscriptions remain anonymous until you assign them an External ID via OneSignal.login.
OneSignal dashboard Users page showing a list of Users with Subscription details

Design push notifications

Crafting effective push notifications involves more than text. Watch how to make every push notification count, then explore the design elements below.
Annotated diagram showing the anatomy of iOS and Android push notifications
  1. Title: Attention-grabbing headline (recommended: under 50 characters)
  2. Message: Main notification content (recommended: under 120 characters)
  3. Icons: Your brand icon or notification-specific image
  4. Large image: Eye-catching visual content
  5. Action buttons: Call-to-action buttons
  6. Timestamp when push was received
  7. App name: The name of your app

Personalization and localization

Watch how to turn generic push notifications into high-performing messages, then explore the personalization options below.

Configure push behavior

Control how notifications behave after delivery, including timing, display settings, and User interactions.

Delivery, display, and dismiss settings

Data and background notifications

Include custom data in push payloads that your app can handle without displaying a visible notification.

Click behavior and deep linking

Control what happens when a User taps a notification.

Analytics and troubleshooting

Measure notification performance and resolve common delivery issues.

Next steps


FAQ

Do Users need to opt in for push notifications?

Yes. Both iOS and Android require Users to grant permission before they can receive push notifications. On iOS, you must show the system prompt. On Android 13+, the POST_NOTIFICATIONS permission is required. Use a pre-permission prompt to explain the value before triggering the system dialog.

What are FCM, APNs, HMS, and ADM?

These are platform-specific push delivery services. FCM (Firebase Cloud Messaging) delivers to Android and web. APNs (Apple Push Notification service) delivers to iOS and macOS. HMS (Huawei Mobile Services) delivers to Huawei devices. ADM (Amazon Device Messaging) delivers to Amazon Fire devices. You configure credentials for each in the OneSignal dashboard during SDK setup.

Why aren’t my push notifications showing?

Common causes include missing or expired platform credentials, Users not granting permission, or device-level settings like Do Not Disturb or Focus modes. See Notifications not shown or delayed for a full troubleshooting checklist.

Can I send push notifications without a visible notification?

Yes. Use data and background notifications to send custom payloads that your app handles silently. These are useful for triggering background syncs, updating local data, or refreshing content without interrupting the User.