アクティビティストリームとは何か
OpenSocialを構成する要素として,アクティビティストリームは欠かせない存在です。なぜなら,アクティビティストリームこそ,ソーシャルグラフの存在意義を最も感じられる機能のひとつだからです。
アクティビティストリームとは,自分と繋がる様々な人たち(ソーシャルグラフ)の行動履歴を追跡できる,Twitterでいうタイムラインのようなものです。このタイムラインに,誰と誰が友達になったか,どんなブログを書いたのか,何をブックマークしたのか,などの情報が集約して表示されます。
gooホームのアクティビティストリームでは,アイコンやデザインの変更といったgooホーム上でのアクティビティに加え,Twitterやはてなブックマークといった外部サービスでのアクティビティ,そして今回のテーマであるガジェットからのアクティビティをまとめて表示することができます。
アクティビティストリームは友達の最新情報を追跡できるという便利な側面だけでなく,ガジェットディベロッパーにとっては,これによるバイラル効果,つまりクチコミ効果を期待することができます。アクティビティストリームを上手に活用し,あなたのガジェットをたくさんの人に使ってもらいましょう。
アクティビティを作成する
まずは,アクティビティストリームに追加するアクティビティを作成します。
リスト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ホームでは画像,映像,音声の各種メディアを添付することができますが,実際にアクティビティストリームに表示されるのは画像のサムネールのみです。

