飴屋

mixiアプリ / 日記10

日本はソーシャルアプリ黎明期

http://developer.mixi.co.jp/category/news/feed/atom

上記のURLはmixi Developer CenterのRSSフィードです。mixiアプリ開発者の方ならRSSリーダーに登録しておくと、仕様の変更などを先行して知ることができて助かることと思います。さて、mixiアプリの開発を始めてから、このRSSでは随分といろんな項目について仕様の変更が通知されてきました。特にアクティビティの送信制限、アプリ内広告や課金についての事前許諾など、規制が強くなってきたように感じます。これはmixiのユーザを保護するために必要な措置でもあり、またmixiのアプリのコントロール権限を強めるという意味も持っています。開発者側の目線では、自由度と責任はセットでついてくることを意識せざるをえません。

このようにmixiは先行してソーシャルアプリの親元として、運営のノウハウを蓄積し、改善を重ねています。そして、モバゲーやGREEといった後発のソーシャルアプリ提供者との間にアドバンテージを築いていると思います。私の希望としては、せっかくなので日記やボイスの投稿APIを拡充して、mixiの強みを活かしていってほしいです。

アプリに招待する

さて、今回は既存のアプリユーザが、自分のアプリをマイミクに紹介するというソーシャルアプリの肝のうちの一つについて書こうと思います。口コミでユーザを広げていくというソーシャルアプリは、この「招待」という機能いかんによって随分と変わってくると思います。

opensocial.requestShareApp("VIEWER_FRIENDS", null, function(response) {
// 招待完了後の処理
if (response.hadError()) {
var errCode = response.getErrorCode();
// エラー処理
} else {
// 招待完了時の処理(招待相手のID(recipientIds)を取得できます)
var recipientIds = response.getData()["recipientIds"];
var req = opensocial.newDataRequest();
req.add(req.newFetchPersonRequest(recipientIds), "invited");
req.send(function(data) {
var viewer = data.get("invited").getData();
var name = viewer.getDisplayName();
alert(name+'さんを招待しました。');
});
}
});

opensocial.requestShareAppというのが、マイミクを招待するメソッドになります。このメソッドが呼び出されると、予めmixi側で用意された自分のマイミクの一覧を表示するダイアログが表示されます。ここでユーザは招待するマイミクを選択して、ボタン一つで招待が完了することになります。自分でマイミクの一覧を表示する必要がないので、お手軽ではあります。

ただ、アプリには独自にマイミク一覧を画面上に描画するものも多いと思いますので、その一覧からダイレクトに招待状が送れたら、招待までのワンステップを省略できていいなと思っている開発者もいらっしゃるのではないでしょうか。現在mixiで公開されている情報を見る限り、opensocial.requestShareAppの引数には、「どの範囲から招待相手を選ぶか」「招待の後に何をするか」という点しか指定できませんし、招待相手の範囲は「ユーザのマイミク(VIEWER_FRIENDS)」に限定されているため、招待戦略に工夫の余地が少なくなっています。そこで、多くのアプリでは「招待」行為の報酬として豪華なゲーム内プレゼントを用意するケースが多いのですが、「マイミクが少ない人に不利」「迷惑な招待が横行する」というユーザの反応も多く見受けられます。特にゲーム内の重要なアイテムを招待の報酬にしてしまうと、ゲーム自体のバランスを崩しかねないので、よくよく考えた方がよいと思います。「みんなの動物広場」のハンマーが、私にどれだけの不条理を感じさせたことか・・・。

opensocial.requestShareAppメソッドの第三引数に指定した関数は、招待が完了した後に招待した相手のID情報とともに呼び出されます。上のサンプルでは、そのID情報(recipientIds)を使って、招待した相手の名前を調べ、alert文で表示しています。招待に対する報酬を与える処理はこのID情報を使って行うことができます。

それとは別に、招待した相手が実際にアプリを登録したときに初めて報酬を与えるという方がよく使われていると思います。こちらは、アプリのライフサイクルイベントというのを使って実装することになると思います。が、このイベント自体の改ざん行為などが想定され、またそれ対する対処法(署名)などは話が長くなるので、今回は記事にしません。っていうか、自分のアプリについていない機能なので、まだ詳しくお話できません。

過剰な招待は、する方も負担だし、される方も迷惑なので、もっと自然に招待したくなるような仕組みを探りたいところです。順位を争うゲームには、招待報酬がすごくて、マイミクの多さがものをいうものもありそうなので、そうなってしまうと私はしり込みしちゃいます。「招待してくれてありがとう」という言葉が一番の報酬になるように・・・なったらいいですが、なかなか難しいですね。

日記一覧

Last-Modified