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

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

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

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

Q&A

解決済

2回答

2908閲覧

なぜ、Push-APIを採用しているチャットサービスが少ないのでしょうか?

h_daido

総合スコア824

JavaScript

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

2グッド

3クリップ

投稿2018/12/03 03:49

いつもお世話になっております

例えばチャットサービスなどで、PCブラウザに対して何かしらの通知を行おうとした場合、実装方法としては
①Notificaitons API + WebSocket
②Push-API
のどちらになると思います。

もちろんPush-APIを利用できるブラウザは限られると思うのですが、Push-APIを利用すれば対象サイトを開いていないユーザーに対しても通知を送ることができるので、特にチャット系サービスなどでは有効なのではないかと考えていました。

そこで、Slack, ChatWork, FaceBookメッセンジャーなどで実験してみたのですが、対象サイトを開いているときにしか通知が来なく。。。
おそらく上記サービスについては①の実装なのではないかと推測しています。

なぜこのような状況になっているのでしょうか?
Push-APIにはサポート対象ブラウザ以外にも落とし穴のようなものがあるのでしょうか??

yumetodo, x_x👍を押しています

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

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

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

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

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

guest

回答2

0

ベストアンサー

一番の理由はやはりサポート対象ブラウザであって、Safari (macOS, iOS)で未対応というのが大きいのではないでしょうか。ユーザ数が決して少なくはなく無視できないはずですので。

つまり、iOSでは、ブラウザがプッシュ通知非対応なのでネイティブアプリで、と対応せざるを得ないわけで、実際にも、Safari for iOSでSlackやFacebook Messengerにアクセスすると、App Storeでアプリをダウンロードするように誘導するだけのページしか出てきません。

なお、ご指摘の通り確かにデスクトップブラウザ向けにはサイトを開いているときのみWebSocketで通知を受けられる仕様になっていますが、デスクトップだと、スマートフォン等と違って通知の受信時に端末をスリープから起こすといった使い方はほとんどしないので、プッシュ通知に対応する動機がモバイルに比べると弱くなるのは否めないのではと考えます。

あと、Web Pushプロトコル+Push APIについての技術的な難しさがあるとすれば、

  • 受信ユーザごとに異なる鍵で暗号化する必要がある
  • 基本的に、サイレントプッシュができない(プッシュ通知を受信すると必ず通知を表示する)

などでしょうか。よって、トータルで費用対効果を考えると、現状の対応ブラウザだけでは割に合わない、というのはあるかもしれません。

投稿2018/12/04 03:30

othersight

総合スコア356

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

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

h_daido

2018/12/05 02:24

ご回答ありがとうございます! 確かにSafari向けを考えるなら、WebsocketをPushAPIのフォールバック的な位置付けにして、両方を稼働可能な状態にする必要がありますもんね。。。 バグの発生しやすさ等考えれば、確かにコスパがすごく悪いようなきがします。思ってよりコスト側が発生しそうですね。
guest

0

費用対効果にあわないからじゃないでしょうかね
こちらが参考になるかもしれません。
ようはポーリングで必要十分だということなのでしょう

投稿2018/12/03 04:22

yambejp

総合スコア114839

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問