ニュース » mixiアプリ » Activity APIの仕様変更に関するお知らせ
Activity APIの仕様変更に関するお知らせ
2010.03.15 mixiアプリ
mixiアプリ(PC版, モバイル版)のActivity APIに関して、一部仕様変更を行いますので、事前にお知らせ致します。
現在、mixiアプリからAPIを利用して投稿されたアクティビティフィードは、投稿ユーザの友人のhome.plページ(ログイン後のトップページ)に掲載されていました。
今回の仕様変更に伴い、アクティビティフィードを以下の2種類に分割いたします。
- アクティビティフィード(従来と同様)
- コミュニケーションフィード(弊社が用意したダイアログによりユーザが明示的に投稿を許可した場合にのみ投稿される)
コミュニケーションフィードは、アプリ上の行動を友人に共有する機能について現在のアクティビティフィードより効果を高めるために導入されます。
具体的には、
- ユーザーが自分の意思で行動を共有させる仕組みにより、コミュニケーション要素を高める。
- 受け取った友人が、そのコミュニケーション要素に反応してクリックを促進させることで、アプリへの回遊を喚起する。
ということを目的としています。
以下の点を考慮の上、提供するアプリへの実装をご検討ください。
◆基本的な利用イメージ
利用者がアプリ上の行動や感情を友人に伝えたいと思えるような場合に使ってください。
例えば、
- ユーザーがアプリを操作しているときに、
- 自慢したい結果が出た
- ふざけた行動をした
- よくある失敗をした
- 援助が必要な状況になった
- 淋しい状況になった
- etc
- ユーザーがアプリ上で友人に対して
- 手伝ってあげた
- いたずらした
- コメントをした
- プレゼントをあげた
- プレゼントをもらった
- etc
- その他
- アプリを利用する上で、友人全員に通知をする意味があるイベント等
- アプリを利用した結果を、ユーザーが友人全員に伝えたいと思えるシーン等
ユーザー自身で完結する、感情を伴わない定型的な動作については従来のアクティビティフィードを利用することが望まれます。
◆効果的なフィード文言を利用する
コミュニケーションフィードの文言は定型文より、何かしらの編集要素が入っている方が、ユーザーに変化を伝えやすく、より高い訴求効果が期待できます。
例)
「AさんがBさんにプレゼントをあげました」
という定型文より
「AさんがBさんに綺麗な花束をあげました」
「AさんがBさんにウーロン茶をあげました」
などと、変数を用いてフィード文言に変化を与えた方がより高い訴求力が期待できます。
もしくは、mixi日記のタイトルの様に、ユーザー自身が編集した文言をフィード内容に用いる場合なども高い訴求効果が期待できます。
◆コミュニケーションフィードで指定するリンク先はアプリとする。
コミュニケーションフィードを受け取った友人がクリックして遷移する先にも細心の注意が必要です。
アプリ起動後のトップページよりは、コミュニケーションフィードの内容に沿って動的に生成された画面が表示されるようにすることで、その友人に成功体験を提供できますので、よりアプリに対するロイヤリティが向上します。
◆頻繁に利用しないこと
コミュニケーションフィードは、ユーザーに毎回確認画面を出すため、頻繁に利用してしまうとユーザーに対して煩わしさを感じさせることになり、離反を誘引します。前述した効果的なタイミング、シーンに活用することが必要です。逆に上手なタイミングで出すことによりアプリの利用活性化につながるでしょう。
ユーザーがアプリ上で繰り返し何度も行うアクションについてはコミュニケーションフィードは使わず従来のアクティビティフィードを利用してください。
この仕様変更のリリース日に関しては現在調整中ですが、
早急に行いたいと思っていますので、対応のほどよろしくお願い致します。
変更の詳細仕様に関しては以下をご参照ください。
Activity APIの仕様変更に関するお知らせ
mixiアプリにてご提供しております、アクティビティフィード投稿用のAPIである「Activity API」について、この度仕様変更を行うこととなりましたので、その内容および移行のための手順をお知らせいたします。
対象となるAPI
今回の仕様変更の影響を受けることになるAPIは、以下となります。
- PCアプリ向けAPI – opensocial.requestCreateActivity()関数(JavaScript API)
- モバイル向けAPI – POST /activities(RESTful API)
また、モバイル向けAPIとして、新規にAPIが追加となります。
変更概要
今までご提供してきた機能として、mixiアプリからAPIを利用して投稿されたアクティビティフィードは、投稿ユーザの友人のhome.plページ(ログイン後のトップページ)に掲載されていました。投稿時の制限(1分に1回まで、単位時間内で最後の投稿が表示される、など)が行われていましたが、基本的に全ての投稿内容がユーザの目に触れる状態となっていました。
今回の仕様変更に伴い、アクティビティフィードを以下の2種類に分割いたします。
種類 | 投稿条件 | 表示場所 |
---|---|---|
アクティビティフィード | 従来と同様 | new_appli.pl list_appli_activity.pl |
コミュニケーションフィード | ユーザが明示的に投稿を許可した場合にのみ投稿される | home.pl new_appli.pl list_appli_activity.pl |
コミュニケーションフィードの投稿を行うためのAPIを呼び出した際に、そのまま投稿されるのではなく、ユーザに投稿を行ってよいかどうかを問い合わせるダイアログウィンドウが、mixi.jpあるいはm.mixi.jp側にて表示されます。そこでユーザが許可を行った場合にのみ、コミュニケーションフィードは投稿されます。その結果、投稿されたコミュニケーションフィードは、友人のhome.plにて表示されます。
これに対して、従来のアクティビティフィードは、今までどおりの動作となります。APIの呼び出しに伴うユーザへの問い合わせ表示などは行われませんが、これによる投稿ではhome.plページに表示されることはありません。
各mixiアプリについて、コミュニケーションフィードおよびアクティビティフィードの出し分けをするために、それぞれ異なるAPIの呼び出し方を行っていただくことになります。
アクティビティとして与えられる情報(文字列、画像3枚まで、URL、宛先指定)に関しては、コミュニケーションフィードおよびアクティビティフィード共に同じものが利用可能です。
従来よりアクティビティの投稿に関して一定の制限を設けていましたが、アクティビティフィードの投稿に関しては変更はありません。コミュニケーションフィードに関しては、1分間に1回までという制限を行います。
PC向けActivity API
PC向けActivity APIについて、以下に変更点などを示します。
従来のAPI
今までのPC向けActivity API(JavaScript API)は、以下のドキュメントで説明されているものとなります。
「アクティビティを送信してみよう」
http://developer.mixi.co.jp/appli/spec/pc/send_activity
特にアクティビティの投稿を実際にmixiサーバに依頼するためのopensocial.requestCreateActivity()関数は、以下のような使用例となります。
var activity = ...; // opensocial.Activityオブジェクト opensocial.requestCreateActivity( activity, opensocial.CreateActivityPriority.HIGH, function(response) { // 投稿後の処理 });
requestCreateActivity()関数の第2引数に関しては、OpenSocial JavaScript APIで規定された2つの定数(HIGHまたはLOW)のどちらを指定しても、処理結果は同じです。
仕様変更後のAPIの利用方法
仕様変更後は、requestCreateActivity()関数の第2引数の指定によって、コミュニケーションフィードもしくはアクティビティフィードのどちらを投稿するかをmixiアプリ側で指定することになります。第2引数に指定可能な定数およびその意味は、以下となります。
定数 | 意味 |
---|---|
opensocial.CreateActivityPriority.HIGH | コミュニケーションフィードの投稿 |
opensocial.CreateActivityPriority.LOW | アクティビティフィードの投稿 |
第2引数の定数の使い分け以外は、変更点はありません。この使い分けによって、その後のユーザに対する動作は異なってきます。具体的には、LOWを指定してAPIを呼び出した場合には、直後にmixiサーバとの通信が行われ、その結果第3引数に渡されたコールバック関数が呼び出されます。この間、ユーザに何も提示されません。
それに対して、HIGHを指定してAPIを呼び出した場合には、直後にユーザにポップアップ画面が表示され、ユーザが投稿するかどうかを選択します。もし投稿を選択した場合には、mixiサーバに投稿処理が依頼され、その後第3引数のコールバック関数が呼び出されます。もし投稿しないことをユーザが選択した場合は、mixiサーバでの投稿処理は行われず、そのまま第3引数のコールバック関数が呼び出されます。
コミュニケーションフィードを投稿するための具体例は、以下となります。
var activity = ...; // opensocial.Activityオブジェクト opensocial.requestCreateActivity( activity, opensocial.CreateActivityPriority.HIGH, function(response) { // 投稿後の処理 });
アクティビティフィードを投稿するための具体例は、以下となります。
var activity = ...; // opensocial.Activityオブジェクト opensocial.requestCreateActivity( activity, opensocial.CreateActivityPriority.LOW, function(response) { // 投稿後の処理 });
モバイル向けActivity API
モバイル向けActivity APIについて、以下に変更点などを示します。
従来のAPI
今までのモバイル向けActivity API(RESTful API)は、以下のドキュメントで説明されているものとなります。
「RESTful API仕様」
http://developer.mixi.co.jp/appli/spec/mob/for_partners/mobile_api_detail
特にアクティビティの投稿を実際にmixiサーバに依頼するためのリクエストは、以下のようになります。
POST /activities/{guid}/@self/@app {"title":"hello, my friends.", "mobileUrl":"http://ma.mixi.net/1234/?url=http%3A%2F%2Fexample.com%2Ffoo", "url":"http://mixi.jp/run_appli.pl?id=3127", "mediaItems":[ {"url":"http://example.com/images/activity.jpg", "mimeType":"image/jpeg" }], "recipients":[123,456] }
仕様変更後のAPIの利用方法
仕様変更が行われた後では、以下のようなAPIの使い分けとなります。つまり、従来から提供されているRESTful APIでの投稿要求は、アクティビティフィードの投稿として扱われます。それに対して、コミュニケーションフィードを投稿するためのAPIが新規に提供されます。
API | 投稿の種別 |
---|---|
RESTful API | アクティビティフィード |
create:activity | コミュニケーションフィード |
コミュニケーションフィードをmixiアプリモバイルにて投稿したい際には、formタグにてcreate:activityという記述を使用します。文字コードはShift-JIS、メソッドはPOSTのみをサポートしています。具体的には、出力するコンテンツの内容として、HTMLのformタグが持つaction属性に以下のように記述します。
create:activity?callback=[エスケープ済みURL]
また、投稿したいコミュニケーションフィードの内容を、以下のパラメータを使って記述します。
パラメータ名 | 意味 |
---|---|
callback | 投稿完了画面(*1)へ遷移するエスケープ済みURL(*2)を指定します。 *1 SAPサーバに用意していただく必要があります。 *2 QUERY_STRING に含める必要があります |
title | アクティビティの本文となる文字列です。 (絵文字指定は不可) |
mobileUrl | アクティビティの遷移先URLユーザがリンクをクリックした際の遷移先を指定できます。 指定可能なURLは、次の2種類です。 アプリ実行URL: “http://ma.mixi.net/[アプリID]/”アプリ説明URL: “http://m.mixi.jp/view_appli.pl” アプリ実行URLに関しては、パラメータを渡すことも可能です。 例:”http://ma.mixi.net/[アプリID]/?url=http%3A%2F%2Fexample.com%2Ffoo” |
url | アクティビティの遷移先URLPC対応アプリのみ指定可能で、ユーザがPCでアクセスした場合に利用されます。 |
mediaItem1 | 画像のエスケープ済みURLおよびMIMEタイプをカンマ(,)区切りで指定します 例:”http%3A%2F%2Fexample.com%2Fimages%2Factivity.jpg,image/jpeg” mediaItem2, mediaItem3も指定することが可能です |
recipient1 | 宛先指定する場合のユーザIDを指定します。 recipient2も指定することが可能です。 |
また、ユーザがアクセスしている端末のキャリアがドコモの場合には、"guid=ON"パラメータも付加してください。以下に、コミュニケーションフィードを投稿するためのタグセットの例を記述します。
<form action="create:activity?callback=http://server.name/callback&guid=ON" method="POST" > <input type="hidden" name="title" value="Hello!" /> <input type="hidden" name="mobileUrl" value="http://ma.mixi.net/0000/" /> <input type="hidden" name="mediaItem1" value="http%3A%2F%2Fserver.name%2Fimg.gif,image/gif" /> <input type="hidden" name="recipient1" value="123" /> <input type="submit" value="送信" /> </form>
ユーザが上記のフォームをサブミットした際には、コミュニケーションフィードを投稿してよいかどうかを問い合わせるページに遷移します。そこでユーザが投稿することを選択した場合は、mixiサーバ内でコミュニケーションフィード投稿処理が行われます。その後、callbackパラメータにて指定したURLのページに遷移します。その際、resultパラメータとして、処理結果を表すコードが返却されます。問題なく投稿できた場合は”success”、何らかの理由で失敗した場合は”failed”がresultパラメータ値となります。もし”failed”の場合は、errorパラメータにその理由が記載されます。
アクティビティフィードを投稿したい場合は、従来通りのRESTful APIを使った投稿処理をmixiアプリ内にて行ってください。