Webブラウザのプッシュ通知を簡単に実装!「Push.js」の使い方を徹底解説
スマートフォンアプリではおなじみのプッシュ通知。
実は、Webブラウザからもできることをご存知でしょうか。
JavaScriptの*「Web Notification API」*というプッシュ通知を制御するAPIを使うことで、モバイルだけでなくデスクトップにもWebサイト経由でプッシュ通知ができるようになります。
しかし、モダンブラウザの多くがサポートを始めている一方で、まだ利用したことがないひとも多いのではないでしょうか。
今回は、Web Notification APIを簡単に扱うことができるPush.jsを使って、簡単にブラウザ通知を実装する方法をご紹介します。
プッシュ通知とは?
これまでは、ホームページの更新を通知する方法としてはRSSやメールなどを利用している人が多かったのではないでしょうか。
しかし、RSSはRSSリーダーに登録する手間が必要で、メールでもメールアドレスをユーザーに登録してもらわなければいけないので、ややハードルが高かったのも事実です。
一方、プッシュ通知の場合は、Webサイト上で許可するだけで通知許可が有効になるため、ユーザーは気軽に利用することができます。
プッシュ通知を使うことで、自分で情報を取りにいかなくても向こうからお知らせがやってくるのです。
Push.jsとは?
https://nickersoft.github.io/push.js/
Push.jsは、Web Notification APIをブラウザ経由で簡単に制御することができるjQueryプラグインです。
非常にシンプルなコードを書くだけで簡単にプッシュ通知を実装することができます。
ブラウザ経由でのプッシュ通知は、一度ドメインの許可を出せば、設定を変更するまでプッシュ通知を送ることができます。
例えば、Push.jsの公式サイトで「View Demo」というボタンを押してみましょう。
すると、ブラウザ上でプッシュ通知を許可するようにポップアップが表示され、許可を押してみると通知が届きます。
Push.jsを使えば、アイコンやタイトル、メッセージなどを自由にカスタマイズすることができます。
Push.jsを使って簡単にブラウザ通知を実装する方法
1. ライブラリの読み込み
それでは、具体的にブラウザ通知を実装する方法を確認していきましょう。
まず最初にやるべきことは、Push.jsの読み込みです。
ライブラリはnpm経由でのインストールやローカルに落としてからアップロードする方法もありますが、最も簡単なのはCDN経由で読み込めるように以下のコードをコピー&ペーストすることです。
<script src="https://cdnjs.cloudflare.com/ajax/libs/push.js/1.0.12/push.min.js"></script>
Push.jsはプッシュ通知を行うために必ずしも必要なファイルというわけではありませんが、Web Notification APIを操作するのに最も簡単な手段です。
Push.jsには通知の許可やクロスブラウザ対応などの処理が含まれているので、特別な処理を施す必要はありません。
2. 通知の許可
先ほどの「View Demo」でも見ていったように、こちらからプッシュ通知を送る前に、ユーザーに通知許可を設定してもらう必要があります。
モダンブラウザでは、以下のように許可を得るためのリクエストダイアログが表示されます。
▲ CodePenでリクエストダイアログを表示させてみました
Push.js経由でプッシュ通知を送れば、最初の通知を送る際に許可が出ていなければ、自動的にリクエストダイアログが表示されます。
しかし、たいていはこちらから許可を出したい場合のほうが多いでしょう。
その場合は、JavaScript部分に下記のコードを記載しておきます。
Push.Permission.request();
このコードが読み込まれるだけで、リクエストダイアログが表示されるようになります。
ただし、ユーザーにリクエストダイアログが表示されることを事前に伝えておかないと、ほとんどのユーザーは怪しがって「拒否」を押してしまうかもしれません。
3. 通知の作成
プッシュ通知を表示させるには、Push.createメソッドを呼び出すだけです。
このメソッドには、タイトルやメッセージ、画像などを設定することができます。
Push.create('こんにちは!', {
body: '更新をお知らせします!',
icon: 'icon.png',
timeout: 8000, // 通知が消えるタイミング
vibrate: [100, 100, 100], // モバイル端末でのバイブレーション秒数
onClick: function() {
// 通知がクリックされた場合の設定
console.log(this);
}
});
うまくいけば、以下のようにプッシュ通知が返ってくるはずです。
その他の設定については、こちらをご覧ください。
- アプリ
- アプリとは、アプリケーション・ソフトの略で、もとはパソコンの(エクセル・ワード等)作業に必要なソフトウェア全般を指す言葉でした。 スマートフォンの普及により、スマートフォン上に表示されているアイコン(メール・ゲーム・カレンダー等)のことをアプリと呼ぶことが主流になりました。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- Webサイト
- Webサイトとは、インターネットの標準的な情報提供システムであるWWW(ワールドワイドウェブ)で公開される、Webページ(インターネット上にある1ページ1ページ)の集まりのことです。
- ページ
- 印刷物のカタログやパンフレットは、通常複数のページから成り立っています。インターネットのホームページもまったく同じで、テーマや内容ごとにそれぞれの画面が作られています。この画面のことを、インターネットでも「ページ」と呼んでいます。ホームページは、多くの場合、複数ページから成り立っています。
- RSS
- RSSとは、ブログやホームページが更新された際に、更新情報(コンテンツ)の要約を直接訪れることなく受け取れるソフトウェアを指します。
- RSS
- RSSとは、ブログやホームページが更新された際に、更新情報(コンテンツ)の要約を直接訪れることなく受け取れるソフトウェアを指します。
- Webサイト
- Webサイトとは、インターネットの標準的な情報提供システムであるWWW(ワールドワイドウェブ)で公開される、Webページ(インターネット上にある1ページ1ページ)の集まりのことです。
- プラグイン
- プラグインは、本来あるソフトウェアに機能を拡張させるために追加するプログラムのことです。
- ドメイン
- ドメインとは、インターネット上で利用可能なホームページやメールなどを識別するときの絶対唯一の綴りを言います。電話番号や自動車ナンバーが同一のものがないのと同様に、インタネットにおいても、2つとして同じドメインは存在できない、といった唯一無二の綴りです。
- ポップアップ
- ホームページにおいてポップアップとは、現在見ているホームページの上に、重なるような状態で、新たな画面が開き、その最前面面に表示されることを言います。より目立つ、注目を集めることが出来る反面、見ている画面を遮るように表示されるので、不快に受け取られる傾向があります。
- タイトル
- ホームページのソースに設定するタイトル(title)とは、ユーザーと検索エンジンにホームページの内容を伝えるためのものです。これを検索エンジンが認識し検索結果ページで表示されたり、ユーザーがお気に入りに保存したときに名称として使われたりするため、非常に重要なものだと考えられています。「タイトルタグ」ともいわれます。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- タイトル
- ホームページのソースに設定するタイトル(title)とは、ユーザーと検索エンジンにホームページの内容を伝えるためのものです。これを検索エンジンが認識し検索結果ページで表示されたり、ユーザーがお気に入りに保存したときに名称として使われたりするため、非常に重要なものだと考えられています。「タイトルタグ」ともいわれます。
おすすめ記事
おすすめエントリー
同じカテゴリから記事を探す
カテゴリから記事をさがす
●Webマーケティング手法
- SEO(検索エンジン最適化)
- Web広告・広告効果測定
- SNSマーケティング
- 動画マーケティング
- メールマーケティング
- コンテンツマーケティング
- BtoBマーケティング
- リサーチ・市場調査
- 広報・PR
- アフィリエイト広告・ASP
●ステップ
●ツール・素材
- CMS・サイト制作
- フォーム作成
- LP制作・LPO
- ABテスト・EFO・CRO
- Web接客・チャットボット
- 動画・映像制作
- アクセス解析
- マーケティングオートメーション(MA)
- メールマーケティング
- データ分析・BI
- CRM(顧客管理)
- SFA(商談管理)
- Web会議
- 営業支援
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング
- フォント
- 素材サイト
●目的・施策
- Google広告
- Facebook広告
- Twitter広告
- Instagram広告
- LINE運用
- LINE広告
- YouTube運用
- YouTube広告
- TikTok広告
- テレビCM
- サイト制作・サイトリニューアル
- LP制作・LPO
- UI
- UX
- オウンドメディア運営
- 記事制作・ライティング
- コピーライティング
- ホワイトペーパー制作
- デザイン
- セミナー・展示会
- 動画・映像制作
- データ分析・BI
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング