どうやって?
バージョン42以降、Google ChromeはGoogleのサーバーを介したPush APIをサポートしています。GCMを使用している場合は、通知にアクセスするためのこれらのリクエストを既に見ているでしょう。 アクセスを許可すると、サイトから通知を送信できるようになります。 この関数は完全に新しいものであり、それを知っている人はほとんどいませんが、私の意見では、すでに大きな欠点があります。
- 各サイトはブラウザで許可を求めますが、現在通知を送信できるソースの数を制御することは難しく、各ソースには個別に起動する独自のバックグラウンドプロセスがあり、受信した通知やフィルタリングの履歴はなく、デバイス間のサブスクリプションの同期はありません
- サイトは、デバイスに直接通知を送信し、デバイスデータベースの関連性を監視し、各ユーザーデバイスを個別に監視する必要があります
- この機能は、SSLを使用するサイトでのみ機能します。
これらのすべての機能を担う中間サービスは、問題を解決できます。


理論のビット
私が実際にこの機能を実行した主な記事は、
ここにあります。つまり、ブラウザーは
Service-Worker (Chrome 40で使用可能)を作成し
ます 。これはJSのバックグラウンドプロセスです。 バックグラウンドで常に機能するわけではありませんが、外部からのさまざまな要求に応答します。 たとえば、プッシュメッセージが到着したとき。 もちろん、開いているページは必要ありません。 さらに、ブラウザが閉じられていても機能します(完全に閉じられているのではなく、バックグラウンドで閉じられています)。

プッシュメッセージが到着すると、ブラウザに通知が表示されます。 以上です。 これにより、アプリケーションなしでプッシュ通知の受信を完全に実装できます。さらに、モバイルクロムのAndroidでも動作します。 明らかな欠点のうち、現時点では、プッシュメッセージでペイロードを送信することは不可能であることを区別できます。 メッセージ自体。 Googleはこれをセキュリティの問題として説明し、Chrome 44では問題が完全に解決され、ブラウザーがデータを直接受信できるようになると報告しています。 また、いくつかのレポートによると、ブラウザが閉じられた場合、リクエストはそれに到達しません。 この問題は、次のメッセージの受信時に確認されなかったすべての通知をダンプできるという事実によって解決されます。
PushAllが問題を解決する方法
サイトがまったくなくても、Push API経由で通知を送信できます。 つまり、curlを介してサーバーから、またはRSSフィードを接続して、チャネルを作成し、手動で通知を送信できます。 この場合、ユーザーはPushAllサイトへのアクセスを許可します。
この場合、開発者は通知の送信先を考える必要はありません。 Android用のアプリケーション、クロームの追加、またはすぐにPush APIを介して。 彼は10人のユーザーにメッセージを送信できますが、実際には各ユーザーの2〜3台のデバイスのそれぞれに送信されます。 将来的には、iOSやWPなど、他のブラウザーや他のプラットフォームになります。
テスト中
関数は昨日作成されたため、テストが必要です。
Push APIを介して通知をテストするには、
PushAll.ru Webサイトにアクセスし、Googleアカウントを使用してログインする必要があります。

入力するとすぐに、チャンネルディレクトリに移動します。 右上には、新しい機能を含むスイッチがあります。

オンにした後、Chromeは通知へのアクセスを要求します。 その後、プロファイルセクションに移動し、デバイスを「ping」します

通知がどのように機能するかをPMまたはコメントに書いてください。 通知に問題がある人もいます。状況を修正したいと思います。 Androidスマートフォンの通知も確認してください。 テストすると、カタログにいくつかの興味深いチャンネルが見つかると思います。
すぐに質問がないようにします。チャンネルからすべての通知を受信する必要はありません。 チャンネルを購読し、再度開きました-フィルタを開き、キーワードを入力しました。 そもそもあなたにとって重要なトピックについては、デバイスに通知がすぐに届き、サイト自体から残りを読むことができます(これは、たとえばSoHabrチャンネルやTVチャンネルチャンネルに当てはまります)
見込み
この機能により、多くのユーザーにリーチできます。 多くの人がアプリケーションやアドオンをインストールすることは困難ですが、いくつかのボタンを押すことは難しくありません。
将来的には、サイト用の特別なウィジェットを作成します。 ワンクリックで一度に4つのことを実行できます。
- 今すぐ登録してください。
- ログイン
- 購読する
- ブラウザでプッシュ通知APIを有効にします。
つまり、ユーザーはボタンをクリックし、Googleアカウントへのアクセスを要求し、通知へのアクセスを要求します-それだけです。 ユーザーは通知を受信する準備ができています。 さらに、ユーザーが他のプラットフォーム用のアプリケーションをダウンロードした場合、ユーザーは自分のアカウントで登録を解除するまで、サイトから通知を受信し続けます。 同時に、私のサービスでは、アプリケーションをインストールせずに、モバイルデバイスにも通知を送信できます。