こんにちは。新規開発グループディレクターのtakejuneです。

昨年の映画『ソーシャルネットワーク』公開以降、日本でも本格的に流行しつつあるFacebookですが、FacebookのAPIを利用したアプリケーションの開発もまた本格化の兆しを見せています。

ライブドアでも先日、初めてのFacebook連携サービス「ソーシャレット」をリリースしました。今回はその開発を通して発見した、FacebookのAPIを利用したWebサービスの開発をはじめる前に知っておくべき3つのポイントをご紹介します。

【目次】

Facebookとの連携方法を理解する


blog_01

「FacebookのAPIを利用したWebサービス」というと、どんなサービスを思い浮かべますか? CityVille、Quora、ロケタッチ……色々なサービスがありますが、どれも正解です。

Facebookと連携したサービスは3種類に大別することができます。

1. Facebook.com上のアプリ

「citiville」などのソーシャルゲームをはじめとした、Facebook.com内で完結する、いわゆるFacebookアプリです。このタイプは、外部サイトへの遷移を行わないことでシームレスなユーザー体験を実現することが出来ます。

インストールされたアプリは、ユーザーのFacebookホーム画面に自動的にブックマークされるため、比較的高い粘着性を持っています。アプリとして開発することで、Facebookページ(旧ファンページ)にタブを追加できることも魅力的です。

2. FacebookとAPIで連携する外部アプリ

「Quora」や「Huffington Post」のような、Facebookとの連携を前提とした外部サービスです。
このタイプは、APIによってFacebookのソーシャルグラフを利用しつつも、既存のコンテンツの拡張を行ったり、ドメインやデータなどの独自資産を蓄積することができます。

3. スマートフォンアプリ

FacebookのAPIはiphoneやandroidのスマートフォンアプリにも利用することが出来ます。
このタイプは、デバイスの持つ固有の機能(カメラ、マイク、GPS、連絡先情報)を使用することで、「ロケタッチ」のようにブラウザベースのアプリでは不可能なユーザー体験を実現することが出来ます。開発用には、独自のSDKが用意されています。

それぞれに開発手法や制約条件が異なるので、実現したい内容がこの中のどれにあたるのか見極めることが開発の第一歩であると言えます。
「ソーシャレット」ではFacebookページへのタブ追加機能を持たせつつ、livedoorプロフィールの既存資産を活かすため、1と2の方法を併用しています。

ユーザー情報へのアクセス権限について理解する


blog_02


ユーザーの情報をFacebookから取得するためには、ユーザーに個人情報へのアクセス権限を許可してもらう必要があります。

個人情報は細分化されており、各項目ごとに個別に許可を得なくてはなりません。全ての情報に対するアクセスの許可を得れば、当然より理想に近い機能仕様を実現できるでしょう。しかし、APIの仕様ドキュメントには以下の記述があります。

求めるパーミッションの数とそれらを承認するユーザ数には、強い反比例の関係があります。
多くのパーミッションを求めるほどそれを承認するユーザ数は減ってしまいますので、本当に必要なものだけを選ぶようお勧めします。

Facebookアカウントは実名で特定の個人と結びついているため、プライバシーコントロールはデリケートに行うべきですが、このパーミッションの設定によっては、ユーザーのアカウントを好きなように操ることができてしまいます。

コンバージョンを高める意味でも、リスクを回避する意味でも、必要以上の許可を取得しない方が良いでしょう。

最新情報の入手方法について理解する


blog_03

「ソーシャレット」開発時には、公式のドキュメントが和訳されていないこともあってか開発者視点で必要な最新情報を日本語で探すことが困難でした。そのため、「ソーシャレット」開発チームが情報収集のためによく見ていたサイトの多くが英語のサイトでした。

私自身英語は不得意ですが、翻訳ツールを使えば読むことはそこまで苦ではありません。英語が並んだ画面を見ると、反射的に読むのを諦めてしまう人もいるかもしれませんが、開発に携わる人間として英語のドキュメントを読むことは避けないほうが賢明かと思います。
※Facebookは英語で実装された機能が日本語にローカライズされるまでに時間がかかることがあるので、書かれている内容が日本でも実装されているのか注意しましょう。

【参考になるサイト】


●公式系
  • Facebookブログ
    まずは公式に配信されている情報を抑えておきましょう。
  • フォーラム
    同じ問題で困っている人が見つけられたり、質問に対してFacebookの中の人が回答してくれたりするので参考になります。
  • プラットフォームのライブステータス
    プラットフォーム全体で起こっている問題を確認することが出来ます。
  • Bug Tracker
    Facebook側の既存のバグを追跡することが出来ます。また、登録が必要ですが、特定のバグのステータスに変化があった場合メールを受け取ることが出来ます。

●ブログ

●その他

  • Quora
    Facebookに関する質問が大量に投稿されています。内容は簡単なものからかなりマニアックなものまで幅広く、フォーラムにはない一般ユーザー視点の質問も大量に存在していて参考になります。
  • Facebook開発者向けドキュメントの日本語訳とTips
    「ソーシャレット」開発メンバーのエンジニアoklahomerが、開発者向けドキュメントの和訳をブログで無料公開しています。日本人開発者にはとても有用な資料だと思いますので、是非近くのエンジニアに共有してみてください。

まとめ


2011年4月現在、FacebookのAPIを利用した開発には「規約上の制約」「頻繁な仕様変更」「ローカライズの遅れ」といった煩わしさがつきものだと言えます。

反面、それと同時に「オープンなAPIの充実度」と「SNSとしての完成度の高さ」から凄いプロダクトを創ることができそうな期待感を日々感じています。

ライブドアでは、ソーシャルプラットフォームの活用が得意なディレクターを募集しています。

おまけ


ライブドアでもFacebookページ の運用をはじめています。気になったページがあれば、是非いいね!をお願いします。