OneSignal is moving away from Player IDs toward
external_id, your own user ID from your database. Despia supports this. Pass your logged-in user’s ID via setonesignalplayerid:// and use include_external_user_ids when sending from your backend.Installation
- Bundle
- CDN
How it works
Despia registers the device with OneSignal automatically when the app launches. You link that device to your user by callingsetonesignalplayerid:// with your user’s ID on every authenticated app load. OneSignal stores the mapping. When you want to send a notification, your backend calls OneSignal’s REST API with include_external_user_ids targeting that user ID.
Setup Guide
OneSignal dashboard setup, Apple Push Key, Firebase config, and full API reference
Offline Push
Send local notifications without a server using sendlocalpushmsg://
OneSignal dashboard setup
Before callingsetonesignalplayerid://, configure OneSignal with your iOS and Android credentials.
Create a OneSignal account
Go to onesignal.com and create an app. When selecting platforms, choose Native iOS and Native Android, Despia apps are native applications, not web apps.
Configure iOS (Apple Push Key)
In OneSignal, go to Settings > Push & In-App > Apple iOS. Upload your
.p8 Auth Key from Apple Developer Console under Certificates, Identifiers & Profiles > Keys. You will need your Key ID and Team ID.Configure Android (Firebase)
In OneSignal, go to Settings > Push & In-App > Google Android. Enter your Firebase Server Key and Sender ID from your Firebase project settings under Cloud Messaging.
Critical alerts
Critical alerts bypass Do Not Disturb and silent mode, delivering the notification with sound regardless of the user’s device settings. They are intended for urgent, time-sensitive messages such as security alerts or medical notifications.iOS
iOS requires the Critical Alerts entitlement from Apple. Request it at developer.apple.com/contact/request/notifications-critical-alerts-entitlement. Apple reviews requests manually and approval can take several weeks. When submitting the request, you need to enable the entitlement on two bundle IDs , your core app bundle ID and your OneSignal Service Extension bundle ID. For example, if your app bundle ID iscom.despia.myapp, add both:
com.despia.myappcom.despia.myapp.OneSignalNotificationServiceExtension
ios_critical_alert to 1 in your payload.
Android
No dashboard configuration or rebuild is required. Setpriority to 10 and android_channel_id to a high-importance channel in your OneSignal payload.
To get your channel ID, go to OneSignal > Settings > Messaging > Android Categories and create a new category with importance set to Urgent. OneSignal will generate a channel ID for that category , copy it and use it as android_channel_id in your payload.
Both platforms
To send a single critical alert that works on both Android and iOS, combine the fields in one payload.Resources
NPM Package
despia-native
OneSignal Dashboard
Configure your push notification app
REST API Reference
OneSignal Create Notification API