如何在Angular2中实例化Firebase云消息传递

das*_*cht 7 firebase typescript firebase-cloud-messaging angularfire2 angular

如何在Angular2/TypeScript/AngularFire2中实例化Firebase云消息传递?

这里针对JavaScript进行了描述:https: //firebase.google.com/docs/cloud-messaging/js/client

car*_*ant 14

firebase.messaging()函数将Firebase应用程序实例作为可选参数.

要进行连接AngularFire2,您可以AngularFire2 执行应用初始化并创建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) => { ... });
    }
}
Run Code Online (Sandbox Code Playgroud)

您需要设置您引用的文章中提到的Web应用程序清单.这是我不熟悉的事情.

  • 这种依赖很烦人,我通过进入node_modules - > angularfire2解决了这个问题,并删除了包含firebase依赖关系的node_modules文件夹 (2认同)