import { Injectable } from '@angular/core'; import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Observable } from 'rxjs/Observable'; /** * @name App Center Push * @description * * For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/push/cordova * * @usage * ```typescript * import { AppCenterPush } from '@ionic-native/app-center-push'; * * * constructor(private appCenterPush: AppCenterPush) { } * * ... * * this.appCenterPush.setEnabled(true).then(() => { * this.appCenterPush.addEventListener('My Event').subscribe(pushNotification => { * console.log('Recived push notification', pushNotification); * }); * }); * * ``` */ @Plugin({ pluginName: 'AppCenterPush', plugin: 'cordova-plugin-appcenter-push', pluginRef: 'AppCenter.Push', repo: 'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-push', platforms: ['Android', 'iOS'] }) @Injectable() export class AppCenterPush extends IonicNativePlugin { /** * Subscribe to an event * @param {string} eventName Event name * @returns {Observable} */ @Cordova({ observable: true, clearFunction: 'removeEventListener' }) addEventListener(eventName: string): Observable { return; } /** * Check if App Center Push is enabled * @returns {Promise} */ @Cordova() isEnabled(): Promise { return; } /** * Enable or disable App Center Push at runtime * @param {boolean} shouldEnable Set value * @returns {Promise} */ @Cordova() setEnabled(shouldEnable: boolean): Promise { return; } }