Angular2/TypeScript/AngularFire2でFirebase Cloud Messagingをインスタンス化する方法は?それは、JavaScriptがここで説明していますAngular2でFirebase Cloud Messagingをインスタンシエートする方法
: https://firebase.google.com/docs/cloud-messaging/js/client
Angular2/TypeScript/AngularFire2でFirebase Cloud Messagingをインスタンス化する方法は?それは、JavaScriptがここで説明していますAngular2でFirebase Cloud Messagingをインスタンシエートする方法
: https://firebase.google.com/docs/cloud-messaging/js/client
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をセットアップする必要があります。それは私がよく知らないものです。
お返事ありがとうございます! '' 'private _messaging:firebase.messaging.Messaging;を宣言すると、 '' '私は:' '' [ts]モジュール 'firebase'にはエクスポートされたメンバーのメッセージがありません。 任意 '' ' ? – daslicht
'firebase'のどのバージョンを使用していますか?私は答えを投稿する前にそれをチェックしたと思った。私はそれをもう一度チェックします。 – cartant
私のpackage.jsonに '' 'angularfire2": "> = 2.0.0-beta.6" '' 'があります。 '' firebase ":" 3.3.0 "' ''をpackage.jsonに依存しています。 以下を参照してください:https://github.com/angular/angularfire2/blob/master/package.json#L43 – daslicht