[解決済み】Webブラウザにプッシュ通知を送信するには?
質問
について、ここ数時間読んでいます。 プッシュ通知API と Web Notification API . また、GoogleとAppleがそれぞれGCMとAPNSを介して、無料でプッシュ通知サービスを提供していることも分かりました。
私は、Desktop Notificationを使用してブラウザにプッシュ通知を実装することができるかどうかを理解しようとしています。Googleのドキュメントで、Chromeでこれを実現する方法を見ました。 こちら & こちら .
さて、まだ理解できていないことがあります。
- GCM/APNSを使用して、FirefoxやSafariを含むすべてのWebブラウザにプッシュ通知を送信することは可能ですか?
- GCMを経由しない場合、同じことをするために独自のバックエンドを持つことができますか?
これらの回答が1つの回答になっていれば、同じような混乱を抱えている多くの人の助けになると信じています。
解決方法は?
そこで、私は自分の質問に答えているところです。過去にプッシュ通知サービスを構築したことのある人たちから、私の疑問に対するすべての回答を得ることができました。
<ブロッククオート更新(2018年5月)しました。 以下は GoogleのWebプッシュ通知に関する包括的で非常によくできたドキュメントです。
3年前の質問に対する回答です。
- GCM/APNSを使用して、すべてのウェブブラウザにプッシュ通知を送信することができます。 Firefox & Safariを含む?
回答 Googleは2018年4月をもってGCMを非推奨としました。現在は以下のように使用することができます。 Firebaseクラウドメッセージング (FCM)を使用します。ウェブブラウザを含むすべてのプラットフォームに対応しています。
<ブロッククオート- GCMを経由しない場合、同じことをするために独自のバックエンドを持つことができますか?
回答 はい、プッシュ通知は私たち自身のバックエンドから送信することができます。すべての主要なブラウザでサポートされています。
確認 このコードラボ の実装をより深く理解することができます。
いくつかのチュートリアルを紹介します。
- Djangoでプッシュ通知を実装する これ .
- flaskを使ってプッシュ通知を送信する これ & ここに .
- Nodejsからプッシュ通知を送信する これ
- phpを使ったプッシュ通知の送信 ここで &です。 ここに
- Wordpressからプッシュ通知を送信する。 ここで &です。 ここに
- Drupalからプッシュ通知を送信します。 ここで
様々なプログラミング言語で、独自のバックエンドを実装する。
さらに読む - - Firefox の Web サイトからドキュメントをダウンロードすることができます。 こちらをご覧ください . - GoogleによるWeb Pushの非常に優れた概要は以下のとおりです。 はこちらです。 - よくある質問と回答 よくある混乱や質問をまとめました。
同じことをするための無料のサービスはありますか? 無料、フリーミアム、有料のモデルで同様のソリューションを提供している会社がいくつかあります。以下にいくつかリストアップします。
- https://onesignal.com/ (無料|全プラットフォーム対応)
- https://firebase.google.com/products/cloud-messaging/ (無料)
- https://clevertap.com/ (無料プランあり)
- https://goroost.com/
注 無料サービスを選択する際は、利用規約を必ずお読みください。無料サービスは、分析など様々な目的でユーザーデータを収集することがあります。
それとは別に、プッシュ通知を送信するためにはHTTPSが必要です。ただし、httpsは以下の方法で自由に取得することができます。 letsencrypt.org
関連
-
HTML+CSS+JavaScriptで簡単な三目並べゲームを作成する。
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] GUID / UUIDの作成方法
-
[解決済み] 画面サイズ、現在のウェブページ、ブラウザウィンドウのサイズを取得する
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JavaScriptの関数この指摘の問題を説明
-
Vue Element-uiは、アイコンを追加するためのツリーコントロールノードを詳細に実装しています。
-
[解決済み] テスト
-
[解決済み】Uncaught SyntaxError: JSONの位置0に予期しないトークンuがあります。
-
[解決済み] 配列の結合時に未定義のプロパティ 'push' を読み込むことができない
-
[解決済み] 期待される代入または関数呼び出し: 未使用式なし ReactJS
-
[解決済み】JavaScript TypeError: null のプロパティ 'style' を読み取ることができない
-
[解決済み】<select>で現在選択されている<option>をJavaScriptで取得するにはどうすればよいですか?
-
[解決済み】「.addEventListener is not a function」なぜこのエラーが発生するのか?
-
nodejs unhandledPromiseRejectionWarning メッセージ