Open Graphアプリケーションを作ると、Timeline, News Feed, TickerなどのFacebook体験の中核に深く結合することができるようになります。このドキュメントでは、以下のコンセプトについて解説します。
- Actions and Objects: Open Graphの構成要素
- Open Graph Mechanics: ユーザがどのようにアクションやオブジェクトに繋がっているか
- Social Channels: Timeline, News Feed, Tickerなどを用いてユーザ基盤を育て、既存のユーザの活動を促すチャンネル
いますぐOpen Graphアプリケーションを作り始めたい場合は、チュートリアルを参照してください。
Actions and Objects
アクションとオブジェクトがOpen Graphを構成します。アクションは、ユーザがアプリケーション内で取る高レベルな社会的アクションです。オブジェクトは、アプリケーション内でユーザがつながりを持つことのできる物のタイプを表します。これまでユーザは、like
actionを通じてアプリケーション上のオブジェクトとつながりを持つことができました。これからは、カスタマイズしたアクションとオブジェクトでユーザインタラクションを形成し、ユーザとの繋がりをより豊かなものにできます。まずは、Dev Appに
行ってアクションとオブジェクトを定義しなくてはなりません。たとえば、ジョギングアプリケーションならば、"ルート"と"マラソン"をオブジェクトに
し、"走る"をアクションに指定するでしょう。料理アプリケーションならば、"レシピ"と"メニュー"をオブジェクトにして、"料理する"をアクションに
指定できます。
Dev Appで
アクションとオブジェクトを指定したら、オブジェクトを生成します。Open Graphオブジェクトは、Open
Graph情報を含む<meta>タグを<head>セクション内に持つwebページです。これらのタグはオブジェクトのタイ
プ、オブジェクトの名前、その他の情報を含みます。たとえば、Stuffed
Cookieオブジェクトを料理アプリケーション用に作るのであれば、オブジェクトタイプに"recipe"を指定した<meta>を足しま
す。
Open Graph Mechanics
ユーザがアプリケーション内でアクションを起こすと(Stuffed
Cookieを料理するなど)、アプリケーションはGraph APIを呼んで新しい料理アクションを生成し、ユーザとStuffed
Cookieオブジェクトを結びつけます。これは、HTTP POSTリクエストでrecipeオブジェクトのURLを /me/myapp:cook コネクションに対して送ることで可能です。するとFacebookがオブジェクトURLをクロールし、メタデータを読み込み、そのアクションを通じてユーザのグラフとオブジェクトを紐づけます。
以下の略図がプロセスを示しています。
- ユーザが、"レシピ"を"料理する"などのアクションをアプリケーション上でとります
アプリケーションがGraph APIの/me/action:object=OBJECT_URL を呼び出します
- FacebookがオブジェクトURLをクロールし、メタタグを読み込んでオブジェクトとユーザのグラフを紐づけます
Social Channels
たった一つのAPIで、Open Graphのアクションは全てのSocial Channel.上に現れます。
News Feed and Ticker
アクションが公開されると、そのアクティビティはユーザのNews Feed、友だちのNews Feed、友だちのTickerに現れます。
Timeline
TimelineはFacebook上でのユーザのアイデンティティを表します。ユーザのTimelineは人生の中での重要な瞬間をハイライトし
ますし、アプリケーションはユーザTimelineの一部になれるのです。同様に、ファーストパーティのFacebookアプリケーションもユーザ
Timelineに現れますし、サードパーティのアプリケーションのReportsとAggregationsもTimelineとアイデンティティの一部となります。
Aggregations and Reports
AggregationsはOpen Graphアクティビティの要約で、ユーザとアプリケーションの係わり合いを、興味深く構造化された形でTimeline上に表示します。これをDev Appでカスタマイズし、サンプルデータを用いてプレビューすることも可能です。アプリケーションが複数のAggregationを定義する場合、Reportと いう形でTimeline上に表示されます。ReportはTimeline上のaggregationsの集合です。これはユーザがアクティビティを 行った期間に応じて表示されます。これにより、一貫性のある閲覧体験を実現し、ユーザがアプリケーションからの情報を消化するのを助けることができます。
Timeline Views
Timeline Viewsは、Timeline上にあるアプリケーション毎の表示です。ユーザがOpen Graphアプリケーションをインストールしてアクションを取ると、そのアプリケーションのViewが生成されてTimeline上部に表示されます。