OpenSocialを利用してガジェットを作ろう!

第7回 アクティビティストリームの活用

この記事を読むのに必要な時間:およそ 2.5 分

アクティビティストリームとは何か

OpenSocialを構成する要素として,アクティビティストリームは欠かせない存在です。なぜなら,アクティビティストリームこそ,ソーシャルグラフの存在意義を最も感じられる機能のひとつだからです。

アクティビティストリームとは,自分と繋がる様々な人たち(ソーシャルグラフ)の行動履歴を追跡できる,Twitterでいうタイムラインのようなものです。このタイムラインに,誰と誰が友達になったか,どんなブログを書いたのか,何をブックマークしたのか,などの情報が集約して表示されます。

gooホームのアクティビティストリームでは,アイコンやデザインの変更といったgooホーム上でのアクティビティに加え,Twitterやはてなブックマークといった外部サービスでのアクティビティ,そして今回のテーマであるガジェットからのアクティビティをまとめて表示することができます。

図1 ガジェット上でアクティビティをまとめて表示

図1 ガジェット上でアクティビティをまとめて表示

アクティビティストリームは友達の最新情報を追跡できるという便利な側面だけでなく,ガジェットディベロッパーにとっては,これによるバイラル効果,つまりクチコミ効果を期待することができます。アクティビティストリームを上手に活用し,あなたのガジェットをたくさんの人に使ってもらいましょう。

アクティビティを作成する

まずは,アクティビティストリームに追加するアクティビティを作成します。

リスト1

var params = {};

params[opensocial.Activity.Field.TITLE] = 'アクティビティテスト';

var act = opensocial.newActivity(params);

ご覧の通り,必要なパラメータを指定したオブジェクトをopensocial.newActivity()メソッドの引数として渡すだけで完成です。gooホームで指定できるアクティビティのパラメータは以下のとおりです。

opensocial.Activity.Field.~意味表現形式
TITLEアクティビティ件名(必須)文字列
BODYアクティビティ本文文字列
MEDIA_ITEMS添付するメディアopensocial.MediaItemの配列

アクティビティの件名や本文にはHTMLタグを利用することができます。gooホームで利用できるタグはb, i, a, span, a@hrefです。他のタグやスクリプト等は保存時に取り除かれます。

アクティビティに画像を添付する

上記で説明したアクティビティ作成時に指定できるパラメータのひとつにメディアの添付があります。アクティビティに画像等を添付すれば,内容をビジュアル化することができ,より高いバイラル効果を期待することができるでしょう。

リスト2

var opt_params = {};
opt_params[opensocial.MediaItem.Field.TYPE] = opensocial.MediaItem.Type.IMAGE;
var mediaItem = opensocial.newMediaItem(
    'image/gif',
    'http://home.goo.ne.jp/img/noimage180_p.gif',
    opt_params
);

var params = {};

params[opensocial.Activity.Field.TITLE] = 'アクティビティテスト';

params[opensocial.Activity.Field.MEDIA_ITEMS] = [mediaItem];

var act = opensocial.newActivity(params);

メディアアイテムはオプションパラメータでタイプ(画像,映像,音声)を指定し,MIMEタイプ,URL,オプションパラメータを引数として作成します。添付といっても,ファイルをアップロードする訳ではなく,リソースのURLを指定するだけですので,ご注意ください。作成したメディアアイテムは,アクティビティのパラメータに配列として追加します。

opensocial.MediaItem.Type.~意味
AUDIO音声
IMAGE画像
VIDEO映像

なお,gooホームでは画像,映像,音声の各種メディアを添付することができますが,実際にアクティビティストリームに表示されるのは画像のサムネールのみです。

著者プロフィール

北村英志(きたむらえいじ)

NTTレゾナントでgooのソーシャル化にコンセプトから携わる。OpenSocial対応に当たっては, OpenSocialCommunityへの仕様提案だけでなく,Shindigへのコード提供も行っている。Google API Expert(OpenSocial)。SocialWeb Japan主催。

URLhttp://devlog.agektmr.com/

コメント

コメントの記入