Я настраиваю свой веб-сайт для получения уведомлений Firebase. Я могу получить его, когда в фоновом режиме. Но не мог, когда на переднем плане. Я перешел по этой ссылке учебника, чтобы настроить. https://medium.com/@a.adendrata/push-notifications-with-angular-6-firebase-cloud-massaging-dbfb5fbc0eeb.
Я инициализировал его в app.module.ts.
Я пробовал другие подобные решения для работы со стеком. Но пока ни один из них не работает.
Я пытался использовать AngularFireMessaging и FirebaseApp. Но они оба не смогли получить уведомление после отправки.
import { FirebaseApp } from '@angular/fire';
import '@firebase/messaging';
import { AngularFireMessaging } from '@angular/fire/messaging';
setUpMessage() {
this.messaging = this.firebaseApp.messaging();
}
setUpFCM() {
this.afMessaging.messaging.subscribe(_messaging => {
_messaging.onMessage = _messaging.onMessage.bind(_messaging);
_messaging.onTokenRefresh = _messaging.onTokenRefresh.bind(_messaging);
});
}
requestPermission() {
this.afMessaging.requestToken.subscribe(token => {
console.log(token);
}, error => {
console.error(error);
});
}
listenToNotifications() {
return this.afMessaging.messages;
}
listenNotifications() {
return this.messaging;
}
В моем файле component.ts я инициализировал их и получил токен из firebase. но я не могу получить уведомление на переднем плане.
ngOnInit() {
this.fcmTokenService.setUpMessage();
this.fcmTokenService.setUpFCM();
this.fcmTokenService.requestPermission();
this.validation_messages = this.printFormService.printValidationMessage();
this.listenNotification();
this.listenNotification2();
}
private listenNotification() {
this.fcmTokenService.listenToNotifications().subscribe(msg => {
// msg.content = JSON.parse(msg.data.content);
console.log(msg);
});
}
private listenNotification2() {
this.fcmTokenService.listenNotifications().onMessage(msg => {
console.log(msg);
});
}
Я ожидаю получить уведомление и консоль записать его в журнал, но без результата через много часов или повторных попыток с другими подходами.