今回は、アクティビティの送信の仕方。「アクティビティ」とは、OpenSocialアプリに対する、何らかのアクションのこと。例えば、mixiアプリでのアクティビティは、「マイミクシィ最新アプリ更新履歴」としてプロフィール画面に表示される。
マーケティング用語でいえば、バイラルマーケティングに有効な機能だ。さて、「ボタンを押したら"Hello!"というアクティビティを送信する」だけのシンプルなアプリだったら、以下のようになる。
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="ActivityTest">
<Require feature="opensocial-0.8"/>
</ModulePrefs>
<Content type="html">
<![CDATA[
<script type="text/javascript">
function submitActivity() {
var params = {};
params[opensocial.Activity.Field.TITLE] = "Hello!";
var activity = opensocial.newActivity(params);
opensocial.requestCreateActivity(activity, opensocial.CreateActivityPriority.HIGH, onResponse);
}
function onResponse(response) {
if (response.hadError()) {
alert(response.getErrorCode() + ":" + response.getErrorMessage());
} else {
alert("Success!");
}
}
</script>
<button onclick="submitActivity();">Say Hello!</button>
]]>
</Content>
</Module>
ボタンを押すと、submitActivity()関数が呼び出され、アクティビティの作成、送信が行われる。アクティビティを作成しているのが
var params = {};
params[opensocial.Activity.Field.TITLE] = "Hello!";
var activity = opensocial.newActivity(params);
の部分で、opensocial.newActivity()メソッドがアクティビティを作成している。このメソッドは引数を一つだけとり、アクティビティに関する各種パラメータを指定することができる。ここでは、アクティビティのタイトルを"Hello!"としたものを引数にとっている。
そして、
opensocial.requestCreateActivity(activity, opensocial.CreateActivityPriority.HIGH, onResponse);
で、アクティビティを実際に送信している。opensocial.requestCreateActivity()は3つの引数(アクティビティオブジェクト、優先度、コールバック関数)をとるが、mixiアプリでは「優先度」をサポートしていないようなので、第2引数はopensocial.CreateActivityPriority.HIGHとしておけばよいようだ。
あとは、コールバック関数onResponse(response)で、エラー処理をしている。responseは、opensocial.ResponseItemオブジェクトで、hadError()メソッドなどを用いることができる。
参考URL:
mixi Developer Center



0 コメント:
コメントを投稿