ソーシャル データハブについて
ソーシャル データハブは、無料のプラットフォームです。このプラットフォームを利用して、ソーシャル ネットワークやその他のソーシャル プラットフォームのアクティビティ ストリーム(「+1」、投票、コメントなど)を Google アナリティクスに統合することができます。
統合を行うには、ご自身のソーシャル ネットワークやソーシャル プラットフォームのアクティビティをグローバルなアクティビティ ストリーム フィードにして公開します。さらに、このフィードをソーシャル データハブに配信する必要があります。お客様と Google のリソースの負荷を最小限に抑えるために、PubSubHubbub(PSHB)プロトコルを介して「プッシュベース」のメカニズムを実装することをおすすめします。
統合を行うための条件
ソーシャル ネットワークをアナリティクスに統合するためには、以下の条件を満たしている必要があります。
- ソーシャル ネットワークまたはソーシャル プラットフォームを運営している。たとえば、ソーシャル ネットワーク、ソーシャル ブックマーク、ブログ プラットフォーム、ソーシャル ニュースなどです。
- ソーシャル データ、または、ソーシャル データを Google と共有する法的権利のいずれか、あるいはその両方を有している。
仕組み
ほとんどのソーシャル ネットワークでは、既に API を使用してデータが一般に公開されており、その運営者はネットワークのメンバーの活動や価値を把握したいと考えています。Google アナリティクスを使用することで、多くのマーケティング担当者やサイト運営者が、自社のビジネスに対するソーシャル アクティビティの影響を把握するためにソーシャル データを活用できるようになります。Google とソーシャル データ プロバイダ(SDP)の統合のために必要な手順と要件は次のとおりです。
- SDP はソーシャル データ、または、ソーシャル データを Google と共有する法的権利のいずれか、あるいはその両方を有している。
- SDP は、ソーシャル ネットワークやソーシャル プラットフォームのソーシャル アクティビティを、グローバルな Atom / RSS 形式のアクティビティ ストリーム フィードとして公開し、PubSubHubbub を介してそれを配信します。
- SDP がソーシャル データハブとの統合を行う場合、お申し込みをしていただく必要があります。
- Google によるお申し込みの内容が審査されます。
- SDP は利用規約に合意する必要があります。
- Google がソーシャル データハブとの統合に関する技術的詳細を SDP に送信します。
- 統合が完了すると、SPD のアクティビティ ストリームに送信されたアクティビティはすべてソーシャル データハブにプッシュされます。
Google アナリティクスによるデータの使用方法
アナリティクスでは、ソーシャル レポート機能が提供されます。これにより、マーケティング担当者やサイト運営者は、コンテンツがサイト以外の場所でどのように共有され、利用されているかを知ることができます。たとえば、マーケティング担当者は、投票、コメント、共有などのソーシャル アクションを具体的に把握することで、こうしたソーシャル アクティビティを逆にエンゲージメントやコンバージョンへとつなげるヒントを入手します。ソーシャル データハブは、こうした Google アナリティクス レポートに使用するデータを提供する拠点となります。
Google のソーシャル データハブと統合するメリット
現在、一流の広告主やマーケティング担当者にとって、ソーシャル サービスはとても重要なチャネルとなっています。これは、ソーシャル ネットワークの運営者やソーシャル コンテンツを扱うサイト運営者の方にとって、広告主やマーケティング担当者とのビジネスを成功させるまたとないチャンスです。
ただし、広告主やマーケティング担当者が興味を示すのは、データの可視性と透明性を提供するネットワークだけです。Google は、ソーシャル サービススペースを利用するすべてのユーザーに、広告主に自身のトラフィックの価値を示す機会が与えられるべきだと考えています。
そこで、すべてのソーシャル ネットワークやサイト運営者の方にご利用いただけるソーシャル データハブをご用意いたしました。ソーシャル データハブはセキュリティで保護された無料のオープン プラットフォームで、このプラットフォームとソーシャル データをどなたでも統合することができます。データは、一流の広告主やマーケティング担当者によって採用されている洗練されたソーシャル分析ツールによって処理されます。
関連情報
アクティビティ ストリームを Google アナリティクスのソーシャル データハブに組み込む際には、次の資料を参照してください。
- 概要 - ソーシャル データハブの情報およびアクティビティ ストリーム と PubSubHubbub プロトコルの基本について説明しています。
- スタートガイド - スタートガイド セクションでは、アクティビティ ストリームのフォーマット要件や、PubSubHubbub を介して新しいアクティビティを配信する方法について解説しています。
- お申し込み - このフォームに入力いただいた企業とそのご担当者についての情報を基に、ソーシャル データハブを使用する要件をすべて満たしているかどうか確認します。
アクティビティ ストリーム
ソーシャル データハブとの統合を行うには、ソーシャル ネットワークやプラットフォームのソーシャル アクティビティをグローバルな Atom / RSS 形式のアクティビティ ストリーム フィードとして公開し、PubSubHubbub を介して配信する必要があります。
最もシンプルな書式では、1 つのアクティビティにアクションの actor、verb、object が含まれ、ユーザーが誰かに対して、あるいは誰かとアクションを実行したという内容を表します。たとえば、「山本さんが写真を投稿しました」や「辻本さんが動画を共有しました」というアクティビティです。ほとんどの場合、これらの要素は明示的に示されますが、ときには暗示的な表現が使用されることもあります。
アクティビティ ストリームの仕様書では、社会的に関心の高いイベント、または個人が興味を持ちそうな人々や物事に関する「アクティビティ」の形式が定義されています。ソーシャル データハブに対して、Atom / RSS 形式のアクティビティ ストリーム フィードを配信する必要があります。この仕様の詳細については、以下のリンク先を参照してください。
実装の例
PubSubHubbub プロトコル
ソーシャル データハブとの統合を行うには、ソーシャル ネットワークやプラットフォームのソーシャル アクティビティをグローバルな Atom / RSS 形式のアクティビティ ストリーム フィードとして公開し、PubSubHubbub を介して配信する必要があります。
PubSubHubbub(PSHB)は、Atom と RSS の拡張機能で、ウェブフック技術に基づくサーバー間のオープンな pubsub(公開 / 購読)プロトコルです。PubSubHubbub プロトコルで通信するグループ(サーバー)は、関連するトピック(フィード URL)が更新されたときに、(WebHook コールバックにより)ほぼ同時に通知を受け取ることができます。
詳細については、pubsubhubbub をお読みください。
Atom / RSS 形式のグローバルなアクティビティ ストリーム フィードを PSHB プロトコルと組み合わせることにより、お客様のサービスから新規にユーザーが生成したアクティビティを、ほぼ瞬時に Google のソーシャル データハブに通知することが可能になります。
PubSubHubbub と Atom / RSS 形式のアクティビティ ストリーム フィードを組み合わせて使用するために、以下の手順を実行してください。
- アクティビティ ストリーム フィードは、HTML ページで自動的に検出されます。
例:<link rel="alternate" type="application/atom+xml" href="http://profile.typepad.com/apparentlymart/activity/atom.xml" title="Martin’s activity feed" />
- アクティビティ ストリーム フィードには、選択した PSHB ハブへのリンクが含まれます。
詳細については、Discovery(検出) を参照してください。j - フィードが更新されると、通知が PHSB ハブに送信されます。
New Content Notification(新規コンテンツの通知)を参照してください。
上記の手順を実行すると、Google はお客様のアクティビティ ストリーム フィードを購読して、選択した PSHB ハブ経由でほぼリアルタイムの通知を受け取ることができます。
はじめに
このドキュメントは、ご自身のソーシャル データを Google のソーシャル データハブに統合することを検討している開発者の方を対象としています。ソーシャル データハブの利用要件、アクティビティ ストリーム、PubSubHubbub プロトコルについての詳細は、概要ガイドをご覧ください。
このガイドでは以下の手順を説明します。
- 要件に合わせてアクティビティ ストリームを準備する。
- PubSubHubub の配信要件を理解する。
アクティビティ ストリームの要件
ソーシャル データハブは、ソーシャル ネットワークやソーシャル プラットフォームのグローバル アクティビティを、Atom / RSS 形式のアクティビティ ストリーム フィードとして受け取ります。
次の情報を、アクティビティ ストリームの更新のたびに示す必要があります。
- アクター(actor)
- ユーザー名またはスクリーン名
- 表示名: ユーザーのフルネーム(該当する場合)
- 作成者のプロフィールの URL(該当する場合)
- 作成者のプロフィール写真の URL(該当する場合)
- オブジェクト(object)
- 更新テキスト: テキストまたは更新する実際のコンテンツの (x)html
- permalink: 更新を一意に識別する URL
- 動詞(verb): イベントの種類(投稿、お気に入り、コメントなど)
- 公開日: 更新が作成された日
- プロバイダ: ネットワークの名前
- その他のメタデータ(地域やフォロワー数など)
アクティビティ ストリーム フィードの例:
http://profile.typepad.com/markpasc/activity/atom.xml
地域やフォロワー数など、その他のメタデータは、ネットワークとアクティビティの表記規則に従って提供されます。
PSHB を介したアクティビティ ストリームの配信
ソーシャル データ プロバイダとして認証された後、ソーシャル データハブへのデータのプッシュを開始することができます。
ユーザーごとの各アクティビティ ストリーム フィードを個別に購読するとリソースへの負荷が大きいため、代わりに「プッシュベース」のメカニズムを実装することをおすすめします。
Google のパブリックハブは、以下を含むカスタムな「firehose の通知エンドポイント」を提供します。
- 仮想の公開エンドポイント
例:http://pshbsubber.appspot.com/sub/custom_name
- 共有秘密キー。共有秘密キーは、簡易な検証の目的で Google とお客様のネットワークの間に設定されます。
仮想の公開エンドポイントと共有秘密キーを使う場合、常に以下に注意してください。
- ソーシャル ネットワーク / プラットフォームで新規アクティビティが生成されると、「fat ping」(アクティビティ ストリーム用にフォーマットされた Atom Blob を含む通知 ping)が公開エンドポイントに送信されます。
- POST http://pshbsubber.appspot.com/sub/custom_name
- BODY:
<atom formatted Activity Stream feed>
- 注: 1 つの ping で複数のアクティビティ エントリを送信することができます。
- POST リクエストには、X-Hub-Signature ヘッダーも含める必要があります。ヘッダーの値は、同意済みの共有秘密キー(簡易検証用)で署名した POST 本文の
SHA-1 message digest
です。
「fat ping」の例:
POST http://pshbsubber.appspot.com/sub/custom_name X-Hub-Signature: sha1=secret_checksum <feed xmlns="http://www.w3.org/2005/Atom" xmlns:activity="http://activitystrea.ms/spec/1.0/"> <id>http://youtube.com/activity_stream</id> <title>YouTube Activity Stream</title> <published>2012-06-19T14:00:00Z</published> <updated>2012-06-19T14:00:00Z</updated> <author> <name>YouTube</name> <uri>http://youtube.com/</uri> </author> <entry> <id>http://youtube.com/watch?v=12345#comment-001</id> <link rel="alternate" type="text/html" href="http://youtube.com/watch?v=12345#comment-001"/> <title type="text">Edgar posted a comment</title> <published>2012-06-19T14:00:00Z</published> <content type="html"><![CDATA[Check out <a href='http://google.com/'>Google</a>"]]></content> <author> <id>http://youtube.com/edgar</id> <uri>http://youtube.com/edgar</uri> <name>Edgar</name> <activity:object-type>person</activity:object-type> <link rel="alternate" type="text/html" href="http://youtube.com/edgar"/> <link rel="preview" type="image/jpeg" href="http://youtube.com/avatars/3053/iamedgar_large.jpeg"/> </author> <activity:verb>comment</activity:verb> <activity:object> <id>http://youtube.com/watch?v=12345#comment-001</id> <title type="text">Edgar posted a comment</title> <published>2012-06-19T14:00:00Z</published> <activity:object-type>comment</activity:object-type> <link rel="alternate" type="text/html" href="http://youtube.com/watch?v=12345#comment-001"/> <content type="html"><![CDATA[Check out <a href='http://google.com/'>Google</a>"]]></content> </activity:object> </entry> </feed>