• 締切済み
  • 困ってます

Facebookの通知機能

Webサービスの勉強をしているものです。ちょっと疑問があるので教えてください。 FacebookやTwitterなどのSNSによく見られますが、友達として登録している人がサイトで書き込みをすると、自分のタイムラインに自動的に表示されたり、Facebookだと音でも通知してくれる機能があると思います。Push配信と言うのでしょうか。 こんな感じでページをリロードして読み直すのではなく、サーバー側から配信する方法を探しています。スマホアプリではなく、ブラウザに対して、です。 ちょいちょい調べたのですが、以下のような方法があることがわかりました 1.Ajaxで定期的にサーバーに問い合わせをかけて変更があれば更新する 2.Comet 3.WebSocket Facebookの通知ってどのように実現されているのでしょうか。上記以外にも新しい技術が出てきているのでしょうか。ご存じの方がいらっしゃれば、教えてください。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数254
  • ありがとう数12

みんなの回答

  • 回答No.1
  • shylock
  • ベストアンサー率73% (182/249)

回答がつかないようなので、FacebookやTwitterなどに詳しいわけではないんですが、一般論として……。 1.Ajaxで定期的にサーバーに問い合わせをかけて変更があれば更新する たいていは、これだと思います。タイマーなどで定期的にサーバーにチェックをして、更新されていれば処理する、という方式ですね。サイトに書込をするとタイムラインに表示される、といっても、それは「リアルタイム」である必要はありません。10秒や20秒遅れても全然問題ないわけですね。そうした「厳密なリアルタイム性が要求されない」ものは、この方式が普通だと思います。 2.Comet これは、下のWebSocketの代用品(?)みたいなものです。Ajaxでサーバーに問い合わせを行い、その状態を保持し続けることでサーバーとのリアルタイムなやりとりを可能にします。これは、一時期多用されましたが、今はWebSocketに置き換わっているように思えます。 3.WebSocket 最近、増えているサーバーとのリアルタイム接続を可能にする技術です。これを使えば、サーバーに更新が送られた時点で即座にブラウザを操作することができます。ただ、TwitterやFacebookなどがタイムラインの更新にこれを使っているとは思えません。理由は、サーバー側のコストです。 WebSocketは、通常のWebサーバーでは使えません。Webサーバーとは別に、WebSocket用のサーバーを用意し、それにブラウザから接続をします。そして重要なのは、その接続をずっと維持し続けるということです。つまり、Facebookなどでは、数億の接続を常に維持し処理し続けることになります。ラフに計算しても、数十万~百万台ベースのWebSocketサーバーが必要となるでしょう。 1の方式なら、多少のタイムラグがあるだけで普通のWebサーバーで処理できますし、それなら既に数億人のユーザーを持つFacebookなどの企業は十分対応できるサーバー能力を確保しているはずです。わざわざ膨大なリソースを消費する方式を選択する理由はないでしょう。 ちなみに、私自身も1の方式は使いますが、WebSocketはまず使いません。WebSocketサーバーに対応しているサービスがそれほど多くないのと、私が普段良く使うGoogle app engine(クラウドサービス)でもWebSocketは無料枠で100個までしか接続できず、それ以上はけっこうな費用がかかります。有料サービスなどでなければ割に合いません。 WebSocketは、例えばチャットアプリのようにリアルタイム性が要求されるサービスでは有効ですが、単なる更新のようなもので使うのは明らかにオーバースペックです。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Facebook、Twitter、mixi

    タイトルのSNS等複数のSNSへ登録している皆さんはどう言った用途で使い分けていますか? 自分はFacebook、Twitterは登録はしたものの殆ど見ていません。 mixiメインです。(掲示板などで「mixi使いにくくなった」とか見ますが・・・) Facebook、Twitterの良さとはなんでしょうか? コミュニティーとかも無いですよね?(知らないだけかもしれませんが) mixi:色々取り込んで昔とずいぶん変わったけど機能は充実している(と思う) Facebook:何故か本名で登録している人が多い。広告に「いいね!」するとタイムラインに広告のタイムラインがちょくちょく出てウザい(1つずつ設定で非表示にできるけど) Twitter:mixiのつぶやきとの違いはタグで検索できる(それ以外は特に知らない)

  • フェイスブックページとツイッターの連携方法

    フェイスブックページを作ったのですが、タイムラインにツイッターの記事を載せたいと考えています。 フェイスブックページにツイッターを連携させる方法がありましたら教えてください。

  • フェイスブックの退会は出来るのでしょうか。

    質問します。 専門医から「SNSデトックスをしたほうがいい」と 言われて、mixi、ツイッターをやめたのですが、 フェイスブックだけ辞める方法がわかりません。 噂でフェイスブックはやめられないとか 1度やめたら二度と登録出来ないとか 聴きましたが、そんなことはないですよね??? 是非、退会する方法を教えてください。

  • Twitter、FacebookでフォローAPI

    Twitter、FacebookでフォローをしてもらうAPIを探してます! 現在、PHPなどを利用してTwitter、Facebookで相手のタイムラインに投稿を行い なおかつ、フォロー(いいね?)をしてもらう、という機能を実装したいと思っております。 Twitterは「twitteroauth」を利用すればいけるのかと思い、暫く調べておりましたが フォローするAPIは存在しても、フォローをしてもらう、というのが不明でした。 Facebookはよく企業などのアカウントを「いいね」すると自分のタイムライン上に 企業の投稿などが流れるようになるのがありますが、それをFacebookアプリ承認などを 介して自動的に行える方法を探しております。 文章乱れておりまして申し訳ございません。 補足事項ありましたら細くいたしますのでご指摘頂けますと幸いです。 何卒、よろしくお願いいたします。

    • 締切済み
    • PHP
  • facebook 近況がニュースフィードに表示

    iPhoneにて、foursquareとSNS checker(facebook・mixi・Twitterに同時につぶやきが行えるアプリ)を使い、 facebookへのつぶやきを投稿しています。 自分のタイムラインには書き込みが表示されますが、ニュースフィード欄に表示されません。 これは、友達などには公開されていないということなんでしょうか? ※アカウント設定より、foursquare・SNS checker共に公開範囲は「すべてのユーザー」に設定しています。

  • ニッチなアプリやWebサービスについて

    昨今のアプリやWebサービスに関する質問です。 最近のアプリやWebサービスのほとんどが既存のものを改変したり流用した、いわば「パクり」の連続であることはいうまでもないと思われます。 私はこれ自体は別によいと思うのですが、パクりや改変を繰り返した挙句、「イノベーションのジレンマ」に陥り、極めてニッチというか、「こんなの誰が使うの?」というサービスが多すぎる気がするのです。 例えば、SNSを例に挙げます。 SNSで最も主流なものといえば、mixi・Facebook・Twitterあたりでしょう。 ところが、これらに対する反動として友人向けSNS「Close」、あるいは家族向けSNS「wellnote」が出てきました。 他にも、友人との写真共有向けサービスとか、色々機能特化したSNSがあると思います。 しかし、正直にいってこれらのSNSが流行しているという話は聞かず、未だにFacebookやTwitterが力を持ち続けていると思います。 実際、上記のSNSなんか使わないで、Twitterで鍵をかけたり、Facebookのグループを作ってやりとりしている人が多いでしょう。 これらのSNSは一定数のユーザー数を持っているわけですし、全く意味がないとは思いませんが、大して必要とされないようなサービスなんか作って意味があるのか? それくらいなら作らないほうがましではないか? などと思ってしまいます。 皆様はどう思われるか、意見を伺いたいです。よろしくお願い致します。

  • facebookのニュースフィードについて

    私はtwitterと連携してfacebookを利用しているのですが、昨日まではtwitterからつぶやいた内容が 自分のニュースフィードの欄にも表示されていたのですが、なぜか急に表示されなくなりました。 ただ、タイムラインの方には表示されています。 どなたか元通りニュースフィードの欄にも表示させる方法を御存知ではないでしょうか?

  • フェイスブックで友人のタイムラインに非表示にしたい

    タイトル通り、友人のタイムラインに自分の投稿が非表示になるようにしたいのですが、 正確には、自分の文章のみの書き込みは非表示で、 文章+写真(アルバム)や動画は表示に 「一括で」設定できないのでしょうか? ちなみに理由としては、自分はTwitterが嫌いなのでFacebookにTwitterの文字数を超える200文字程度のことをたびたび書き込むため、そのたびに相手のタイムラインに載るとすると頻度が高くて迷惑がかかると考えられるからです。 投稿ごとにいちいち設定する以外に方法がないのだとすると非常に使いにくいとしか言いようがないです。

  • facebook退会すぐ友達リストから消えますか

    友人から誘われfacebookを始めたのですが そんなに需要もないし最近別れた彼がやっているのを見つけてしまったので 退会することにしました。 退会する前に一度元彼のところを見に行ったときに 誤作動で彼の友達に申請を送ってしまっていたみたいで 許可されてからそのことに気が付きました。 夜中に申請して朝許可されているのに気が付きすぐフォローを外してから アカウントを削除したのですが、この人と友達になりました。というような 通知がタイムラインに載るのでしょうか。 アカウントは削除したけど完全削除になるまで2週間かかるので それまでその人の友達リストの中に私もいるのでしょうか。 彼とは年齢が違うし共通の友人なんているわけないので もし彼にバレたら怪しいと思われてしまいます。 やはりSNSはやらないのが一番ですね。

  • 自分のサイトのFACEBOOKページを作りたい

    よくフェイスブック内でどこかのサイトのページを見かけます。 カバーページのところに「いいね」が押せるようになっており、ツイッターでいうフォローのような事ができるページです。(私がいくつか見たものでは分類が「ウェブサイト」と書いてありました) 基本データのところにはURLくらいしか記載がなく、その他はサイトが更新されるとタイムラインにアップを載せていくという形です。 このフェイスブックのページを作成する方法をご存じの方、教えてください。 ちなみにもう個人のアカウントは持っています。