确保你已经正确地引入了 Firebase Messaging 模块: import { AngularFireMessaging } from '@angular/fire/messaging';
检查你是否已经正确地初始化并配置了 Firebase: firebase.initializeApp(environment.firebaseConfig); const messaging = firebase.messaging();
确保你已经正确地请求了推送通知的权限: this.messaging.requestPermission().then(() => { console.log('Notification permission granted.'); // 保存设备的 registration token this.messaging.getToken().then((token) => { console.log(token); }); }).catch((err) => { console.log('Unable to get permission to notify.', err); });
建立一个 service,用于接收和处理推送通知: import { Injectable } from '@angular/core'; import { AngularFireMessaging } from '@angular/fire/messaging'; import { BehaviorSubject } from 'rxjs'
@Injectable() export class MessagingService { currentMessage = new BehaviorSubject(null);
constructor(private messaging: AngularFireMessaging) { this.messaging.onMessage((payload) => { console.log("Message received. ", payload); this.currentMessage.next(payload); }); } }
在 app.module.ts 中注入 MessagingService: import { NgModule } from '@angular/core'; import { AngularFireMessagingModule } from '@angular/fire/messaging'; import { MessagingService } from './messaging.service';
@NgModule({ imports: [ AngularFireMessagingModule, ], providers: [ MessagingService ] }) export class AppModule { }
如果以上代码步骤都正确,并且你的 Firebase 配置也正确,则应该可以成功接收到推送通知。