如何在Angular2 / TypeScript / AngularFire2中实例化Firebase云消息传递?
此处针对JavaScript进行了描述: https://firebase.google.com/docs/cloud-messaging/js/client
答案 0 :(得分:14)
firebase.messaging()
功能将Firebase应用实例作为可选参数。
要与AngularFire2
进行联系,您可以AngularFire2
perform the app initialization创建Firebase应用实例,然后注入应用实例(例如,进入服务)并传递这样firebase.messaging()
:
import { Inject, Injectable } from "@angular/core";
import { FirebaseApp } from "angularfire2";
import * as firebase from 'firebase';
@Injectable()
export class SomeService {
private _messaging: firebase.messaging.Messaging;
constructor(@Inject(FirebaseApp) private _firebaseApp: firebase.app.App) {
this._messaging = firebase.messaging(this._firebaseApp);
this._messaging.requestPermission()
.then(() => { ... })
.catch((error) => { ... });
}
}
您需要设置您引用的文章中提到的web app manifest。这是我不熟悉的事情。
答案 1 :(得分:2)
似乎需要导入:
import '@firebase/messaging';