スマートフォンアプリではおなじみのプッシュ通知
実は、Webブラウザからもできることをご存知でしょうか。

JavaScript「Web Notification API」というプッシュ通知を制御するAPIを使うことで、モバイルだけでなくデスクトップにもWebサイト経由でプッシュ通知ができるようになります。
しかし、モダンブラウザの多くがサポートを始めている一方で、まだ利用したことがないひとも多いのではないでしょうか。

今回は、Web Notification APIを簡単に扱うことができるPush.jsを使って、簡単にブラウザ通知を実装する方法をご紹介します。

プッシュ通知とは?

これまでは、ホームページの更新を通知する方法としてはRSSメールなどを利用している人が多かったのではないでしょうか。
しかし、RSSRSSリーダーに登録する手間が必要で、メールでもメールアドレスをユーザーに登録してもらわなければいけないので、ややハードルが高かったのも事実です。

一方、プッシュ通知の場合は、Webサイト上で許可するだけで通知許可が有効になるため、ユーザーは気軽に利用することができます。
プッシュ通知を使うことで、自分で情報を取りにいかなくても向こうからお知らせがやってくるのです。

Push.jsとは?

pushjs.jpeg
https://nickersoft.github.io/push.js/

Push.jsは、Web Notification APIをブラウザ経由で簡単に制御することができるjQueryプラグインです。
非常にシンプルなコードを書くだけで簡単にプッシュ通知を実装することができます。

ブラウザ経由でのプッシュ通知は、一度ドメインの許可を出せば、設定を変更するまでプッシュ通知を送ることができます。
例えば、Push.jsの公式サイトで「DEMO」というボタンを押してみましょう。

allow.png

ブラウザ上でプッシュ通知を許可するようにポップアップが表示されました。
許可をして、もう一度「DEMO」というボタンを押してみましょう。

pushdemo.png

すると、このような形でプッシュ通知が出てきました。
Push.jsを使えば、アイコンやタイトル、メッセージなどを自由にカスタマイズすることができます。

Push.jsを使って簡単にブラウザ通知を実装する方法

1. ライブラリの読み込み

それでは、具体的にブラウザ通知を実装する方法を確認していきましょう。

まず最初にやるべきことは、Push.jsの読み込みです。
ライブラリはnpn経由でのインストールやローカルに落としてからアップロードする方法もありますが、最も簡単なのはCDN経由で読み込めるように以下のコードをコピー&ペーストすることです。

<script src="https://cdnjs.cloudflare.com/ajax/libs/push.js/0.0.11/push.min.js"></script>

Push.jsはプッシュ通知を行うために必ずしも必要なファイルというわけではありませんが、Web Notification APIを操作するのに最も簡単な手段です。
Push.jsには通知の許可やクロスブラウザ対応などの処理が含まれているので、特別な処理を施す必要はありません。

2. 通知の許可

先ほどの「DEMO」でも見ていったように、こちらからプッシュ通知を送る前に、ユーザー通知許可を設定してもらう必要があります。
モダンブラウザでは、以下のように許可を得るためのリクエストダイアログが表示されます。

request.png
▲ 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);
  }
});

うまくいけば、以下のようにプッシュ通知が返ってくるはずです。

pushing.png

その他の設定については、こちらをご覧ください。

まとめ

Push.jsを使うことで、これまでは実装が大変そうだったプッシュ通知も簡単に実装することができます。
現状の対応ブラウザはiOSを除くChrome 42以上/Firefox 44以上と使用状況が限られていますが、ユーザーにとってもメリットが多く、導入を検討する価値は十分にあります

また、今回は詳しくご紹介できませんでしたが、時間指定などの細かい機能を使いたい場合は、Pushnateというサービスを使うのも便利です。
ぜひプッシュ通知を効果的に使って、マーケティングにお役立てください。

この記事を読んだ方におすすめ

新社会人のさらなる飛躍のために!タスク・スケジュール管理ツール・アプリ23選

新社会人のさらなる飛躍のために!タスク・スケジュール管理ツール・アプリ23選

今回は、新人だけではなく、「もっと業務効率をアップさせたい!」という社会人の方全てを対象に、タスク・スケジュール管理ツール・アプリ22選をご紹介します。 手帳やノートでも管理はできますが、抜けや漏れ無くやるべきことを管理するためにも専用ツールをぜひ活用してみてください。

2018年上半期にチェックしておきたい海外のWebサービス&アプリ15選

2018年上半期にチェックしておきたい海外のWebサービス&アプリ15選

2018年上半期にチェックしておきたい海外のWebサービス&アプリ15選をご紹介します。 新しいWebサービスやアプリをキャッチアップすることで、次のフェーズに流行しそうなサービスの方向性がつかめるかもしれません。