Tag Archive for opensocial.Activity

mixiアプリ入門(12) – 宛先指定のアクティビティ - mixiアプリ入門(12) – 宛先指定のアクティビティ -のはてなブックマーク被リンク数

こんにちは。
筋肉痛のせいでいつものバランスボールに乗って仕事ができないマイキーです :(

前回は画像付きのアクティビティの送信のしかたについてご紹介しました。
今回もアクティビティの送信シリーズで、宛先指定のアクティビティの送信のしかたをご紹介したいと思います。

アプリの更新情報の詳細を見ると「全ての情報」と「自分への情報」がありますが、宛先指定で送信されたアクティビティは、「自分への情報」に分類されます。
アプリ情報ボックス

「自分への情報」と分類されたアクティビティは、「!」のアイコンつきで一覧に表示されます。
自分への情報

「全ての情報」一覧やトップページの「アプリ更新情報」にもこのアイコンつきで表示されます。
なので宛先指定でアクティビティが送信されると、単純に・・・目立つ!!
画像付きも目立ちますが、ピンポイント指名で自分への情報とされたアクティビティも、ちょっと意味深で目立つと思いませんか?
ちなみに、宛先指定で送信したアクティビティは、他のマイミク(宛先指定されなかったマイミク)には通常のアクティビティとして表示されます。

そんな宛先指定のアクティビティの送信のしかたは、以下の通りです。

<?xml version=”1.0″ encoding=”UTF-8″?>

<Module>
<ModulePrefs title=”test” description=”piyo!”>
<Require feature=”opensocial-0.8″ />
<Require feature=”dynamic-height” />
</ModulePrefs>
<Content type=”html”><![CDATA[

<script type="text/javascript">
function postActivity(activity_msg) {
var params = {};
params[opensocial.Activity.Field.TITLE] = activity_msg;

var media = opensocial.newMediaItem(”image/gif”, “http://mixiap.info/image.gif”);
params[opensocial.Activity.Field.MEDIA_ITEMS] = [media];
// ココカラ追記
params[mixi.ActivityField.RECIPIENTS] = ['宛先のマイミクID'];
// ココまで
var activity = opensocial.newActivity(params);
opensocial.requestCreateActivity(
activity, opensocial.CreateActivityPriority.HIGH, activityResultCallback
);
}

function activityResultCallback(status) {
if (status.hadError()) {
alert(“Error Creating activity.”);
}else{
var body = document.getElementById(“activity_area”);
body.innerHTML = ‘お知らせしました。’;
}
}
</script>

<div id=”activity_area”>
みんなにお知らせする?<br />
<div>
<input type=”button” name=”button” id=”send_activity” value=”知らせる” onclick=”postActivity(‘アクティビティテスト!’)” />
</div>
</div>

]]></Content>
</Module>

アクティビティに宛先を指定するための修正・・・なんと 1 行!
画像よりかんたんですね〜 :)

なお、mixiアプリではアクティビティの宛先に 2 名まで指定することができます。

params[mixi.ActivityField.RECIPIENTS] = ['宛先のマイミクID1', '宛先のマイミクID2'];

配列にいれてこんなかんじ。

宛先指定してアクティビティを送信できるのは便利ですが、他のマイミクにも何を送信したかばれちゃうので、秘密の伝言の送信には向かなそうですね。笑
あとはやはりアプリ管理で「マイミクの情報を表示しない」と設定されてしまうと、例え宛先指定のアクティビティであれアプリの情報一覧に表示されない。。
悲しい。。 :cry:

やはりアクティビティの送信機能には、例え誰の目にも留まらなくてもめげない勇気が必要みたいですね!
それでは今回はこのへんで終了にして、次回もアクティビティの送信についての小ネタをご紹介したいと思います。

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

mixiアプリ入門(11) – 画像つきのアクティビティ - mixiアプリ入門(11) – 画像つきのアクティビティ -のはてなブックマーク被リンク数

Hi! マイキーです。
シルバーウィーク中にひいた風邪がなかなか治りません :(

前回はアクティビティの送信のしかたについてご紹介しましたが、今回も引き続きアクティビティの送信についてのご紹介です :)
今度は画像つきのアクティビティを送信してみましょう!

アクティビティの送信に使用するのは、前回同様 opensocial.Activity オブジェクトです。
画像つきのアクティビティを送信したい場合は、これと併せて
opensocial.MediaItem オブジェクトも生成します。
opensocial.MediaItem オブジェクト作成時の引数は、添付する画像の MIME Type と、画像の URL です。

<?xml version=”1.0″ encoding=”UTF-8″?>

<Module>
<ModulePrefs title=”test” description=”piyo!”>
<Require feature=”opensocial-0.8″ />
<Require feature=”dynamic-height” />
</ModulePrefs>
<Content type=”html”><![CDATA[

<script type="text/javascript">
function postActivity(activity_msg) {
var params = {};
params[opensocial.Activity.Field.TITLE] = activity_msg;
// ココカラ追記
var media = opensocial.newMediaItem(“image/gif”, “http://mixiap.info/image.gif”);
params[opensocial.Activity.Field.MEDIA_ITEMS] = [media];
// ココマデ
var activity = opensocial.newActivity(params);

opensocial.requestCreateActivity(
activity, opensocial.CreateActivityPriority.HIGH, activityResultCallback
);
}

function activityResultCallback(status) {
if (status.hadError()) {
alert(“Error Creating activity.”);
}else{
var body = document.getElementById(“activity_area”);
body.innerHTML = ‘お知らせしました。’;
}
}
</script>

<div id=”activity_area”>
みんなにお知らせする?<br />
<div>
<input type=”button” name=”button” id=”send_activity” value=”知らせる” onclick=”postActivity(‘アクティビティテスト!’)” />
</div>
</div>

]]></Content>
</Module>

アクティビティに一枚の画像をつけるための修正・・・なんと 2 行!
かんたんですね〜 :)

mixiアプリでは、1アクティビティあたり 3 枚まで画像をつけることができるそうです。
複数画像をつける場合は、以下のように配列に追加していきます。

var media1 = opensocial.newMediaItem(“image/gif”, “http://mixiap.info/image1.gif”);

var media2 = opensocial.newMediaItem(“image/jpg”, “http://mixiap.info/image2.jpg”);
var media3 = opensocial.newMediaItem(“image/gif”, “http://mixiap.info/image3.gif”); params[opensocial.Activity.Field.MEDIA_ITEMS] = [media1, media2, media3];

アクティビティにつけた画像はすべて 76px × 76px で表示されます。
マイキーはそれよりだいぶ大きいサイズの画像を試しに使用してみましたが、mixi側でよろしくリサイズしてくれました。
みなさまも画像つきアクティビティの送信で、マイミクに一目置かれるアクティビティを送信しちゃってください!

次回はマイミクにアクティビティでピンポイント攻撃する、宛先指定のアクティビティの送信のしかたをご紹介しようと思います :D

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

mixiアプリ入門(10) – アクティビティを送信してみる - mixiアプリ入門(10) – アクティビティを送信してみる -のはてなブックマーク被リンク数

ハロー!
パンプキンビスコのかぼちゃの味がけっこうリアルでびっくりしたマイキーです。
かぼちゃが好物です。

前回の入門で、アクティビティって何!という疑問を解決できたかたのために…

今回は、実際にアクティビティを送信する方法をご紹介します。
アプリ内のあるボタンを押すと、アクティビティが送信されるような仕組みを作ってみましょう。
以下にサンプルを記載します。

<?xml version=”1.0″ encoding=”UTF-8″?>

<Module>
<ModulePrefs title=”test” description=”piyo!”>
<Require feature=”opensocial-0.8″ />
<Require feature=”dynamic-height” />
</ModulePrefs>
<Content type=”html”><![CDATA[

<script type="text/javascript">
function postActivity(activity_msg) {
var params = {};
params[opensocial.Activity.Field.TITLE] = activity_msg;
var activity = opensocial.newActivity(params);
opensocial.requestCreateActivity(
activity, opensocial.CreateActivityPriority.HIGH, activityResultCallback
);
}

function activityResultCallback(status) {
if (status.hadError()) {
alert(“Error Creating activity.”);
}else{
var body = document.getElementById(“activity_area”);
body.innerHTML = ‘お知らせしました。’;
}
}
</script>

<div id=”activity_area”>
みんなにお知らせする?<br />
<div>
<input type=”button” name=”button” id=”send_activity” value=”知らせる” onclick=”postActivity(‘アクティビティテスト!’)” />
</div>
</div>

]]></Content>
</Module>

ついでにちょっと解説しちゃうよ!

「知らせる」ボタンを押すと postActivity() メソッドが呼び出され、マイミクへアクティビティが送信されます。
アクティビティにどのようなメッセージを表示させるかは、postActivity() メソッドを呼び出す際に指定できるようになっています。
サンプルでは、「アクティビティテスト!」というメッセージを指定していますね。

アクティビティを作成するには、opensocial.Activity オブジェクトを使用します。
アクティビティに表示させるメッセージは、opensocial.Activity.Field.TITLE にて指定し、オブジェクトに渡してあげます。

そしていよいよ opensocial.Activity オブジェクトをサーバにリクエストする際には、opensocial.requestCreateActivity() 関数を使用します。
requestCreateActivity() 関数の引数には、「作成した opensocial.Activity オブジェクト、アクティビティの作成に関する優先度、コールバック関数」を渡します。
ちなみに、上記の通り第二引数にアクティビティの優先度が指定できますが、まだmixiアプリではこの優先度はサポートされていないようです。…ということで、とりあえず HIGH を指定!

コールバック関数の中で、送信の可否をチェックしていますが、自分のアプリ管理の通知設定で「自分の更新情報をマイミクに通知しない」と設定してあると、送信に失敗します。
また、Viewer の手によってアクティビティは送信できないようなので、この場合も失敗します。(なので、Viewer の場合はアクティビティの送信処理を行わないような工夫をしたほうがいいですね。)

そして様々な困難を乗り越えてせっかくアクティビティが送信できても、マイミク側で通知設定を「マイミクの更新情報を通知しない」と設定してあると送信結果がマイミクのページに表示されません。
ちょっとかなしい。。泣

そんな悲しさにもめげず、次回もマイキーはアクティビティについてご紹介しちゃいます。
次は、画像つきアクティビティを送信してみる編ダヨ :)

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加