Open GraphBuilt-in Actionの一つとしてBuilt-in Likeが追加され、モバイルアプリでも簡単にいいね!ボタンを実装できるようになりましたが、これに合わせ、既存のいいね!ボタンの仕様にも変更があるため、アプリによっては大きな影響があります。


各変更の詳細は後述しますが、既存のいいね!に対する仕様変更で一番大きいと思うのは、いいね!されたウェブページを管理するためのFacebookページが作成されなくなる点です。これまでは、いいね!されたウェブページには管理者のみが閲覧できるFacebookページが与えられ、そのウォールへ書き込みを行うことで、いいね!したユーザのニュースフィードへ情報を流すことができました。Open Graph Protocolでは以下のように紹介されています。
Open Graphタグをwebページに含めることで、あなたのページはFacebook Pageと同等の物になります。つまり、ユーザがページ上のLikeボタンを押すと、ページとユーザの間にconnectionが作られます。ページはユーザプロフィールの"Likes and Interests"セクションに表示され、更新情報をユーザへ通知することが可能になります。
ただし、og:typeにarticleを指定したページは対象外という制限がありました。
一時的なコンテンツを象徴するURL(新着記事やブログ投稿、写真、動画など)はarticleを指定してください。websiteを指定してはいけませ ん。websiteやblogはサイト全体を象徴するようにデザインされていますので、og:typeにwebsiteやblogが指定されているページは、通常、ドメインのルート部分にのみ存在すべきです。
(中略)
Open Graph Protocolが実在するオブジェクトをサポートするようにデザインされていることを覚えておいてください。もしも対象URLがコンテンツの一部であるなら(たとえばニュース記事や写真、ビデオなど)、og:typeにはarticleを指定すべきです。articleが指定されたページは、実在するオ ブジェクトではないため先述の情報発信ができませんし、ユーザのプロフィールにも表示されません。
このため、サイトのトップページ(og:type website)をいいね!させることでユーザをこのウェブサイトのファンであると定義し、サイトの更新情報などをファンに対して通知するなどが可能でした。
この機能を利用し、ユーザがトピックを作成するとog:type websiteのページが作成され(このog:type指定の是非はともかく。。)、そこへ新規投稿があるといいね!したユーザのニュースフィードに通知が流れるという実装をした事もあったのですが、それができなくなります。(2012年8月15日追記:管理用のFacebookページを通常のFacebookページへと移行するオプションが追加されました。以下ドキュメント和訳に該当箇所を赤字で追記しています。
  • ユーザは自分の興味ある対象にいいね!する
  • 興味ある物事の最新情報は知りたいはず
という前提で機能してたんじゃないかと思うんですが、ちょっと寂しいですね。

仕様変更後のBuilt-in Likeといいね!ボタンの大まかな違いは以下の通りです。

Built-in Like:

  • 開発者が自由にボタンをデザインできる。
  • 実行にはユーザの認証が必要。

いいね!ボタン:

  • デザイン変更は規約上の制限がある。
  • ユーザの認証無しにも設置できる。
以下、Like button Migrationの和訳ですので、詳細はこちらを参照してください。
Open GraphのBuilt-in Likeアクションリリースに関連して、いいね!ボタンプラグインの仕様を変更します。仕様が完全に移行するまでの間、今後90日の猶予期間内に、開発者はこの移行をテストすることができます。

この移行により、以下の項目が変更されます。

  1. Open Graphオブジェクトに対してBuilt-in Likeアクションが実行できます。以前では不可能で、いいね!ボタンプラグインでのみ可能でした。
  2. 今後、いいね!ボタンをクリックするとBuilt-in Likeアクションが投稿されるようになりますが、ソーシャルプラグインの場合、Auth Dialogを通じてpublish_actionsパーミッションを得る必要がありません。
  3. Open Graphオブジェクトに対して割り当てられていたFacebook管理ページは生成されなくなります。
  4. 管理ページの廃止に伴い、そのOpen Graphオブジェクトをいいね!したユーザに対して告知をすることもできなくなります。REST APIの同等機能も廃止されます。
  5. 既存の管理ページはFacebookページへと移行することができ、このページを通じて今後も更新通知を送ることができるようになります。この方法については後述します。
  6. 管理ページによっていいね!ボタンに年齢制限を付けていた場合は、Object-Level Restrictionsに従ってOpen Graphオブジェクトのog:restrictions:ageメタタグを埋め込むようにしてください。


Preparing for the Migration

いいね!ボタンプラグインを利用しているサイトであれば、移行に際して以下の対応をすべきです。

  1. いいね!ボタンを設置する全Open Graphオブジェクトページは、fb:app_idメタタグをしてください。fb:app_idが無い場合でもいいね!ボタンは機能し続けますが、 app_idを指定する事によって前もって移行をテストする事が可能になります(訳注:移行の猶予期間中は、アプリの管理画面の設定で移行のOn/Off が設定できるので、app_idを埋め込んでアプリといいね!ボタンを紐づける必要がある)
  2. fb:app_idは、紐づいている特定のウェブサイトや製品のアプリケーションIDでなくてはなりません。

いいね!ボタンを持つそれぞれのOpen Graphオブジェクトページは、以下のOpen Graphマークアップが必要になります。

<meta property="fb:app_id" content="[FB App ID]" />

まだ管理ページからの告知機能を利用したい開発者は、以下のタグを含むようにしてください。

<meta property="fb:app_id" content="[FB App ID]" />
<meta property="fb:admins" content="[FB UIDs of FB App Admins]" />

これにより、Open Graphオブジェクトページに管理ページへのリンクが表示されます。いいね!ボタンに紐づく管理ページへのアクセスは、ここからでも可能です。

その後、サイトや製品を表すFacebookページを別個に作成してください。それから既存の管理ページにウォール投稿し、新しく作ったFacebook ページをいいね!するようユーザに働きかけます。これにより、いいね!の移行完了後も新規Facebookページを通じてユーザとコミュニケーションを取る事ができます。もしくは、既存の管理ページをFacebookページへと移行することも可能ですので、その方法は後述します。

管理ページを通じてユーザ制限を設けていた場合は、Object-Level RestrictionsメタタグをOpen Graphオブジェクトに埋め込んで対応してください。これらのメタタグは年齢、国籍、content-typeを基にして、対象ユーザへのいいね!ボタン閲覧の可否、ニュースフィード投稿閲覧の可否をコントロールします。

既存のいいね!ボタンのカウントが変わる事はなく、ここまでで紹介された変更以外の点で影響を受ける事はありません。


Testing the Migration

90日間の猶予期間内にこの移行をテストするには、まずいいね!ボタンを配置している全Open Grpahオブジェクトのページでfb:app_idメタタグを指定しなくてはなりません。これまでfb:app_idメタタグを設置していなかった Open Graphオブジェクトページに関しては、scrapper APIを使って再度Facebookにスクレイピングさせる必要があります。

それが完了したら、アプリの管理画面へ行き、Settings > AdvancedセクションのMigrationsにある"External Page Migration"を設定します。

LikeButtonMigrationSetting

この"External Page Migration"は、すでにいいね!ボタンが設置されている場合はデフォルトでDisabledになっています。ここをEnabledに変更することで上記で説明した変更点を有効にできます。猶予期間内であれば何度でもEnabled / Disabledを切り替えることが可能です。


Converting an Admin Page to a Facebook Page

移行後は、いいね!ボタン用の既存の管理ページは廃止され、いいね!したユーザへの更新通知目的での利用ができなくなります。また、REST APIのエンドポイントも同様に廃止されます。

そのかわり、移行期間中であれば既存の管理ページはFacebookページへと移行可能で、これまでのいいね!の数も新しいFacebookページへと引き継がれます。また、いいね!ボタンの向き先もこちらへと変わります。

管理ページをFacebookページへと移行する手順は以下の通りです。

  1. アプリの設定画面で"External Page Migration"を有効にする
  2. https://www.facebook.com/bookmarks/pagesにアクセスして管理ページを選択する
  3. 管理ページへ遷移したら、"Migrate Your Page"というタイトルで下のキャプチャのように表示される部分に注意してください。ここの"Migrate Page"を選択することで、既存の管理ページをFacebookページへと移行できます。

Migration_Banner


確認用ダイアログが以下のように表示され、移行完了後に行うことのレコメンドが表示されます。

Post-Convert

Facebookページへの移行が完了したら、それを正しく設定する為に以下のステップを踏むべきです。

  • 既存のいいね!ボタンのhref値をFacebookページのものに置き換える
  • 適切なページ名、カバー画像、プロフィール画像を設定する
  • ページの独自URLを設定する。詳細はこちらを参照してください。

Migration-Complete