9

クロームを開いたときにのみ、Facebookのウェブのプッシュ通知がクロムで表示されます。私はこの通知がサービスワーカーを通して送られていることを知っています。私はブラウザが閉じていてもこのバックグラウンド同期が続くのか、クロムを開くだけでこれらのサービスワーカー同期プロセスだけが開始され、プッシュ通知の送信を開始するのか疑問に思っています。ブラウザが閉じていてもサービスワーカーはバックグラウンドで実行されますか?

+1

ありがとうございました –

+0

@Jonasw彼らはどのように非アクティブ状態に移行しますか? –

+0

http://stackoverflow.com/questions/39034950/google-chrome-push-notifications-not-working-if-the-browser-is-closed –

答えて

6

最初に言うことは、これはプラットフォームによって多少異なります。クロムの私の理解では、次のとおりです。WindowsとMac OS Xのようなデスクトッププラットフォームで

ブラウザは、サービス労働者のために実行されているいくつかのバックグラウンドプロセスを実行できるようにする必要がありますする必要があります。 Mac OS Xでは、ブラウザにはウィンドウが開かれていないが、ブラウザの下にはまだ輝く点があるため、これは検出が非常に簡単です。モバイルプラットフォームで

それは、これらのケースでは、プラットフォームが、その後どんな対応するイベントを処理するブラウザを覚ますことができますので、イベントをリッスンし、効率的な方法でそれらを処理する方が簡単です。

上記はすべてのサービスワーカーAPIに適用されます。デスクトップで

:ブラウザが完全を閉じている場合は、サービスの労働者が実行することはできませんし、モバイルでは(つまり、何もプッシュやバックグラウンド同期イベント)

を任意のイベントを送出しないでしょう。イベントはまだディスパッチされます(つまり、ユーザのデバイスがオンラインになり、プッシュが受信され、プッシュイベントが発生すると、バックグラウンド同期がトリガされます)。

+0

"私のクロム理解"、あなたはGoogleのために働いていると思った?ちなみにSSL証明書は廃止されました –

+0

私はGoogleで働いていますが、Chromeの仕組みをよく理解している間に進化し続ける製品であり、非常に迅速に変化します。 私のletsencryptスクリプトが倒れているように頭が上がってくれてありがとう。 –

+0

@GauntFaceクロムの下にドットがある場合、それはまだ実行中ですので、私の理解によれば、サービスワーカーはバックグラウンド同期を実行できます。しかし、私の質問は、クロムが完全に閉じている場合、ワーカーがバックグラウンドで同期を実行できるかどうかです。 –

1

ブラウザが閉じていると、サービスワーカーが実行できないと思います。サービスワーカーはブラウザを開いた後にのみプッシュ通知を送信できるためです。バックグラウンドで実行されている場合は、ブラウザを閉じた後でも通知を送信する可能性があります。

+0

、w3cドキュメント内(https://w3c.github。io/ServiceWorker /#user-agent-shutdown)には、シャットダウン時にユーザエージェントがサービスワーカーの状態を保存する必要があることも記載されています。これは私の意見では、ユーザエージェントがシャットダウンした場合にサービスワーカーが働かないことを意味します。 – gosua

+0

@gosuaちょっと説明して丁寧な答えをしてください。 –

+0

仕様書のこれらの文より詳細な情報が見つかりませんでした。ユーザーエージェントが正常にシャットダウンされた場合、サービスワーカーがもうそこにいないように、 "ユーザーエージェントがシャットダウンしようとしている間は状態を保存する必要があります"という音を私に聞かせてください。 – gosua

0

リトルofftopicが、クロムが(設定で設定可能)バックグラウンドで実行することが許可されている場合background scriptが実行できるChromeの拡張機能を記述することが可能です。 use GCMでもかまいません。

+0

私はサービスワーカーのデフォルトの動作を知りたいと考えました。クロムを閉じれば、作業員にサービスが提供されますか? –

+0

私はそれをテストしました。クロムが閉じていても(しかし、バックグラウンドで実行中)、サービスワーカーは実行中でした。私はプッシュを送ることができ、作業者は正常に通知を示した。 –

+0

しかし、私はそれが閉じられているときにクロムの通知を見たことがありません。クロームを開くと、別の会社(Facebook、Googleなど)からのプッシュ通知が画面に表示されます。だから私はサービスワーカーがブラウザが閉じたときに実行されないと仮定しました。 –

関連する問題