要在Angular 7中接收Firebase通知,您可以使用Firebase Cloud Messaging(FCM)库。以下是一个解决方法的示例代码:
npm install firebase @angular/fire
import { AngularFireModule } from '@angular/fire';
import { AngularFireMessagingModule } from '@angular/fire/messaging';
@NgModule({
declarations: [
// ...
],
imports: [
// ...
AngularFireModule.initializeApp(environment.firebaseConfig),
AngularFireMessagingModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
MessagingService来处理Firebase通知的接收: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 angularFireMessaging: AngularFireMessaging) {
this.angularFireMessaging.messages.subscribe(
(message) => {
console.log('Received message:', message);
this.currentMessage.next(message);
}
);
}
}
MessagingService来接收Firebase通知:import { Component } from '@angular/core';
import { MessagingService } from './messaging.service';
@Component({
selector: 'app-root',
template: `
Received Message:
{{ message | async | json }}
`,
})
export class AppComponent {
message;
constructor(private messagingService: MessagingService) {
this.message = messagingService.currentMessage;
}
}
这样,您的Angular 7应用程序就可以接收和处理来自Firebase的通知了。