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

时间:2016-11-07 07:52:59

标签: angular typescript firebase firebase-cloud-messaging angularfire2

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

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

2 个答案:

答案 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';