我使用离子push plugin来处理从Google FCM发送的推送通知。以下是我用于注册和接收通知的代码。
pushObject.on('notification').subscribe((notification: any) => console.log('Received a notification', notification));
pushObject.on('registration').subscribe((registration: any) => console.log('Device registered', registration));
pushObject.on('error').subscribe(error => console.error('Error with Push plugin', error));
如果应用程序未打开,我会收到通知,如果打开,我会直接获得警报(内部订阅的代码((通知:任意)被执行)。现在的问题是,
答案 0 :(得分:0)
我终于为此实现了解决方案。之前我在服务器端使用Cordova-plugin-firebase,在客户端使用PhoneGap-plugin-push。使用这种组合的主要原因是任何数量的通知都是免费的。但是在PhoneGap-plugin-push中我遇到了很多问题,尽管作者在GitHub中回答了这些问题,但并不是立竿见影的。最后我将我的应用移到了One-Signal。易于集成,最佳支持,完全免费且非常重要,通知非常可靠。以下使用单信号区域的说明。
离子cordova插件添加onesignal-cordova-plugin
npm install --save @ionic-native/onesignal
this.oneSignal.startInit(' YOUR_APPID&#39 ;, ' YOUR_GOOGLE_PROJECT_NUMBER_IF_ANDROID&#39);
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();
因此,如果有人在寻找替代基地+手机间隙推送插件,那么One-Signal将是您的最佳选择。