FacebookのGraph APIとJavaScriptライブラリー「jAction」を使ったFacebookモバイルアプリの作り方を解説する本連載。今回は、注目を集めるFacebookアプリの新機能「Open Graph」について紹介します。
あらゆる活動を共有する「Open Graph」と「いいね!」の違い
FacebookのOpen Graphとは、「映画を観た」「音楽を聴いた」「買い物をした」など、ユーザーのさまざまな活動(アクティビティ)を、Facebookのタイムライン上に共有する機能です。2012年1月の発表以来、海外のFacebookアプリを中心に導入が進んでおり、国内でも「Yahoo! ニュース」が導入したことで話題になりました。
Facebookで活動を共有する機能といえば、従来から「いいね!」ボタンがあります。いいね!ボタンの場合は「〇〇が△△をいいね!と言っています」といった具合に文言が決まっているのに対して、Open Graphを導入すると「〇〇が△△を□□しました」のように、行動を表す動詞の部分をアプリに適した単語にアプリ側でカスタマイズできます。
Open Graphでは、行動を表す動詞部分を「Action」と呼び、対象となるモノを表す名詞部分を「Object」と呼びます。
たとえば、本連載で前回作成した「ソーシャルブロック崩し」であれば、Actionを「Play」、Objectを「Game」に定義することで、ゲームをプレイするたびに「萩原伸悟がソーシャルブロック崩しでソーシャルゲームをプレイしました」とタイムラインに書き込めます。
Open Graphで共有された活動はFacebookのSocial Graphに蓄積されていくので、いいね! と同様にFacebookのインサイトで解析できます。下の画像は「ソーシャルブロック崩し」のインサイトの画面です。Open GraphのAction(この場合はPlay)をキーにして解析できるので、実際にゲームをプレイしたユーザーの年齢や性別、参照元を確認できます。
これがYahoo!ニュースのようなメディアサイトであれば、Actionを「Read」、Objectを「Article」にすることで、記事が閲覧されるたびに記事を自動的にタイムライン上に共有できるようになります。同時に、アプリの提供者側はどんなユーザーが記事を読んでいるかも解析できるわけです。