質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

2800閲覧

web push通知の仕組みについて

a.com

総合スコア907

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

1グッド

2クリップ

投稿2022/01/06 00:09

web push通知の仕組みでどうしてもわからない点があります。
メッセージサーバーはブラウザベンダーが管理するサーバーの利用が前提なのでしょうか?

mpyw👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2022/01/06 00:20

「ブラウザベンダーが管理する」以外のサーバーは何を想定していますか?
a.com

2022/01/06 00:27

自分のサーバーです
m.ts10806

2022/01/06 01:14

もう少し前提や背景、自身が持ってる情報を具体的に記載されたほうが良いと思います。 想像で補わなければならない部分が大きすぎます。
mpyw

2022/01/06 03:48 編集

「Web Push」は特定の技術を指す固有名詞だと思いますので,個人的にはこれでも十分に思いました。実際これで検索するとこのトピックしか出てこないと思います。親切な質問にするなら, https://w3c.github.io/push-api/ にリンクを張る,とかぐらいですかね… 「web push通知」という表記が不正確なことに関しては思慮の余地があるかとは思いますが,下の回答に int32_t さんがコメントされているとおり, > それはごもっともですが、この質問の場合は「メッセージサーバーはブラウザベンダーが管理するサーバーの利用」と書いてあるので Push API のことだと疑う理由がないです。 に関しては自分も同感でした。
guest

回答2

0

ベストアンサー

Is it possible to send push notifications without using a cloud service like GCM? - Quora の,Pushpad CTO の回答によると

The service for push notifications is hardcoded in the OS (for native apps) and in the browser (for web push).

ということらしいです。


本当ですね, Chromium のソースを調べてみたら,しっかりハードコーディングされていました。ベンダーロックインありきの仕様だと言って良いでしょう。Chrome じゃなくて Chromium でもしっかり Google さんにロックインされますねw

chromium/push_messaging_constants.cc at c4d3c31083a2e1481253ff2d24298a1dfe19c754 · chromium/chromium

cpp

1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/push_messaging/push_messaging_constants.h" 6 7const char kPushMessagingGcmEndpoint[] = 8 "https://fcm.googleapis.com/fcm/send/"; 9 10const char kPushMessagingForcedNotificationTag[] = 11 "user_visible_auto_notification";

投稿2022/01/06 00:36

編集2022/01/06 01:17
mpyw

総合スコア5223

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mpyw

2022/01/06 01:14 編集

一方 Pushy Enterprise の話も気になりますね。裏で FCM を使っている気がしなくもないですが… この点に関しては自分も情報不足で判断しかねます,すみません
mpyw

2022/01/06 01:11

Push API https://w3c.github.io/push-api/ 仕様はまだドラフトで標準化すらされていないらしいです。こんなに使われているのに…
a.com

2022/01/06 04:12

ありがとうございます。スッキリしました。
guest

0

質問者さんの言う「web push通知」がどういうものか不明なのでハズレかもしれませんが・・・

自力で自分の web サーバーに実装するならそのためのフレームワークを探すのが良いのではないでしょうか? 以下のようなものがあります。

ASP.NET Core SignalR の概要
https://docs.microsoft.com/ja-jp/aspnet/core/signalr/introduction?view=aspnetcore-6.0

以下抜粋:

ASP.NET Core SignalR は、リアルタイム Web 機能をアプリに簡単に追加できるオープンソース ライブラリです。 リアルタイム Web 機能を使用すると、サーバー側のコードでコンテンツをクライアントに即座にプッシュできます。

SignalR では、(グレースフル フォールバックの順に) リアルタイム通信を処理するために、次の手法がサポートされています。

・WebSocket
・サーバー送信イベント
・Long Polling

SignalR は、サーバーとクライアントの機能内にある最適なトランスポート方法を自動的に選択します。

投稿2022/01/06 00:50

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mpyw

2022/01/06 00:58

Push API - Web API | MDN https://developer.mozilla.org/ja/docs/Web/API/Push_API Web Push のクライアント側の API はこれですね。これに対応するサーバ側の実装に関する質問だと思います。 > ・WebSocket > ・サーバー送信イベント > ・Long Polling 多分どれも違うかなと…
退会済みユーザー

退会済みユーザー

2022/01/06 01:02

私の回答をよく読んでもらってますか? 勘違いしてませんか? SignalR はサーバー側の実装です。
mpyw

2022/01/06 01:07 編集

はい, 「Push API を使って待ち受けている Web ブラウザに対しては,SignalR サーバーからは3つのどの手段を使ってもメッセージを送信することができない」という意図でのコメントです。「SurferOnWww さんの回答がクライアント側の実装についてであるから見当違いである」という趣旨ではありません。
int32_t

2022/01/06 01:14 編集

私にも、この回答は Web Push API とは無関係に見えます。 Web Push API の代替案の紹介にしても、質問者さんは ASP.NET の話はしていませんし。
退会済みユーザー

退会済みユーザー

2022/01/06 01:44

私には質問者さんの言う「web push通知」がどういうものか不明なのですが? mpyw さん、int32_t さんは「web push通知」=「Push API」の話であると判断されたのですか? 質問者さんには失礼ながら、想像の斜め上のことを考えている質問がよくあるのですが。
int32_t

2022/01/06 01:51

> 想像の斜め上のことを考えている質問がよくある それはごもっともですが、この質問の場合は「メッセージサーバーはブラウザベンダーが管理するサーバーの利用」と書いてあるので Push API のことだと疑う理由がないです。 > 私には質問者さんの言う「web push通知」がどういうものか不明なのですが? 不明なら回答する前に追記・修正依頼で聞くのが良いと思います。
退会済みユーザー

退会済みユーザー

2022/01/06 01:56

ここで回答者同士議論してても仕方がないですね。回答に対する質問者さんのフィードバックを待ちたいと思います。
a.com

2022/01/06 04:11

説明が不足しており申し訳ないです。push apiを指していました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問