私のWebアプリケーション(Angular4を使用)では、サービスワーカーの生成に"@angular/service-worker": "^1.0.0-beta.16"
を使用しています。また、FCMプッシュ通知にfirebase-messaging-sw.js
を使用しています。アングル/サービスワーカーはプロダクションビルドでのみworker-basic.min.js
を作成します。今、これら2人のサービスワーカーを一緒に使う方法は?FCMプッシュ通知付きアングルサービスワーカー
2
A
答えて
3
私は同時に使用について応答することができます:
SW-プリキャッシュ(その目的は静的ressourcesをキャッシュすることである)
service-worker.js
として実装サービスワーカー。 (その目的のWebプッシュ通知を処理することです)firebase-messaging-sw.js
として実装https://coryrylan.com/blog/fast-offline-angular-apps-with-service-workersFirebaseメッセージングサービスワーカーを参照してください。
1.開発:src
ディレクトリに:
- 私は
service-worker.js
という名前の空のファイルを作成します。実際のものはビルドプロセスの後に生成されますが、ng serve
で提供されている間にエラーメッセージを避けるためにこのファイルが存在しなければなりません(空であっても)。 - 私はその内容である
firebase-messaging-sw.js
という名前のファイルを作成します(両方www
前https://
を追加し、stakoverflowリンクの数で私を制限します!)
importScripts('www.gstatic.com/firebasejs/3.9.0/firebase-app.js'); importScripts('www.gstatic.com/firebasejs/3.9.0/firebase-messaging.js'); firebase.initializeApp({ 'messagingSenderId': 'xxxxxxxxxxxx' // replace by yours! }); const messaging = firebase.messaging();
- 私は
global-sw.js
という名前のファイルを作成します。これはサービスワーカー に登録する必要がありますindex.html
(私に尋ねる方法)。global-sw.js
の内容は次のとおりです。.angular-cli.jsonの
importScripts('service-worker.js'); importScripts('firebase-messaging-sw.js');
2.アップデート:これらのファイルは、(生産ビルドプロセスで生成された)私の将来dist
ディレクトリに含まれていると、私は.angular-cli.json
を更新しますこの方法: .angular-cli.json - extract
3.生産ビルド:私はその後、私はservice-worker.js
を生成ng build -prod
を実行します。私の場合、これはビルドプロセスの後にのみ生成することができます。
0
swprecacheモジュールのAPI用のSWPrecacheWebpackPluginラッパーには、この場合は「firebase-messaging-sw.js」などのインポートに使用できる「importScripts」というオプションがあります。
関連する問題
- 1. FCMプッシュ通知
- 2. FCM:トラックステータスFCMプッシュ通知
- 3. Androidプッシュ通知、fcm
- 4. ロケーションベースのプッシュ通知FCM
- 5. MobileFirst 7.1.0 Android FCMプッシュ通知
- 6. remoteMessageは法[FCM]プッシュ通知
- 7. ionic1のFCMのプッシュ通知カスタム
- 8. GCM/FCMプッシュ通知でのメッセージスロットル
- 9. Androidプッシュ通知のFCMの制限?
- 10. FCMのバックグラウンド処理プッシュ通知
- 11. 迅速なFCMプッシュ通知エラー2.0
- 12. DevExtreme/PhonegapのFCMによるプッシュ通知
- 13. FCMプッシュ通知を受信できませんIOS - 目的C
- 14. Android:バックグラウンドデータを通過するFCMプッシュ通知
- 15. GCMプッシュ通知付きLaravel 5.2
- 16. Android Mixpanelプッシュ通知音付き
- 17. ペイロード付きのイオン3プッシュ通知
- 18. Javascript付きのphonegapアプリのプッシュ通知?
- 19. ハンドルFCM通知クリック
- 20. FCMカスタム通知音
- 21. Android Firebase通知(FCM)
- 22. アンドロイドのFCM通知
- 23. はPendingIntent FCM通知
- 24. FCM(c#)を使用してAndroidにプッシュ通知
- 25. トピックへのNodeJsによるFCMプッシュ通知の送信
- 26. IOSでFCMを使用してプッシュ通知を送信
- 27. はPHPでFCMのプッシュ通知に応答から
- 28. GCMからFCMへのプッシュ通知の変換/移行
- 29. FCMプッシュ通知の配信日時の設定
- 30. ネイティブfcmプッシュ通知アクションイベントに反応する
空のservice-worker.jsを作成するのが最善の解決策であるかどうかはわかりませんが、これまでのところ私にとって唯一の解決策です。だから、ありがとうございます..フォルダを作成して3つそこのサービスワーカーのスクリプト..あなたは思いませんか?またはサービスワーカーはルートからサービスを提供する必要がありますか? – MurWade
'src'ディレクトリでは、開発中にconsoleのエラーメッセージを避けるために' service-worker.js'は空です。しかし、ビルド時間の後、実際には 'dist'フォルダに生成されます(私のステップ#3を参照)。とにかく、他のファイルの中でバンドル(ビルド時に作成されたもの)を参照するため、別の時刻に生成することはできません。 –
そうです。私はちょうどそれがエラーを取り除くためにファイルを持っていることを迷惑であると思う。しかし、それは動作します! – MurWade