Shi*_*hel 5 angularjs firebase firebase-cloud-messaging angularfire2
在Background Web Notification我的服务中实施 FCM 时出现以下错误
error TS2339: Property 'messaging' does not exist on type 'AngularFireMessaging'
消息服务.ts
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.messaging.subscribe(
(_messaging) => {
_messaging.onMessage = _messaging.onMessage.bind(_messaging);
_messaging.onTokenRefresh = _messaging.onTokenRefresh.bind(_messaging);
}
)
}
}
Run Code Online (Sandbox Code Playgroud)
src/firebase-messaging-sw.js
importScripts('https://www.gstatic.com/firebasejs/7.14.6/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/7.14.6/firebase-messaging.js');
firebase.initializeApp({
apiKey: "xxxxxxxxxxx",
authDomain: "xxxxxxxxxxx",
databaseURL: "xxxxxxxxxxx",
projectId: "xxxxxxxxxxx",
storageBucket: "xxxxxxxxxxx",
messagingSenderId: "xxxxxxxxxxx",
appId: "xxxxxxxxxxx"
});
const messaging = firebase.messaging();
Run Code Online (Sandbox Code Playgroud)
安装包
"@angular/fire": "^6.0.0",
"firebase": "^7.14.6",
"@angular/cli": "^9.1.7",
Run Code Online (Sandbox Code Playgroud)
我也尝试过降级@angular/fire和firebase但没有成功。
小智 7
对于错误“属性 'onMessage' 在类型 '{}' 上不存在”,我只是将对象类型添加到_messaging,现在应用程序运行:
this.angularFireMessaging.messages.subscribe(
(_messaging: AngularFireMessaging) => {
_messaging.onMessage = _messaging.onMessage.bind(_messaging);
_messaging.onTokenRefresh = _messaging.onTokenRefresh.bind(_messaging);
})
}
Run Code Online (Sandbox Code Playgroud)
使用此依赖项:
"@angular/fire": "^6.0.3",
"firebase": "^7.21.0",
Run Code Online (Sandbox Code Playgroud)
AngularFireMessaging不包含名为 的属性messaging,您需要使用该属性messages:
this.angularFireMessaging.messages.subscribe(
(_messaging) => {
_messaging.onMessage = _messaging.onMessage.bind(_messaging);
_messaging.onTokenRefresh = _messaging.onTokenRefresh.bind(_messaging);
}
)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5393 次 |
| 最近记录: |