У меня есть мобильное приложение Ionic, которое получает уведомления от консоли Firebase.Приложение правильно получает уведомления в фоновом режиме и на переднем плане.Однако когда я отправляю уведомления из Node.js с плагином firebase-admin, приходит только уведомление переднего плана.Уведомления не приходят, когда приложение находится в фоновом режиме.
В чем может быть проблема?Кто-нибудь знает, почему мобильное приложение получает уведомления в фоновом режиме с консоли Firebase, а не с Node.js?
Спасибо за любую идею.
Это код в мобильном приложении (app.component.ts):
this.fcm.subscribeToTopic('all');
platform.ready().then(() => {
this.fcm.getToken().then(token => {
console.log(token);
let alert = this.alertCtrl.create({
title: '¡new notification!',
message: token,
buttons: [
{
text: 'Cancel',
role: 'cancel',
handler: () => {
console.log('cancel button');
}
},
{
text: 'OK',
handler: () => {
console.log('ok button');
this.navCtrl.push('DetailPage');
}
}
]
});
alert.present();
});
this.fcm.onNotification().subscribe(data => {
alert('message received')
if(data.wasTapped) {
console.info("Received in background");
} else {
console.info("Received in foreground");
};
});
statusBar.styleDefault();
splashScreen.hide();
});
Это код в Node.js:
var sys = require("util");
var admin = require('firebase-admin');
var serviceAccount = require('./xxxx.json');
var registrationToken ="xxxxxx";
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://xxxxx"
});
var message = {
data: {
score: '850',
time: '2:45'
},
token: registrationToken
};
admin.messaging().send(message)
.then(function(response) {
console.log("Successfully sent message:", response);
})
.catch(function(error){
console.log("Error sending message", error);
});