プッシュ通知を送信するためにPushManagerを購読しようとしていますが、購読を呼び出すと常にエラーが発生します。プッシュ通知を購読できません
これは私のあなたが見ることができるよう
registration.pushManager.subscribe({ userVisibleOnly: true })
.then(function (subscription) { /* ... */})
.catch(function (err) { /* ... */})
何も奇妙な呼び出し、その呼び出しは常に
のDOMExceptionを投げている購読:登録に失敗しました - プッシュサービスのエラーを
Iなぜそれが分かりませんか?私はこれまで
- をチェックしました何 私は私の
manifest.json
でgcm_sender_id
性質を持っています。 - 通知のパーミッションはクライアントで付与されます。
registration.pushManager.getSubscription()
は常にnull
となり、サブスクライブは常に上記のエラーをスローします。
他に何を見ますか?プッシュ通知を正常に購読するためのヘルプは歓迎されています。クロム55を使用しています。詳細が必要な場合は、私に知らせてください。
EDIT:すべての登録コードはregisterServiceWorker
機能のhereです。
ありがとうございました。私は私ではなく、あなたのよう window.location.origin を使用するので行ったように、あなたのサービスワーカーのために相対パスを使用することをお勧め
navigator.serviceWorker.register('/serviceworker.js', {
scope: '/'
});
:あなたのようなものを使用して、適切にサービスワーカーを登録していると仮定すると、
誰かが別のルートに移動したときにサービスワーカーのエラーが見つかりませんでしたので、 'scope.'オプションで解決できるかもしれないので、' window.location.origin'を使用しました。残りのコードはあなたの答え –
と同じです。いくつかの検索の後、私は私の解決策を見つけました。私は 'manifest.json'ファイルに間違った' gcm_sender_id'を使っていました。私は[プロジェクト番号で変更しました](https:// github。com/YerkoPalma/blank-app-shell/commit/34cd59cfb37e6247f3d8bdc69b94e926753052ad#diff-4b1eb3dc48c4e16d49db5b42298fe654)、うまくいきました。 –
:)あなたのために良い!しかし、それは問題ではないはずです。誤ったgcm_sender_idの問題に直面するのは、プッシュをトリガーしていて、購読していないときだけです。私はあなたのためのトリックをした根の範囲を推測しています! :) –