onesignal
OneSignal plugin for Cordova and Ionic. The OneSignal plugin is an client implementation for using the [OneSignal](https://onesignal.com/) Service. OneSignal…
latest: v9.6.0 · npm: @awesome-cordova-plugins/onesignal
Install
npm install @awesome-cordova-plugins/onesignal
ionic cordova plugin add cordova-plugin-onesignalMigrating to Capacitor?
No 1:1 official equivalent was found for this plugin. Check the Capgo community plugin directory or the official Capacitor plugin list for alternatives — many Cordova plugins also still work inside Capacitor via npx cap add.
OneSignal
The OneSignal plugin is an client implementation for using the OneSignal Service. OneSignal is a simple implementation for delivering push notifications.
As of onesignal-cordova-plugin v5.0.0, OneSignal moved to a user-centric API split across the OneSignal,
OneSignalUser, OneSignalUserPushSubscription, OneSignalNotifications, OneSignalSession, OneSignalLocation,
OneSignalInAppMessages, OneSignalDebug and OneSignalLiveActivities injectables in this package. The flat
methods below (startInit, sendTag, etc.) were removed upstream in v5.0.0 and are kept here only for backwards
compatibility; they are marked @deprecated with their v5+ replacement.
Please view the official OneSignal Ionic SDK Installation guide for more information.
Icons
If you want to use generated icons with command ionic cordova resources:
-
Add a file to your
hooksdirectory calledcopy_android_notification_icons.js -
Configure the hook in your config.xml
<platform name="android">
<hook type="after_prepare" src="hooks/copy_android_notification_icons.js" />
</platform>
- Put the following code in it:
#!/usr/bin/env node
var fs = require('fs');
var path = require('path');
var filestocopy = [{
"resources/android/icon/drawable-hdpi-icon.png":
"platforms/android/app/src/main/res/drawable-hdpi/ic_stat_onesignal_default.png"
}, {
"resources/android/icon/drawable-mdpi-icon.png":
"platforms/android/app/src/main/res/drawable-mdpi/ic_stat_onesignal_default.png"
}, {
"resources/android/icon/drawable-xhdpi-icon.png":
"platforms/android/app/src/main/res/drawable-xhdpi/ic_stat_onesignal_default.png"
}, {
"resources/android/icon/drawable-xxhdpi-icon.png":
"platforms/android/app/src/main/res/drawable-xxhdpi/ic_stat_onesignal_default.png"
}, {
"resources/android/icon/drawable-xxxhdpi-icon.png":
"platforms/android/app/src/main/res/drawable-xxxhdpi/ic_stat_onesignal_default.png"
} ];
module.exports = function(context) {
// no need to configure below
var rootdir = context.opts.projectRoot;
filestocopy.forEach(function(obj) {
Object.keys(obj).forEach(function(key) {
var val = obj[key];
var srcfile = path.join(rootdir, key);
var destfile = path.join(rootdir, val);
console.log("copying "+srcfile+" to "+destfile);
var destdir = path.dirname(destfile);
if (fs.existsSync(srcfile) && fs.existsSync(destdir)) {
fs.createReadStream(srcfile).pipe(
fs.createWriteStream(destfile));
}
});
});
};
- From the root of your project make the file executable:
$ chmod +x hooks/copy_android_notification_icons.js
Installation
ionic cordova plugin add onesignal-cordova-plugin
npm install @awesome-cordova-plugins/onesignal
Plugin Repo: https://github.com/OneSignal/OneSignal-Cordova-SDK
Supported Platforms
- Android
- iOS