Furudateのブログ

プログラミングやネットワーク系の知識・技術がメインのブログ。技術メモ帳的な感じになるかと。岩手から発信していきます。

Android用Facebookアプリ導入編~サンプルアプリを動かそう!~

こんばんは。


Gitの環境が整ったところで、次はAndroidアプリのFacebook連携をしようと思います。
Twitterは前に若干やったことがあるものの、FBは初なので色々と調べました。

若干めんどくさかったですね・・・。
ただ、公式のチュートリアルが分かりやすくて助かりました。日本語版もあるしね!


さて、今回はFacebookのサンプルアプリを動かすところまでやります!

前提条件
  • 今回はEclipseで行います。
  • EclipseAndroid SDK、ADTプラグインが導入済みである
  • EclipseAndroidを開発できる環境が整っている
  • Windowsである。(私はWindows7ですが、ここではバージョンはあまり関係なさそうです)

ということで、以下手順です。

OpenSSLのインストール

早速Facebookアプリに必要なSDKをインストールしたいところですが、その前にOpenSSLが必要になります。なので、それをインストールしたいと思います。

  • こちらからOpenSSLをダウンロード
    • 32ビット版と64ビット版があるので注意。Light版でOKだと思います。ちなみにこの時点での最新版は「v1.0.le」でした。
  • ダウンロードしたファイルを実行し、ウィンドウに従ってOpenSSLをインストール
    • インストール場所はCドライブ直下で良いと思います。
  • コマンドプロンプトを起動し、opensslのフォルダの中にあるbinフォルダにカレントディレクトリを移動させると、opensslコマンドが使えるようになります。
  • ここでしか使えないのは汎用的ではないので、パスを通しましょう。ということで、環境変数のpathにopensslのbinまでのパスを通します。これでどこでもopensslコマンドが使えるようになりました。
  • 「openssl version」を実行すると、バージョンが確認できます。しかし、Worningが発生してると思います。
  • 上記のWorningを直すため、システム環境変数に「OPENSSL_CONF」を追加します。値は「openssl/bin/openssl.cfg」にします。これで消えるはずです。
  • 以上でOpenSSL関係は終わりです。ここはメインではないのでさくさくいきます。

Facebook SDKをインストールし、Eclipseにインポート

さて、いよいよFacebook SDKに入っていきます。

  • まずはこちらからZIPファイルをダウンロード
  • Eclipseを起動し、[ファイル] > [インポート]を開き、[一般] > [既存プロジェクトをワークスペースへ]を選択
  • SDKのルートディレクトリを選択。全てのサンプルをインポート
    • ここで、チュートリアルにはワークスペースにコピーするな、と書いてありますが、DLしてきたファイルをそのままいじるのは嫌なのでコピーします笑
    • ワークスペースにコピーした場合はインポートしたサンプルアプリのFacebook SDKライブラリのパスを変更する必要があります。
    • サンプルファイルを右クリックし、[プロパティ] > [Android]の一番下にあるライブラリーのところで、既存のライブラリーを削除し、新たにワークスペースのFacebook SDKを追加する。
  • 次にインポートしたサンプルアプリを実行したいのですが、このままでは認証等をすることが出来ません。なぜならFacebook側にAndroidキーハッシュを提供しなければいけないからです。
  • 以下のコマンドをコマンドプロンプトで実行する。(ここでOpenSSLが必要になります)
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
  • パスワードが求められるので、入力します。入力すると、キーが発行されると思います。
  • Facebook Developersを開き、右上のドロップダウンメニューからSettingsを開きます。
    • Developper登録していない場合はしましょう。すぐ終わると思います。
  • Sample App Settingsを開き、先ほど発行されたキーを追加します。


これでやっとサンプルアプリが実行出来ます。
ちなみに、サンプルアプリはたくさんありますが、種類はこんな感じになっているそうです。

基本的なサンプル
  • ProfilePictureSample:ログアウト時のプロフィール写真のコントロールの利用法について
  • FriendPickerSample:ネイティブの友達選択を使用し、ユーザーの友達の中から選択する方法について
  • PlacePickerSample:ログイン時のスポット選択コントロールの利用法について
機能のサンプル
  • SessionLoginSample:SDKを利用したログインの詳細について
  • JustRequestSample:ログイン中のユーザーが、1回のFacebook APIリクエストを行う方法や、一括でリクエストを行う方法について
  • BooleanOGSample:オープングラフでカスタムアクションタイプを公開する例
  • SwitchUserSample:複数のユーザーを切り替える方法をについて。
完成サンプル
  • HelloFacebookSample:プロフィールへのアクセス、近況アップデート、および写真のアップロードの方法について。
  • Scrumptious:ログイン、リクエスト、選択、写真のアップロード、およびオープングラフの公開を使用する方法について
  • Hackbook:グラフAPIコールの選択を示す、もう1つのサンプルアプリ。SDKの下位互換を確保するためにあるらしいから、あんま使わないかも。


以上で導入編は終わらせることができたかなと思います。

次は実際にアプリ作成ですね!
ちょっと難しそうですが頑張ります。


それでは。