問題タブ [web-push]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - web-push の不明な問題、WebPushError「予期しない応答コードを受け取りました」400
GCM と chrome を使用したweb-pushの開発中。最近、この問題に遭遇しました (数時間前まではすべて問題なく動作していました)。
これが GCM での変更によるものなのか、それともクラウドのダウンタイムによるものなのかはわかりません...情報をいただければ幸いです。
私のコード
痕跡:
firefox - 削除された Firefox トークンは、Mozilla Push Server を介して引き続きプッシュ可能です
現在、Firefox デスクトップ ブラウザーで Web 通知を送信しています。残念ながら、削除されたトークンは Mozilla Push Server を通じて引き続きプッシュ可能です。
ServiceWorkerによって生成されたトークン (つまり、サブスクリプション エンドポイント) を削除するには、キャッシュ履歴をクリアするだけです。次に、削除されたエンドポイントに通知を送信します。Mozilla は を返し201 Created
、ユーザーに対して通知が作成され、送信する準備ができていることを伝えます。
しかし、Chrome ブラウザーで同じ手順を繰り返すと、Google Cloud Messaging はトークンが登録されていないことを通知します ( GCM のドキュメント> 「未登録のデバイス」を参照)。
ただし、Mozilla のドキュメントで、この状況のエラー コードがあることを明確に確認できます: cf errno 103 - Expired URL endpoint
、またはerrno106 - Invalid subscription
.
また、以前に許可されたネイティブの通知許可をブロックすると、Mozilla は結果としてerrno106 - Invalid Subscription
エラーを返します。問題は、トークンが削除されたときです。
google-cloud-messaging - Chrome ベースの GCM プッシュ通知ネイティブ ポップアップ検出
サイトから Chrome ベースの GCM プッシュ通知を取得できるようにするために、Chrome ネイティブ ポップアップが表示されている間に、サイトでテキスト メッセージを変更する必要があります。スクリーンショットを参照してください。
私が知っているように、サイトの通知を有効にしている間、ネイティブポップアップは初めて来ます。しかし、誰かが最初に許可してサイトから無効にし、再度有効にしようとすると、それは表示されません。
したがって、ポップアップが表示されたときにのみ機能することを確認するために、チェックインコードを追加する必要があります。次のコード行で chrome GCM 通知をサブスクライブしているときに、このネイティブ ポップアップが表示されます。
前もって感謝します。
google-chrome - Google Chrome: DOMException: 登録に失敗しました - マニフェストが空または欠落しています
Web サイトにプッシュ通知を実装しようとしています (Pushpad を使用)。したがって、次の内容の「manifest.json」を作成しました。
もちろん、有効な GCM アカウントを作成し、送信者 ID を持っています
manifest.jsonをルート ディレクトリに置き、次の行もindex.phpに追加しました。
Firefoxを使用するとすべて正常に動作し、プッシュ通知を送受信できます (マニフェスト インクルードは正常に動作すると思います) が、Chromeは動作しません...
コンソールに次のエラーが表示されます。
私は長い間 Google を検索し、見つけたものすべてを試しましたが、何も機能しません。
私が試したこと:
- 「Editor」でmanifest.jsonを作成し、それをすべてのタイプ(隠し.txtファイルなし)およびUTF-8エンコーディングで保存しました。
- クロムを再起動しました
- Chrome のキャッシュ、履歴などをクリアしました。
誰かが私を助けてくれることを本当に願っています。
javascript - Google Chrome プッシュ通知
Web サイトのユーザー向けに Chrome プッシュ通知を実装しています。私は成功することができます。質問が 2 つあります。
1) ブラウザ設定からの通知をブロックするたびに以前のサブスクリプション ID を取得する方法。バックエンド サーバーからサブスクリプション ID を削除する必要があります
2) Web サイトをリロードするたびに、API が同じサブスクリプション ID で毎回ヒットするため、サーバーにサブスクリプション ID を送信するたびに pushManager.subscribe メソッドが実行されます
push.js
service-worker.js
google-chrome - PushPad: サイトの更新後に購読が削除されました
私は PushPad を統合し、それを静的な Push で動作させることができました。今、私はそれをいくつかのPHPおよびJavascript関数と組み合わせて動的にしたいと考えました。これが私のコードです:
一見すると、すべてが正常に機能します。初めてサイトにアクセスすると、「UID」アラートまでのすべてのアラートがポップアップ表示されます。次に、Chrome からプッシュ通知を受け入れるように求められます。許可をクリックすると、「登録済み」というアラートが表示されます。
ここでサイトを更新すると、「登録済み」アラートまですべてが繰り返されます (ただし、Chrome によるプッシュ通知を許可するよう求められることはもうありません)。以前に購読したことがあるので、「購読済み」というアラートが表示されるはずだと思っていましたが、そうではありません。
誰かが助けてくれれば幸いです:-)
google-chrome - PushPad: Chrome にプッシュ通知が表示されない
この質問は、次の質問の結果です (コメント セクションを参照)。
PushPad の使用に問題があります。プロジェクトを作成し、コードを実装しました。私の問題は、送信したプッシュ通知(デスクトップ版とモバイル版)が Chromeに表示されないことです。Firefox を使用すると、すべて正常に動作します。送信した瞬間に通知が表示されます。
しばらくして、Chrome 開発者ツール (リソース -> サービス ワーカー) で「プッシュ イベントのエミュレート」という機能を見つけました。このボタンをクリックすると、以前に送信したプッシュ通知が Chrome に表示されました。
では、プッシュ通知は PushPad によって送信され、受信されたように見えますが、Service Worker によってキューに入れられているかのように、自動的に表示されませんか? しかし、私の Web サイトのユーザーは、通知を受け取るために開発者コンソールにアクセスしてそのボタンをクリックする必要はありません (Firefox の場合のようにする必要があります)。
「プロジェクト ID」と「プロジェクト番号」 (Google プロジェクトから) をGCM Sender IDとして使用しようとしました。どちらも上記の問題を引き起こします。また、新しい API キーを生成し、プッシュパッド プロジェクトで変更しましたが、何も変更されませんでした。
Pushpad DEMOを使用して、公式の Pushpad-Homepage からデモ通知を送信すると、同じ問題が発生することにも気付きました。また、キューに入れられ、開発者コンソールでボタンを押したときにのみ表示されます。
2 台の異なる PC と Chrome を搭載した 1 台の Nexus 4 ですべてのテストを試しましたが、常に同じ問題です。
何か提案はありますか?おそらく (推測にすぎませんが) Pushpad が提供する Service Worker に何らかの問題があるのでしょうか (彼らの HP でも同様です)。