• 検索結果がありません。

全ゲ連発表黒

N/A
N/A
Protected

Academic year: 2021

シェア "全ゲ連発表黒"

Copied!
30
0
0

読み込み中.... (全文を見る)

全文

(1)

mixiアプリをちょっとかじってみた

(2)

発表者について

全ゲ連第二回で、Wiiリモコン使ったゲーム

について発表した人

とある会社の社蓄

でも、ソーシャルアプリは業務とは全く関係な

(3)

mixiアプリとは?

mixi上で動かすことが出来るアプリです

全画面はもちろん、ガジェットのようにページ

の一部のみ表示のアプリも作れます。

(4)

なぜmixi?

ぶっちゃけ、GREEとかモバゲーの方が、今

元気じゃね?

法人じゃないとアプリ作らせてくれない。。。

mixiは個人でも作れる環境を提供してくれて

ます!!

といいつつ、個人で作成できるのはPCアプリの

みです。(携帯向けは法人じゃないと・・・・ry)

(5)

mixi アプリ制作に必要なもの

携帯電話+携帯のアドレス

mixiアカウント

mixi アプリ開発者登録

(6)

mixi アプリに求められる知識

必須

XML

HTML

JavaScript

あるとベター

Flash(ActionScriptなど)

CGIなどの知識

その他Web系知識

(7)

mixi アプリの仕組み①

Iframeで区切られたCanvas上に、自由な

HTMLを書き込める。

htmlはもちろん、JavaScript、FlashなどWeb

ブラウザ上で表現可能なら何でもあり

(8)

mixi アプリの仕組み②

Gadget XMLという中に、表示したいHTML

やJavaScriptなどをCData(XML中の文字列

データ)として表記

JavaScriptで用意されたAPIを用いて、mixi

上のデータにアクセス

Opensocialという規格に準拠

(9)

OpenSocialについて

ソーシャル アプリケーションの共通 API です

JavaScriptとHTMLを使用して、SNS上のア

プリが作れます

1つのAPIで多様なサイトに対応

GREE,モバーゲー,mixi , goo Home , Yahoo ,

MySpace、OpenPNEなど

(10)

うだうだ言わず、作成してみる

まずは、開発者登録

mixiにログイン後、

http://developer.mixi.co.

jp/appli/pc/pc_prepare/developer_account_regist_pc

にアク

セスして、開発者登録

そして、アプリ登録

http://developer.mixi.co.jp/appli/com/lauch/register

にアクセ

スして、アプリ登録。

登録内容は修正可能なので、適当でもOK

(11)

Hello World

1.hello.xmlを

Webサーバーに

アップ。

2.ガジェットURLの

項目にアップした

hello.xmlのURLを

登録

<?xml version="1.0" encoding="UTF-8"?> <Module>

<ModulePrefs title="Hello, world!"> <Require feature="opensocial-0.8" /> </ModulePrefs> <Content type="html"><![CDATA[ <div>Hello, World!</div> ]]></Content> </Module> hello.xml

(12)
(13)

Hello World解説

<?xml version="1.0" encoding="UTF-8"?> <Module>

<ModulePrefs title="Hello, world!"> <Require feature="opensocial-0.8" /> </ModulePrefs> <Content type="html"><![CDATA[ <div>Hello, World!</div> ]]></Content> </Module> ヘッダー部分、このアプリのタイト ルなどの情報の他に、このアプリ がどの機能を利用するかなどを 書きます コンテンツ部分。アプリが実際に 表示する表示設定が書いてあり ます。Content領域は複数指定 が可能です。(詳細は後ほど) 実際に、ユーザーに表示されるも の

(14)

mixiアプリ(PC)動作時の概要図

ユーザー mixi サーバー アプリ サーバー アプリに アクセス Gadget XMLから 表示物を埋め込む HTTPで、 Gadget XMLを 要求 Gadget XMLを 返します キャッシュ上の Gadget XMLから 表示物を埋め込む

(15)

次のアプリの前に・・・

キャッシュを消しましょう!!

mixiサーバー内にGadgetXMLのキャッシュが残

るので、アプリケーション変更時に必要!

キャッシュのクリアはアプリの設定変更から

出来ます。

(16)
(17)

画面によって表示物をわける

<?xml version="1.0" encoding="UTF-8"?> <Module>

<ModulePrefs title="Hello, world!"> <Require feature="opensocial-0.8" /> <Require feature="views" />

</ModulePrefs>

<!-- HOMEに表示する内容 -->

<Content type="html" view="home"><! [CDATA[

<div>Hello, html!</div> ]]></Content>

<!-- プロフィールに表示する内容 --> <Content type="html" view="profile"><! [CDATA[

<div>Hello, Profile!</div> ]]></Content>

<!-- Canvasに表示する内容 -->

<Content type="html" view="canvas"><! [CDATA[ <div>Hello, Canvas!</div> ]]></Content> </Module> 画面によって表示内容を分ける ことを明示します どの画面で表示するかを 指定します

(18)
(19)
(20)
(21)

プロフィールデータを利用してみる

<Content type="html"><![CDATA[

<div>Hello, <span id="target"></span>!</div> <!-- 以下JavaScriptコード --> <script type="text/javascript"> /** @brief EntryPointとなる関数 *データリクエスト用のオブジェクトの作成⇒ * 取得したい情報・コールバック関数を指定してデータのリクエストを行います */ function init() {

var req = opensocial.newDataRequest();

req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.VIEWER), "viewer"); req.send(OnRequestComplete);

}

/** @brief opensocialのデータリクエスト完了後に呼び出されます * @param [in] data mixiからとってきたデータが引数として渡されます */

function OnRequestComplete(data) {

var viewer = data.get("viewer").getData();

var name = viewer.getDisplayName(); /*< 閲覧者の名前をname変数に代入 */

document.getElementById(“target”).innerHTML = name; /*< 実際に名前をHTMLに挿入*/ } /* JavaScriptのEntryPointの登録を行います */ gadgets.util.registerOnLoadHandler(init); </script> ]]></Content>

(22)
(23)

mixi のデータ利用のイメージ図

DataReque st オブジェクト サーバーにデータ要求 サーバーから データ応答 DataRequest オブジェクトに 指定されている コールバック関 数を呼び出す Data Requestオブ ジェクトを渡します opensocial ライブラリ サーバー Userコード

(24)

ViewerとOwner

Mixiアプリでは他人のアプリを見ることが出

来る

他人のアプリを見たとき、見た人の情報は

Viewerとして取得可能

そのアプリを持っている人をOwnerとして、その

人のプロフィールをOwnerとして取得可能

(25)

友達のプロフィールを使う

/** @brief マイミクリストをゲット */ function GetMyMiku(){ var ip = {}; ip[opensocial.IdSpec.Field.USER_ID] = opensocial.IdSpec.PersonId.VIEWER; ip[opensocial.IdSpec.Field.GROUP_ID] = "FRIENDS";

var idSpec = opensocial.newIdSpec(ip); var req = opensocial.newDataRequest();

req.add(req.newFetchPeopleRequest(idSpec), "friends"); req.send(CallBackMyMiku); } /** @brief Myミクリストの取得が終わったときに呼び出されます */ function CallBackMyMiku(data){

var friends = data.get("friends").getData(); friends.each(EachFriend); } /** @brief マイミク一人一人処理するための関数 */ function EachFriend(friend){ var id = friend.getId();

var nickname = friend.getDisplayName();

var thumbnailUrl = friend.getField(opensocial.Person.Field.THUMBNAIL_URL); document.getElementById("friends").innerHTML += "ID : " + id + "<br/>" + "表示名 : " + nickname + "<br />" + "アイコン: " + thumbnailUrl + "<br />"; } /* 初期化 */ gadgets.util.registerOnLoadHandler(GetMyMiku);

(26)
(27)

アクティビティとは?

マイミク(友達)にmixiアプリをどのように楽し

んでいるか 送りつける

単に文字列だけでなく、画像付でアプリの状

況を送りつけることも可能

あて先を指定して特定のユーザーにのみ、

送ることも可能

(28)
(29)

<![CDATA[

<script type="text/javascript">

function postActivity(activity_msg) { var parms = {};

parms[opensocial.Activity.Field.TITLE] = activity_msg; var activity = opensocial.newActivity(parms);

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

var panel = document.getElementById("activity_panel"); }

function activityResultCallback(status) { if (status.hadError()) {

alert("Error Creating activity."); } } function startActivity() { postActivity("アクティビティのテストです!クリックして!"); } gadgets.util.registerOnLoadHandler(startActivity); </script> <div id="activity_panel"></div> ]]>

コード

(30)

他に出来ること一覧

mixiサーバーにデータを保存

PCアプリで言う HDDに保存みたいなもの

持ち主のID、アクセス用のキー、保存する文字

列でセット

ユーザーにメッセージを送信する

外部サーバーからデータを取得する

HTTPでアクセス(GET、POSTなど大体サポート)

マイミクを招待

同級生・コミュニティの情報を利用

参照

関連したドキュメント

図2に実験装置の概略を,表1に主な実験条件を示す.実

以上の結果について、キーワード全体の関連 を図に示したのが図8および図9である。図8

Windows スタートメニュー &gt; よく使うアプリ(すべてのプログラム)の HARUKA フォルダの中.

ステップ 2 アプリに [installer] としてログインし、 SmartLogger の画面上で [ その他 ] &gt; [ システム保守

回転に対応したアプリを表示中に本機の向きを変えると、 が表 示されます。 をタップすると、縦画面/横画面に切り替わりま

メモ  : 権利の詳細な管理は、 BlackBerry WorkspacesEnterprise ES モード BlackBerry Workspaces およ. び Enterprise ES ( 制限付きフルアクセス )

①アプリをアンインストール スタート > 設定 > アプリ > アプリと機能 > Docan Browser5. ②関連ファイル削除(1)

016-522 【原因】 LDAP サーバーの SSL 認証エラーです。SSL クライアント証明書が取得で きません。. 【処置】 LDAP サーバーから