Angular 到达前景角度PWA时读取背景FCM消息数据
我正在创建一个Ionic 5 Angular PWA应用程序,在@Angular/fire和firebase npm软件包的帮助下集成FCM。我能够在前台和后台成功地集成它和消息接收。但在用户再次进入应用程序前台后,我需要在应用程序处于后台时获取所有消息数据。任何人都可以建议我做这件事的最佳方法 这是我的信息服务课Angular 到达前景角度PWA时读取背景FCM消息数据,angular,firebase,firebase-cloud-messaging,progressive-web-apps,Angular,Firebase,Firebase Cloud Messaging,Progressive Web Apps,我正在创建一个Ionic 5 Angular PWA应用程序,在@Angular/fire和firebase npm软件包的帮助下集成FCM。我能够在前台和后台成功地集成它和消息接收。但在用户再次进入应用程序前台后,我需要在应用程序处于后台时获取所有消息数据。任何人都可以建议我做这件事的最佳方法 这是我的信息服务课 import { AngularFireMessaging } from '@angular/fire/messaging'; import { BehaviorSubject }
import { AngularFireMessaging } from '@angular/fire/messaging';
import { BehaviorSubject } from 'rxjs'
import { NotificationsClient, RegisterPushTokenVm } from 'src/app/api-proxy/medcollector-api';
@Injectable()
export class MessagingService {
currentMessage = new BehaviorSubject(null);
constructor(private angularFireMessaging: AngularFireMessaging, private notificationsClient: NotificationsClient) {
this.angularFireMessaging.messaging.subscribe(
(_messaging) => {
_messaging.onMessage = _messaging.onMessage.bind(_messaging);
_messaging.onTokenRefresh = _messaging.onTokenRefresh.bind(_messaging);
}
)
}
requestPermission() {
this.angularFireMessaging.requestToken.subscribe(async (token) => {
const tokenVm = new RegisterPushTokenVm();
tokenVm.token = token;
await this.notificationsClient.register(tokenVm).toPromise();
console.log(token);
}, (err) => {
console.error('Unable to get permission to notify.', err);
});
}
receiveMessage() {
this.angularFireMessaging.messages.subscribe((payload) => {
console.log('new message received. ', payload);
this.currentMessage.next(payload);
})
}
}