OneSignal
The OneSignal plugin is an client implementation for using the OneSignal Service. OneSignal is a simple implementation for delivering push notifications.
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.jsConfigure 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
Stuck on a Cordova issue?
If you're building a serious project, you can't afford to spend hours troubleshooting. Ionic's experts offer official maintenance, support, and integration help.
Installation
Ionic EE comes with fully supported and maintained plugins from the Ionic Team. Learn More or Contact Us
Supported Platforms
- Amazon Fire OS
- Android
- iOS
- Windows
Usage
import { OneSignal } from '@ionic-native/onesignal/ngx';
constructor(private oneSignal: OneSignal) { }
...
this.oneSignal.startInit('b2f7f966-d8cc-11e4-bed1-df8f05be55ba', '703322744261');
this.oneSignal.inFocusDisplaying(this.oneSignal.OSInFocusDisplayOption.InAppAlert);
this.oneSignal.handleNotificationReceived().subscribe(() => {
// do something when notification is received
});
this.oneSignal.handleNotificationOpened().subscribe(() => {
// do something when a notification is opened
});
this.oneSignal.endInit();