Awesome Cordova Plugins Docs

Community docs for every @awesome-cordova-plugins package — install guides, API notes and Capacitor migration paths.

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-onesignal

Migrating 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:

  1. Add a file to your hooks directory called copy_android_notification_icons.js

  2. Configure the hook in your config.xml

    <platform name="android">
        <hook type="after_prepare" src="hooks/copy_android_notification_icons.js" />
    </platform>
  1. 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));
            }
        });
    });

};
  1. 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

Further Information