2017-08-14 17 views
0

サービスワーカーを使用してプッシュ通知を実装しました。私は私のdbにエンドポイントを保存しています。現在のサブスクリプションが変更または期限切れになったときに、古いサブスクリプションエントリをdbから削除するにはどうすればよいですか"pushsubscriptionchange"イベント私はサービスワーカーで聴いています。しかし、クロム設定で通知サブスクリプションを「このサイトで常にブロックする」に変更したときには発生しません。どんな助け?サービスワーカーによって作成された期限切れのプッシュサブスクリプションエンドポイントをdbから削除する

答えて

1

サイト設定による通知の取り消しがサービスワーカーのpushsubscriptionchangeイベントをトリガーするとは思われません。

代わりに、私はあなたのクライアントページからregistration.pushManager.subscribe()メソッドの拒否を検出することができると思います。 subscribe()ためthe specificationのステップ9あたりとして、

付与されていない場合は、名前 「NotAllowedError」であり、これらのステップを終了するのDOMExceptionとの約束を拒否します。

だから、あなたが説明したシナリオで検出できるようになると思います。

このシナリオでどのサブスクリプションエンドポイントをクリーンアップするかについては、それらのすべてをクリーンアップする必要がありますか?ユーザーは通知をオプトアウトしているため、既存のエンドポイントは今後も使用されるとは思われません。

関連する問題