• 締切済み

Facebookの通知機能

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

みんなの回答

noname#247307
noname#247307
回答No.1

回答がつかないようなので、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やLINEはやっているのですが、Facebookって所謂直に身ばれSNSですよね? そんなに付き合いはないですが、小中の頃の同級生などはFacebookを活用して近況報告をしあってるみたいです。 簡単に言うとFacebookって、身ばれ版Twitterという感じの認識で間違いないでしょうか? また、楽しいですか?どのように楽しいですか? やってて損はないですか?

  • edgeからFacebook

    edgeのトップページからFacebookにアクセスするとFacebookからアカウントとパスワードによるインストールが求められるようになり新規ログイン通知が来ます。Twitterも同じです。どう修復したらいいでしょうか。

  • Facebookからtwitterへの連動

    Facebook に投稿したものを、twitter に流す方法はありますか? twitterからFacebookに流す方法を紹介するサイトはありますが、 Facebook から twitterに流す方法を紹介するサイトがみつかりません(TT) どなたかご存知でしたら方法をおしえてください。

  • FACEBOOKで○○さんとつながりましょう

    よく、「FACEBOOKで○○さんとつながりましょう」「FACEBOOKに登録すると、友達の写真や動画や近況を見たり、云々」「FACEBOOKで○○さんと交流しましょう。」 などと書かれたメールが送信されてきます。○○は、確かに知っている人の名前です。 別に迷惑ではないので、配信拒否も可能であることを知りつつ、来るものは拒まず状態にしています。 あれは、FACEBOOKに備わった「勧誘機能」を本人が意図的に利用しているんですか? それとも、FACEBOOK社が登録者数を増やすために、既登録者の友達のリストからランダムに送りつける自動メールですか? SNSは一切使わないことに決めているのでこのジャンルに暗く、どう送られてくる機序なのかわかりません。 答がどうだったらどうする、とか考えているわけでなく、ただ疑問なだけです。よろしくお願いします。

  • Facebookの使い方について。

    こんにちは、個人がFacebookで遊ぶ方法を教えて頂けませんでしょうか。 いま僕はFacebookの使い方について色々な教則本を読んでいます。 Twitterであれば趣味の話をテレビとか見ながら、 TweetしたりRetweetすると相互フォローができて楽しいです。 問題はFacebookです。 教則本とか読んでみると必ずビジネスと絡んだ内容になってしまいます。 Facebookを個人で楽しむ方法が分かりません。 同級生と繋がるというのを試したら1人いましたが既に止めてしまったそうです。 Facebookがリアリティー重視というのは匿名禁止などから分かります。 Twitterのように同じような趣味を持つ方々と親交を深める方法を知りたいです。 それからニュースフィードとかウォールとかノートとか、 それぞれの明確な違いが分からず何とかして覚えたいです。

  • i-padでtwiiterとfacebookを同期

    i-padでtwiiterとfacebookを同期させたいのですが 方法が分かりません。 facebookの更新は、twitter上に反映されるのですが twitterのがfacebookに反映されません。 一番の理想は、 facebookの更新はtwitter上には乗らず twitterの更新だけををfacebookに反映したいです。 よろしくお願い致します

    • 締切済み
    • Mac
  • メールを受信したら自動通知する方法

    お世話になります。 お知恵貸してください。 あるメールが届くと、twitter(もしくはfacebook)に自動で更新されるようにしたいです。 無料で実現できる方法はあるでしょうか? ちなみに今はgmailで受け取ってます。 たとえば、 1、メール受信する 2、それが特定のメアドなら、自動で設定しているメアドに通知が行く。 ★通知内容は、あらかじめ設定しておく。 ★設定しているメアドがtwitter/facebookと連携しておけば、更新される? ポイントは、受信したメール内容を自動通知したくないということです。 「メールが来た」ということを別の文言で、別のメアドに送信したいです。 よろしくお願いします。

  • Facebook、Twitter、mixi

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

  • twitterにつぶやくとmixiとfacebookにも投稿されるよう

    twitterにつぶやくとmixiとfacebookにも投稿されるように設定してる場合で、twitterにだけつぶやく良い方法はありませんか? twitterにつぶやくとmixiとfacebookにも投稿されるように設定してるんですけど、そうすると、mixiだけでつぶやきたいことやfacebookだけにつぶやきたいことは、それぞれ直接mixiやfacebookでつぶやけばいいですけど、twitterにだけつぶやきたい時はどうすればいいですか? 何か良い方法があれば教えてください。 ちなみに、一時的に連携を解除するとか、投稿が反映された瞬間に投稿を削除するとかっていう方法は、なるべくとりたくないです。。。

  • FacebookページとTwitterの連携

    FaceBookで投稿したものをTwitterに反映させたかったので、 FaceBookページを表示すると表れる 「管理しているFacebookページをTwitterアカウントとリンク」 の部分からリンクの設定を行いました。(PCにて) その後、PCからの投稿とiPhoneのブラウザでの 投稿はTwitterにうまく反映するのですが、 iPhoneのFaceBookアプリで投稿するとTwitterに反映しません。 iPhoneのブラウザでは写真の投稿が出来ないので、 なんとかiPhoneのFaceBookアプリで投稿したものを Twitterに反映させたいのですが何か方法はありますか? iPhoneのアプリを使うではなく他の手段でもOKです。 Twitter→FaceBookの連携でもOKです。 条件としましては、 ・FaceBookページとTwitterに同時投稿できる。 ・写真を投稿したときに、FaceBookページのウォールに  リンクテキストではなく、写真が表示される。  (Twitterの方はリンクテキストでもかまいません。) の二点が満たされると嬉しいです。 ご存じの方がいらっしゃったらおしえてください!

専門家に質問してみよう