ファイアウォール(雲メッセージ)でPWAプッシュ通知-パート1
13770 ワード
あなたのPWAの通知をプッシュ
今までどのようにあなたのアプリに有名な/迷惑プッシュ通知を追加する疑問がありますか?さて、このチュートリアルではFirebase Cloud Messaging .
注:このチュートリアルでは、pwasとサービスの労働者にいくつかの基本的な知識が必要です.
あなたは、PWAとサービス労働者に私のイントロを見てみることができます
PWAと通知について.
始める前に、通知APIとプッシュAPIが同じではないことを明確にする必要があります.人々はそれらをすべての時間を混乱させる.
プッシュAPI:プッシュAPIは、Webアプリケーションは、Webアプリケーションがフォアグラウンドにあるかどうかをユーザーからエージェントにロードされているかどうかをサーバーからプッシュメッセージを受信する機能を提供します.これは、開発者は、タイムリーな新しいコンテンツとの良好な約束に結果を選ぶユーザーに非同期の通知と更新を提供することができます.
しましょう!
最終的なコードは、レポの内部の最終的な枝にあります.
<script src="https://www.gstatic.com/firebasejs/7.6.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.6.1/firebase-messaging.js"></script>
ジャバスクリプトconst config = {
apiKey: "XXXXXXXXXXXXXXX",
authDomain: "XXXXXXXXXXXXXXX",
databaseURL: "XXXXXXXXXXXXXXX",
projectId: "XXXXXXXXXXXXXXX",
storageBucket: "XXXXXXXXXXXXXXX",
messagingSenderId: "XXXXXXXXXXXXXXX",
appId: "XXXXXXXXXXXXXXX",
measurementId: "XXXXXXXXXXXXXXX"
};
ジャバスクリプトfirebase.initializeApp(config);
messaging
FireBaseメッセージングサービスに設定します.const messaging = firebase.messaging();
messaging
.requestPermission()
.then(() => {
message.innerHTML = "Notifications allowed";
return messaging.getToken();
})
.then(token => {
tokenString.innerHTML = "Token Is : " + token;
})
.catch(err => {
errorMessage.innerHTML = errorMessage.innerHTML + "; " + err;
console.log("No permission to send push", err);
});
messaging.onMessage()
メソッド.これは、現在ページを表示しているすべてのユーザーによってデータと通知ペイロードを受け取るために使用されます(ページはフォアグラウンドにあります).messaging.onMessage(payload => {
console.log("Message received. ", payload);
const { title, ...options } = payload.notification;
});
firebase.initializeApp({
messagingSenderId: "XXXXXXX"
});
const messaging = firebase.messaging();
ジャバスクリプトmessaging.setBackgroundMessageHandler(payload => {
const notification = JSON.parse(payload.data.notification);
const notificationTitle = notification.title;
const notificationOptions = {
body: notification.body
};
//Show the notification :)
return self.registration.showNotification(
notificationTitle,
notificationOptions
);
});
通知をテストする
Firebase Console > Project Settings
) サーバーキーをコピーします.POST URL :*https://fcm.googleapis.com/fcm/send *
ヘッダ
アプリケーションの種類
認証-キー= serverRangeキー
ボディ
{
"notification": {
"title": "Testing Notification!",
"body": "Firebase is awesome",
"click_action": "http://127.0.0.1:5501/index.html",
"icon": "http://the-link-to-image/icon.png"
},
"to": "YOUR TOKEN GOES HERE"
}
次に、送信ボタンをクリックします.この時点で、アプリケーションがフォアグラウンドにある場合(現在のブラウザでタブを開いている場合)、コンソールで送信したメッセージが表示されますmessaging.onMessage
.しかし、それがバックグラウンドにあるならば、それは扱われます
messaging.setBackgroundMessageHandler
サービスワーカーでは、次のように表示されます.FireBaseまたは他のホスティングプロバイダに展開することにより、実際のデバイス上でアプリケーションをテストします.あなたがFirebaseの上であなたのアプリをホストしたいならば、見てください.
次のチュートリアルでは、どのように正常に通知を購読し、FireBaseコンソールを使用してそれらをプッシュする方法を示します.
このドット社は、2つの支店を含むコンサルティング会社です.このドットメディアは、Webプラットフォームでの進歩と最新の開発者を維持するための責任部分です.このDOT研究室は、メンタリングやトレーニングなどのメソッドを使用してWebプラットフォームの専門知識チームを提供します.
Reference
この問題について(ファイアウォール(雲メッセージ)でPWAプッシュ通知-パート1), 我々は、より多くの情報をここで見つけました https://dev.to/thisdotmedia/pwa-push-notifications-with-firebase-cloud-messaging-pt1-10akテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol