You can use One-Signalone that solves your needs: here is a bit of code, how to initialize in ionic-2
Install OneSignal Cordova plugin through terminal
ionic cordova plugin add onesignal-cordova-plugin
npm install --save @ionic-native/onesignal
Important note: make sure you import the provider into your app.module.ts as indicated on the Ionic Native website, e.g.
import {OneSignal} from '@ionic-native/onesignal';
@NgModule({
...
providers: [
...
OneSignal
...
]
})
export class AppModule { }
Taken from: Ionic-native
OneSignal.
app.ts, , , initializeApp():
import {OneSignal} from '@ionic-native/onesignal';
import {Platform} from 'ionic-angular';
constructor(private _OneSignal: OneSignal, private _platform: Platform) {
startApp();
}
startApp() {
this._platform.ready().then(() => {
this._OneSignal.startInit(appId, googleProjectId);
this._OneSignal.inFocusDisplaying(this._OneSignal.OSInFocusDisplayOption.Notification);
this._OneSignal.setSubscription(true);
this._OneSignal.handleNotificationReceived().subscribe(() => {
});
this._OneSignal.handleNotificationOpened().subscribe(() => {
});
this._OneSignal.endInit();
})
}
: :
appId OneSignal
googleProjectId FCM