Я просмотрел и реализовал некоторые из уже заданных вопросов и ответил на них на этой платформе. Я могу получить всплывающее окно pu sh по умолчанию на экране, но, тем не менее, я не могу избавиться от того, как добавить это новое push-уведомление в свой настраиваемый список и показать конечному пользователю в пользовательском интерфейсе. Я хочу собрать новое уведомление и сохранить его в своей переменной приложения, чтобы я мог обойти его и отобразить все уведомления пользователю.
Ниже мой реализованный код.
Пакет. json
"dependencies": {
"@agm/core": "^1.0.0",
"@angular-devkit/core": "^8.3.16",
"@angular-devkit/schematics": "^8.3.16",
"@angular/animations": "^8.2.12",
"@angular/cdk": "^8.2.3",
"@angular/common": "^8.2.13",
"@angular/compiler": "^8.2.12",
"@angular/core": "^8.2.12",
"@angular/forms": "^8.2.12",
"@angular/platform-browser": "^8.2.12",
"@angular/platform-browser-dynamic": "^8.2.12",
......
"@angular/fire": "^5.2.3",
"@angular/platform-server": "8.0.0",
"@nguniversal/module-map-ngfactory-loader": "8.0.0-rc.1",
"aspnet-prerendering": "^3.0.1",
"firebase": "^7.5.0"
},
firebase-messaging-sw. js
importScripts('https://www.gstatic.com/firebasejs/7.5.0/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/7.5.0/firebase-messaging.js');
// Initialize the Firebase app in the service worker by passing in the
firebase.initializeApp({
apiKey: 'xyz',
authDomain: 'xyz',
databaseURL: 'xyz"',
projectId: 'xyz',
storageBucket: 'xyz',
messagingSenderId: '168382776603',
appId: '1:168382776603:web:65c285a048d740401a3fbe'
});
// Retrieve an instance of Firebase Messaging so that it can handle background
const messaging = firebase.messaging();
app.module.ts
imports: [
FormsModule,
BrowserModule,
AppRoutingModule,
.....,
AngularFireModule.initializeApp({
apiKey: 'xyz',
authDomain: 'xyz',
databaseURL: 'xyz"',
projectId: 'xyz',
storageBucket: 'xyz',
messagingSenderId: '168382776603',
appId: '1:168382776603:web:65c285a048d740401a3fbe'
}),
AngularFireMessagingModule,
]
FirebasePushNotificationService.ts
export class FirebasePushNotificationService {
constructor(private angularFireMessaging: AngularFireMessaging) {
this.angularFireMessaging.messaging.subscribe(
(messagingContext: any) => {
messagingContext.onMessage = messagingContext.onMessage.bind(messagingContext);
messagingContext.onTokenRefresh = messagingContext.onTokenRefresh.bind(messagingContext);
});
}
currentMessage = new BehaviorSubject(null);
requestPermission = () => this.angularFireMessaging.requestToken;
removeToken = (token: string) => this.angularFireMessaging.deleteToken(token);
receiveMessage = () => this.angularFireMessaging.messages;
}
app.component.ts (onInit): мне нужен отладчик в receiveMessage ()
this.firebasePushNotificationService.requestPermission().subscribe(
token => {
console.log('Push Token', token);
},
error => {
console.log('Push Error', error);
}
);
this.firebasePushNotificationService.receiveMessage().subscribe(message => {
**// I am not able to get debugger here**
console.log(message);
});