ハロー!
パンプキンビスコのかぼちゃの味がけっこうリアルでびっくりしたマイキーです。
かぼちゃが好物です。
前回の入門で、アクティビティって何!という疑問を解決できたかたのために…
今回は、実際にアクティビティを送信する方法をご紹介します。
アプリ内のあるボタンを押すと、アクティビティが送信されるような仕組みを作ってみましょう。
以下にサンプルを記載します。
<?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.