SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Facebookモバイルアプリ開発チュートリアル

Facebookモバイルアプリの開発方法

Facebookモバイルアプリ開発チュートリアル(3)

Facebookクラスの使い方

 まずは、Facebookクラスの使い方の基本をみていきます。

Main = function()
{
  //FaceBookアプリID , cookie , oauth
  var fc = new FacebookClass('App ID の番号' , true , true);
  fc.addEventListener("onLogin", this);

  this.onLogin = function()
  {
    //ロードしたらする処理。
    fc.removeEventListener("onLogin", this);
    console.log("ログイン成功しました");

    //FQLオプションを第三引数にいれる。第三引数に何個でも取り出せる。
    //第一引数は何人取得するか。0で全員になる
    //ランダムに取得するか。ランダムの場合は全員でもシャッフルされて返ってくる
    fc.addEventListener("onGetFriendsData", this);
    fc.getFriendsData( 0 , "random" , 'sex , pic_square');
  };

  this.onGetFriendsData = function()
  {
    fc.removeEventListener("onGetFriendsData", this);
    if(fc.friendsDataArray.length <= 0)
    {
      alert("フレンド情報が見つかりませんでした");
    }
    else
    {
      //名前と写真の情報を取り出すメソッドを実行。
      onStart();
    }

  };

  function onStart()
  {
    //情報を取得する。
    console.log(fc.friendsDataArray);
  } 
};

 Facebookクラスを使うためには、以下のようにnew FacebookClass命令でFacebookオブジェクトを生成します。

var fc = new FacebookClass('App ID の番号' , true , true);

 new FacebookClass命令実行時に必要な引数は

  • 第1引数:Facebook開発者向けサイト取得したアプリケーションID
  • 第2引数:cookieを使うかどうかの指定
  • 第3引数:OAuthを使うかどうかの指定

 となっており、第2引数のcookie、第3引数のOAuthは、通常はtrueで問題ありません。

 アプリのログインが成功すると、Facebookオブジェクトで"onLogin"イベントが発生します。jActionでは、オブジェクトのイベント発生を、addEventListernerのリスナー登録で監視します。

 Facebookオブジェクト.addEventListener("onLogin", 実行されるonLoginメソッドを持っているオブジェクト);にて、Facebookオブジェクトで"onLogin"イベントが発生した時に、登録したオブジェクトのonLoginメソッドが実行されます。"onLogin"という文字列は、イベント名とメソッド名の両方の意味を持っています。

 上記の例では、

var fc = new FacebookClass('App ID の番号' , true , true);
fc.addEventListener("onLogin", this);

 となっているのて、Facebookオブジェクトのfcで、"onLogin"イベントが発生した時に、thisオブジェクト(=ここではMainを指しています)で、Mainの中のonLoginメソッドを実行するという意味になります。ログインが失敗した場合は、「ログインに失敗しました」とアラートダイアログが表示され、"onLogin"イベントは発生しません。

 ログインが成功した時に呼び出される、onLoginメソッドを見てみましょう。

this.onLogin = function()
{
  //ロードしたらする処理。
  fc.removeEventListener("onLogin", this);
  console.log("ログイン成功しました");

  //FQLオプションを第三引数にいれる。第三引数に何個でも取り出せる。
  //第一引数は何個取得するか。0ですべての要素を取得する
  //ランダムに取得するか。ランダムの場合は全員でもシャッフルされて返ってくる
  fc.addEventListener("onGetFriendsData", this);
  fc.getFriendsData( 0 , "random" , 'sex , pic_square');
};

 登録されたリスナーは、removeEventListenerを使いリスナー登録を解除できます。使わなくなったリスナー登録は、メモリの消費や誤動作の原因になるため解除するようにします。

console.log("ログイン成功しました");

 上記は後述しますが、Google ChromeのJavaScriptコンソールに内容を表示させる命令です。

次のページ
友達の情報を取得

この記事は参考になりましたか?

Facebookモバイルアプリ開発チュートリアル連載記事一覧

もっと読む

この記事の著者

大渕脇 昭人(jActionプロジェクト)(オオフチワキ アキト(ジェイアクションプロジェクト))

Founder/ウェブデベロッパー。音響メーカーハードエンジニアを経て、アニメーション映像、コンテンツ制作へ転向。2005年に有限会社クリエイトウェーブを設立。スマートフォン向けHTML5ウェブアプリ制作にあたり、生産性改善の必要を感じた自身の経験から本プロジェクトを発案。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/6643 2012/07/06 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー