Movatterモバイル変換


[0]ホーム

URL:


清水樹, profile picture
Uploaded by清水樹
604 views

mixiアプリxZendFramework

ZendFramework製mixiアプリの事例紹介と、ZendFrameworkの使いどころがわかります。バズー株式会社ではソーシャルアプリの受託開発を行っています。

Embed presentation

Downloaded 30 times
mixiアプリ                       x                 ZendFramework             バズー株式会社 開発チームリーダー                    清水樹id:Bayside   *    bayside@twitter             *    http://tec.buzoo.jp/              Copyright (C) 2010 Buzoo Inc. All Rights Reserved.
アジェンダ■     ソーシャルアプリとは?■     mixiアプリとは?■     mixiアプリとmixiアプリモバイルの違い■     携帯版(mixiアプリモバイル)の注意点■     PC版(mixiアプリ)のはじめかた■     携帯版(mixiアプリモバイル)のはじめかた■     mixiアプリ事例紹介■     ZendFrameworkの使いどころCopyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   2
ソーシャルアプリとは?(1/2)■ SNSのソーシャルグラフを利用したウェブアプリケーション■ 共通API(オープンソーシャルAPI)を使用 ■ Person & Friends API ■ Community API ■ Activities API ■ Persistence API■ Facebookが2004年にリリース■ その後5年で3億のアクティブユーザーを獲得■ サードパーティにプラットフォームを解放■ 一つ作れば他のプラットフォームへの移植も割と容易■ めちゃくちゃ儲かる人が出現■ 怒涛のようにFacebookアプリが溢れ、勝ち組と負け組に2極分化Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   3
ソーシャルアプリとは?(2/2)■ 日本では2009年から導入開始■ 2009年8月mixiアプリリリース■ 2009年10月mixiアプリモバイルリリース■ 2010年1月モバゲーアプリリリース■ 2010年多くの国内ゲームメーカーが参入予定 ■ スクウェア・エニックス ■ ハドソン ■ コーエーなど■ 2010年6月GREEアプリリリース予定■ 2010年は日本でのオープンソーシャル元年■ いますぐ参入すれば半年程度はブルーオーシャンCopyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   4
mixiアプリとは?■     mixi版ソーシャルアプリ■     PC版(mixiアプリ)と携帯版(mixiアプリモバイル)がある■     PC版と携帯版があるのは世界初      ■ 後続のモバゲーは携帯版のみ      ■ GREEはPC/携帯両方になる?■     JavascriptAPI / RESTfulAPI が使用可能■     マネタイズは広告かアプリ内課金(300円/回まで)■     キャリア課金が可能Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   5
mixiアプリとmixiアプリモバイルの違い                                   PC版(mixiアプリ)                                       携帯版(mixiアプリモバイル)開発                                 個人でも可                                              法人のみ広告                                 比較的自由に貼れる                                          mixi公式のみ外部リンク                              比較的自由に貼れる                                          一切禁止キャリア課金                                                   ○                                                   ○個人情報取得                             外部リンク先で取得可能                                        一切禁止PV数                                少ない                                                圧倒的に多いOpenSocialAPI                      Javascript / RESTful                               RESTfulアプリ実行                              ユーザーのブラウザ内                                         サードパーティのサーバー内Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/       6
携帯版(mixiアプリモバイル)の注意点■     mixiプラットフォームがユーザー/SAP間に入っている■     ユーザーからはmixi内にいるように見える■     実際のアプリはサードパーティー内(SAP)にある■     負荷対策を自前でする必要がある■     初速がものすごいため、最初から高負荷に対応する必要がある■     コストパフォーマンスを考えるとクラウドも視野に入れる■     絵文字変換、画像変換等は自前でやる必要があるCopyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   7
PC版(mixiアプリ)のはじめかた■     ディベロッパー登録(個人)■     管理画面よりアプリ登録開始■     GadgetXMLファイル(UTF-8)にガリガリコードを書く■     テスト(テスト時に他人が使うときは承認が必要)■     カテゴリ申請(2週間から1ヶ月程度待つ)■     規約に反していて申請が通らなかった場合は修正して再度申請■     申請が通ると誰でも利用可能になる(新着アプリ掲載)■     広告申請(mixiアドプログラム)■     広告開始■     継続的な改善と更新Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   8
携帯版(mixiアプリモバイル)のはじめかた■ パートナーアカウント登録(登記簿謄本が必要)■ パートナーアカウント申請が通るとメインアカウントとテスト用アカウント(20個まで)がもらえる■ 管理画面より登録開始■ GadgetXMLファイル(UTF-8)にアプリのURLを書く■ テスト(テスト時は他人は一切使用不能)■ カテゴリ申請(2週間から1ヶ月程度待つ)■ 規約に反していて申請が通らなかった場合は修正して再度申請■ 申請が通ると誰でも利用可能になる(新着アプリ掲載)■ 広告申請(mixiアドプログラム)■ 広告開始■ 継続的な改善と更新Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   9
mixiアプリ事例紹介(1/5)■     自社開発アプリを4本リリース済み■     4本中3本がPC/携帯両対応■     すべてZendFramework製■     mixiアプリ新規1本作成中■     モバゲーアプリ準備中■     GREEアプリ準備中Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   10
mixiアプリ事例紹介(2/5)                                            青空文庫                                       利用者数:約32万人                                       著作権の切れた文学作品を収集・編集し                                       インターネット上で公開している電子図                                       書館がミクシィに初登場!                                       秋の夜長、あいている時間を読書にあて                                       て、あなたも知識人!                                        http://mixi.jp/view_appli.pl?id=11421(PC用)                                        http://m.mixi.jp/view_appli.pl?id=11421(携帯用)Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   11
mixiアプリ事例紹介(3/5)                                            みんなでチャット                                       利用者数:約8万人                                       眠れない夜にみんなでおしゃべり!シン                                       プルで使いやすいチャットです!                                       二人っきり話せるプライベートモードも                                       現在開発中です!                                       遊び方を守ってお楽しみください。                                       http://mixi.jp/view_appli.pl?id=12886(PC用)                                       http://m.mixi.jp/view_appli.pl?id=12886(携帯用)Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   12
mixiアプリ事例紹介(4/5)                                           女子力UP☆マナークイズ                                       利用者数:約4万人                                       マナークイズで女子力UP!                                       セレブ度を上げてともだちと競おう!                                       セレブスタイル浜松町主宰 マナー研究家                                        住友淑恵先生監修!                                       ランキング上位者には素敵なプレゼントが!!                                       http://mixi.jp/view_appli.pl?id=13904(PC用)                                       http://m.mixi.jp/view_appli.pl?id=13904(携帯用)Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   13
mixiアプリ事例紹介(5/5)                                             こころの花束                                       利用者数:約1万人                                       相手への感謝の気持ちを言葉の花束にし                                       て届けましょう!                                       みんなにたくさん感謝された方には素敵                                       なプレゼントが!                                       http://mixi.jp/view_appli.pl?id=14082(PC用)                                       http://m.mixi.jp/view_appli.pl?id=14082(携帯用)Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   14
ZendFrameworkの使いどころ■ 携帯版(mixiアプリモバイル)での使いどころを中心に■ PC版は携帯版のロジックをほぼそのまま流用 ■ PC版でも RESTfulAPI を使用■ トピックス ■ RESTfulAPI ■ URIの処理 ■ セッション ■ 絵文字 ■ リダイレクト ■ 高負荷対策Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   15
ZendFrameworkの使いどころ(RESTfulAPI)■ 開発ガイドのサンプル通りで問題なし■ OAuth.phpだけダウンロードする必要あり■ ZendFramework 1.7系の Zend_JSON はマルチバイト対応が×■ Zend_JSON だけは 1.8系のものを利用■ 主な機能 ■ Person & Friends API ■ Community API ■ Activities API ■ Persistence API ■ Album APICopyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   16
ZendFrameworkの使いどころ(URIの処理)■     mixi内のURLはホスト名つきでそのまま記述■     ドコモの場合は guid=ON 必須■     urlパラメータをmixiが自動的に解釈してリクエストを返す■     ブラウザがキャッシュが効き過ぎるので毎回ユニークなURIにする                                                                                                             index.php とか  function fp($path) {     if ( preg_match('/?/', $path) ) {         $path .= '&randomid='.uniqid();     } else {         $path .= '?randomid='.uniqid();     }     return '?guid=ON&url='.urlencode('http://somewhere/'.$path);  }                                                                                                             index.phtml とか  &#63731;<a href="invite:friends?callback=<?= urlencode('http://somewhere/') ?>">友達にすすめる</a>  &#63859;<a href="http://m.mixi.jp/view_community.pl?id=4712506">お問い合わせ</a>  &#63873; <a href="<?= fp('/help/index') ?>">ヘルプ</a>  &#63684; <a href="<?= fp('/') ?>" accesskey="1">[1]Topへ戻る</a>Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/                    17
ZendFrameworkの使いどころ(リダイレクト)■ ユーザーからはmixi内にいるように見えるので、必ずホスト名付きのフルパスで指定する必要がある■ mixiプラットフォームが自動的に解釈してリクエストを返す■ この辺りの処理はベースコントローラに書くと楽ちん■ セッションID、guid=ONはつけない                                                                                                             ベースコントローラとか  /**    * @override    */  protected function _redirect($url, array $options = array()) {     return parent::_redirect('http://someware/' . $url, $options);  }Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/                 18
ZendFrameworkの使いどころ(セッション)■ リクエストごとに opensocial_owner_id(mixiユーザーID)が必ず渡ってくる■ セッションIDの代わりに opensocial_owner_id を使う                                                                                                             index.php  ini_set('session.save_handler','user');  require_once('Util/Session.php');                                                                                         Util/Session.php  <?php  function _open($save_path, $session_name) { global $sess_save_path; $sess_save_path =  APPLICATION_PATH . '/../session'; return(true); }  function _close() { return(true); }  function _read($id) { global $sess_save_path; $sess_file = "$sess_save_path/sess_".  $_REQUEST['opensocial_owner_id']; if (file_exists($sess_file)) { return (string)  @file_get_contents($sess_file); } else { return (string) null; } }  function _write($id, $sess_data) { global $sess_save_path; $sess_file = "$sess_save_path/sess_".  $_REQUEST['opensocial_owner_id']; if ($fp = @fopen($sess_file, "w")) { $return = fwrite($fp, $sess_data);  fclose($fp); return $return; } else { return(false); } }  function _destroy($id) { global $sess_save_path; $sess_file = "$sess_save_path/sess_".  $_REQUEST['opensocial_owner_id']; return(@unlink($sess_file)); }  function _gc($maxlifetime) { global $sess_save_path; foreach (glob("$sess_save_path/sess_*") as  $filename) { if (filemtime($filename) + $maxlifetime < time()) { @unlink($filename); } } return true; }  session_set_save_handler("_open", "_close", "_read", "_write", "_destroy", "_gc");Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/               19
ZendFrameworkの使いどころ(絵文字)■ MobilePictogramConverterを使うと楽ちん■ Softbankでは MPC_TO_OPTION_WEB にすると化けるのでMPC_TO_OPTION_RAW を指定してます■ 本家サイトがなくなっているので(汗)ググって取得してください                                                                                 layout.phtml  <?= '<?xml version="1.0" encoding="Shift_JIS"?>'; ?>  <!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.0) 1.0//EN"  "i-xhtml_4ja_10.dtd">  <html xml:lang="ja" xmlns="http://www.w3.org/1999/xhtml">  <head>  <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" />  <title>xxxxx</title>  </head>  <body>  <?php  require_once 'MobilePictogramConverter.php';  $mpc = MobilePictogramConverter::factory($this->layout()->content, MPC_FROM_FOMA,  MPC_FROM_CHARSET_SJIS, MPC_FROM_OPTION_WEB);  echo $mpc->autoConvert();  ?>  </body>  </html>Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   20
ZendFrameworkの使いどころ(高負荷対策)■ 何も考えないとすぐロードアベレージ数十でサーバーダウン ■ 特に初速(新着アプリ掲載時)がヤバい■ オープンソーシャルAPIを呼び過ぎない ■ ユーザー情報は一度取得したら24時間は再取得しない ■ マイミク一覧は一度取得したら一定期間保存する ■ コミュニティ一覧は一度取得したら一定期間保存する■ Zend_Db_Tableで頑張りすぎない ■ パフォーマンスが必要なところは生SQLも辞さない ■ 正規化をあえて崩す ■ Zend_Db 最高(笑) ■ そもそもそれはDBにいれなければいけない情報か?■ バッチ処理にできないか ■ ランキング ■ リコメンドCopyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   21
まとめ■     オープンソーシャルアプリが流行っている■     mixiアプリをやるならPC/携帯両方に対応したい■     ZendFrameworkでmixiアプリを作ることはもちろん可能■     でも、高負荷対策をちゃんとやる必要はありCopyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   22
最後に■ バズー株式会社ではソーシャルアプリの受託開発を行います■ お問い合わせお待ちしています!担当:石渡(イシワタリ)Email: info@buzoo.jpお問合せURL: http://buzoo.jp/contact/Tel: 03-5408-7805Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/   23

Recommended

PDF
地域レポーター養成講座2016−1
PDF
WordPressセキュリティ対策ど~してる?
PDF
Unityで横スクロールアクションゲームを作ってみる(第2回unity初心者勉強会)
PDF
WordPressのコミュニティとイベントの運営ガイドラインについて
PDF
Unityで簡単なゲームを作ってみる(第1回unity初心者勉強会)
PDF
Cocos2dでRPG(第14回iPhone名古屋勉強会発表資料)
PDF
ITを活用した販売促進セミナー前編in三条商工会議所
PPTX
ぼくのかんがえたふつうのあんどろいどかいはつ
PDF
G hram 2012_jedilniki_12_december
PDF
Jedilniki 2011 april
PDF
Jedilniki 2011 junij
PDF
G hram 2013_junij
PDF
Jedilniki 2013, marec
PDF
G hram 2013_maj
PDF
Sound Out the Alphabet for Mrs Wallnau
PDF
Article 2006 16
PDF
Szd 2016 04_april
PDF
G hram jedilniki_2012_2_februar
PDF
Zend Frameworkで始める携帯サイト
PDF
Jedilniki 2011 marec
PDF
G hram jedilniki_2012_5_maj
PDF
Imagination curriculum memetales
PDF
Jedilniki 2011 februar
PDF
Jedilniki 2011 maj
PDF
Jedilniki januar 2013
PPTX
ბაგრატ3
PPTX
Shua Saukuneebis Xelovneba
PDF
Mixi api quick_start
PDF
mixi 新プラットフォーム発表会
 
PPTX
Movable type seminar 20120703

More Related Content

PDF
地域レポーター養成講座2016−1
PDF
WordPressセキュリティ対策ど~してる?
PDF
Unityで横スクロールアクションゲームを作ってみる(第2回unity初心者勉強会)
PDF
WordPressのコミュニティとイベントの運営ガイドラインについて
PDF
Unityで簡単なゲームを作ってみる(第1回unity初心者勉強会)
PDF
Cocos2dでRPG(第14回iPhone名古屋勉強会発表資料)
PDF
ITを活用した販売促進セミナー前編in三条商工会議所
PPTX
ぼくのかんがえたふつうのあんどろいどかいはつ
地域レポーター養成講座2016−1
WordPressセキュリティ対策ど~してる?
Unityで横スクロールアクションゲームを作ってみる(第2回unity初心者勉強会)
WordPressのコミュニティとイベントの運営ガイドラインについて
Unityで簡単なゲームを作ってみる(第1回unity初心者勉強会)
Cocos2dでRPG(第14回iPhone名古屋勉強会発表資料)
ITを活用した販売促進セミナー前編in三条商工会議所
ぼくのかんがえたふつうのあんどろいどかいはつ

Viewers also liked

PDF
G hram 2012_jedilniki_12_december
PDF
Jedilniki 2011 april
PDF
Jedilniki 2011 junij
PDF
G hram 2013_junij
PDF
Jedilniki 2013, marec
PDF
G hram 2013_maj
PDF
Sound Out the Alphabet for Mrs Wallnau
PDF
Article 2006 16
PDF
Szd 2016 04_april
PDF
G hram jedilniki_2012_2_februar
PDF
Zend Frameworkで始める携帯サイト
PDF
Jedilniki 2011 marec
PDF
G hram jedilniki_2012_5_maj
PDF
Imagination curriculum memetales
PDF
Jedilniki 2011 februar
PDF
Jedilniki 2011 maj
PDF
Jedilniki januar 2013
PPTX
ბაგრატ3
PPTX
Shua Saukuneebis Xelovneba
G hram 2012_jedilniki_12_december
Jedilniki 2011 april
Jedilniki 2011 junij
G hram 2013_junij
Jedilniki 2013, marec
G hram 2013_maj
Sound Out the Alphabet for Mrs Wallnau
Article 2006 16
Szd 2016 04_april
G hram jedilniki_2012_2_februar
Zend Frameworkで始める携帯サイト
Jedilniki 2011 marec
G hram jedilniki_2012_5_maj
Imagination curriculum memetales
Jedilniki 2011 februar
Jedilniki 2011 maj
Jedilniki januar 2013
ბაგრატ3
Shua Saukuneebis Xelovneba

Similar to mixiアプリxZendFramework

PDF
Mixi api quick_start
PDF
mixi 新プラットフォーム発表会
 
PPTX
Movable type seminar 20120703
PDF
110803東専各
PDF
リーンスタートアップの実践・成功のために大切なこと
KEY
Techwave cafeセミナー資料111206
PDF
Facebook事例&サービス紹介(2010.9.16セミナープレゼン資料)
PDF
gumiStudy#1 ソーシャルアプリにおけるKVSの利用事例
PDF
Facebook、twitter等ソーシャルプラットフォームを活用したサービス立ち上げ
PPTX
Movable type seminar 20120521
PDF
Facebook、twitter等ソーシャルプラットフォームを活かしたスマートフォン時代のサービス立ち上げ:Lean startup
PPT
スマホアプリ企画書
KEY
mixiのiOSアプリ開発
PDF
エコなWebサーバー
PDF
Voicepic@FukuiMASeminar
PDF
コドモのソーシャルネットワーク事情~親ならこれだけはやっておけ
PDF
Web API 標準の OpenSocial の現状と今後
PDF
外部サイトのFacebook連動
PPT
Mixiアプリで体験する Open Social
PPTX
Fluxflex meetup 2011 in Tokyo
Mixi api quick_start
mixi 新プラットフォーム発表会
 
Movable type seminar 20120703
110803東専各
リーンスタートアップの実践・成功のために大切なこと
Techwave cafeセミナー資料111206
Facebook事例&サービス紹介(2010.9.16セミナープレゼン資料)
gumiStudy#1 ソーシャルアプリにおけるKVSの利用事例
Facebook、twitter等ソーシャルプラットフォームを活用したサービス立ち上げ
Movable type seminar 20120521
Facebook、twitter等ソーシャルプラットフォームを活かしたスマートフォン時代のサービス立ち上げ:Lean startup
スマホアプリ企画書
mixiのiOSアプリ開発
エコなWebサーバー
Voicepic@FukuiMASeminar
コドモのソーシャルネットワーク事情~親ならこれだけはやっておけ
Web API 標準の OpenSocial の現状と今後
外部サイトのFacebook連動
Mixiアプリで体験する Open Social
Fluxflex meetup 2011 in Tokyo

mixiアプリxZendFramework

  • 1.
    mixiアプリ x ZendFramework バズー株式会社 開発チームリーダー 清水樹id:Bayside * bayside@twitter * http://tec.buzoo.jp/ Copyright (C) 2010 Buzoo Inc. All Rights Reserved.
  • 2.
    アジェンダ■ ソーシャルアプリとは?■ mixiアプリとは?■ mixiアプリとmixiアプリモバイルの違い■ 携帯版(mixiアプリモバイル)の注意点■ PC版(mixiアプリ)のはじめかた■ 携帯版(mixiアプリモバイル)のはじめかた■ mixiアプリ事例紹介■ ZendFrameworkの使いどころCopyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 2
  • 3.
    ソーシャルアプリとは?(1/2)■ SNSのソーシャルグラフを利用したウェブアプリケーション■ 共通API(オープンソーシャルAPI)を使用 ■Person & Friends API ■ Community API ■ Activities API ■ Persistence API■ Facebookが2004年にリリース■ その後5年で3億のアクティブユーザーを獲得■ サードパーティにプラットフォームを解放■ 一つ作れば他のプラットフォームへの移植も割と容易■ めちゃくちゃ儲かる人が出現■ 怒涛のようにFacebookアプリが溢れ、勝ち組と負け組に2極分化Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 3
  • 4.
    ソーシャルアプリとは?(2/2)■ 日本では2009年から導入開始■ 2009年8月mixiアプリリリース■2009年10月mixiアプリモバイルリリース■ 2010年1月モバゲーアプリリリース■ 2010年多くの国内ゲームメーカーが参入予定 ■ スクウェア・エニックス ■ ハドソン ■ コーエーなど■ 2010年6月GREEアプリリリース予定■ 2010年は日本でのオープンソーシャル元年■ いますぐ参入すれば半年程度はブルーオーシャンCopyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 4
  • 5.
    mixiアプリとは?■ mixi版ソーシャルアプリ■ PC版(mixiアプリ)と携帯版(mixiアプリモバイル)がある■ PC版と携帯版があるのは世界初  ■ 後続のモバゲーは携帯版のみ  ■ GREEはPC/携帯両方になる?■ JavascriptAPI / RESTfulAPI が使用可能■ マネタイズは広告かアプリ内課金(300円/回まで)■ キャリア課金が可能Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 5
  • 6.
    mixiアプリとmixiアプリモバイルの違い PC版(mixiアプリ) 携帯版(mixiアプリモバイル)開発 個人でも可 法人のみ広告 比較的自由に貼れる mixi公式のみ外部リンク 比較的自由に貼れる 一切禁止キャリア課金 ○ ○個人情報取得 外部リンク先で取得可能 一切禁止PV数 少ない 圧倒的に多いOpenSocialAPI Javascript / RESTful RESTfulアプリ実行 ユーザーのブラウザ内 サードパーティのサーバー内Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 6
  • 7.
    携帯版(mixiアプリモバイル)の注意点■ mixiプラットフォームがユーザー/SAP間に入っている■ ユーザーからはmixi内にいるように見える■ 実際のアプリはサードパーティー内(SAP)にある■ 負荷対策を自前でする必要がある■ 初速がものすごいため、最初から高負荷に対応する必要がある■ コストパフォーマンスを考えるとクラウドも視野に入れる■ 絵文字変換、画像変換等は自前でやる必要があるCopyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 7
  • 8.
    PC版(mixiアプリ)のはじめかた■ ディベロッパー登録(個人)■ 管理画面よりアプリ登録開始■ GadgetXMLファイル(UTF-8)にガリガリコードを書く■ テスト(テスト時に他人が使うときは承認が必要)■ カテゴリ申請(2週間から1ヶ月程度待つ)■ 規約に反していて申請が通らなかった場合は修正して再度申請■ 申請が通ると誰でも利用可能になる(新着アプリ掲載)■ 広告申請(mixiアドプログラム)■ 広告開始■ 継続的な改善と更新Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 8
  • 9.
    携帯版(mixiアプリモバイル)のはじめかた■ パートナーアカウント登録(登記簿謄本が必要)■ パートナーアカウント申請が通るとメインアカウントとテスト用アカウント(20個まで)がもらえる■管理画面より登録開始■ GadgetXMLファイル(UTF-8)にアプリのURLを書く■ テスト(テスト時は他人は一切使用不能)■ カテゴリ申請(2週間から1ヶ月程度待つ)■ 規約に反していて申請が通らなかった場合は修正して再度申請■ 申請が通ると誰でも利用可能になる(新着アプリ掲載)■ 広告申請(mixiアドプログラム)■ 広告開始■ 継続的な改善と更新Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 9
  • 10.
    mixiアプリ事例紹介(1/5)■ 自社開発アプリを4本リリース済み■ 4本中3本がPC/携帯両対応■ すべてZendFramework製■ mixiアプリ新規1本作成中■ モバゲーアプリ準備中■ GREEアプリ準備中Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 10
  • 11.
    mixiアプリ事例紹介(2/5) 青空文庫 利用者数:約32万人 著作権の切れた文学作品を収集・編集し インターネット上で公開している電子図 書館がミクシィに初登場! 秋の夜長、あいている時間を読書にあて て、あなたも知識人! http://mixi.jp/view_appli.pl?id=11421(PC用) http://m.mixi.jp/view_appli.pl?id=11421(携帯用)Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 11
  • 12.
    mixiアプリ事例紹介(3/5) みんなでチャット 利用者数:約8万人 眠れない夜にみんなでおしゃべり!シン プルで使いやすいチャットです! 二人っきり話せるプライベートモードも 現在開発中です! 遊び方を守ってお楽しみください。 http://mixi.jp/view_appli.pl?id=12886(PC用) http://m.mixi.jp/view_appli.pl?id=12886(携帯用)Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 12
  • 13.
    mixiアプリ事例紹介(4/5) 女子力UP☆マナークイズ 利用者数:約4万人 マナークイズで女子力UP! セレブ度を上げてともだちと競おう! セレブスタイル浜松町主宰 マナー研究家  住友淑恵先生監修! ランキング上位者には素敵なプレゼントが!! http://mixi.jp/view_appli.pl?id=13904(PC用) http://m.mixi.jp/view_appli.pl?id=13904(携帯用)Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 13
  • 14.
    mixiアプリ事例紹介(5/5) こころの花束 利用者数:約1万人 相手への感謝の気持ちを言葉の花束にし て届けましょう! みんなにたくさん感謝された方には素敵 なプレゼントが! http://mixi.jp/view_appli.pl?id=14082(PC用) http://m.mixi.jp/view_appli.pl?id=14082(携帯用)Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 14
  • 15.
    ZendFrameworkの使いどころ■ 携帯版(mixiアプリモバイル)での使いどころを中心に■ PC版は携帯版のロジックをほぼそのまま流用 ■PC版でも RESTfulAPI を使用■ トピックス ■ RESTfulAPI ■ URIの処理 ■ セッション ■ 絵文字 ■ リダイレクト ■ 高負荷対策Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 15
  • 16.
    ZendFrameworkの使いどころ(RESTfulAPI)■ 開発ガイドのサンプル通りで問題なし■ OAuth.phpだけダウンロードする必要あり■ZendFramework 1.7系の Zend_JSON はマルチバイト対応が×■ Zend_JSON だけは 1.8系のものを利用■ 主な機能 ■ Person & Friends API ■ Community API ■ Activities API ■ Persistence API ■ Album APICopyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 16
  • 17.
    ZendFrameworkの使いどころ(URIの処理)■ mixi内のURLはホスト名つきでそのまま記述■ ドコモの場合は guid=ON 必須■ urlパラメータをmixiが自動的に解釈してリクエストを返す■ ブラウザがキャッシュが効き過ぎるので毎回ユニークなURIにする index.php とか function fp($path) { if ( preg_match('/?/', $path) ) { $path .= '&randomid='.uniqid(); } else { $path .= '?randomid='.uniqid(); } return '?guid=ON&url='.urlencode('http://somewhere/'.$path); } index.phtml とか &#63731;<a href="invite:friends?callback=<?= urlencode('http://somewhere/') ?>">友達にすすめる</a> &#63859;<a href="http://m.mixi.jp/view_community.pl?id=4712506">お問い合わせ</a> &#63873; <a href="<?= fp('/help/index') ?>">ヘルプ</a> &#63684; <a href="<?= fp('/') ?>" accesskey="1">[1]Topへ戻る</a>Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 17
  • 18.
    ZendFrameworkの使いどころ(リダイレクト)■ ユーザーからはmixi内にいるように見えるので、必ずホスト名付きのフルパスで指定する必要がある■ mixiプラットフォームが自動的に解釈してリクエストを返す■この辺りの処理はベースコントローラに書くと楽ちん■ セッションID、guid=ONはつけない ベースコントローラとか /** * @override */ protected function _redirect($url, array $options = array()) { return parent::_redirect('http://someware/' . $url, $options); }Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 18
  • 19.
    ZendFrameworkの使いどころ(セッション)■ リクエストごとに opensocial_owner_id(mixiユーザーID)が必ず渡ってくる■セッションIDの代わりに opensocial_owner_id を使う index.php ini_set('session.save_handler','user'); require_once('Util/Session.php'); Util/Session.php <?php function _open($save_path, $session_name) { global $sess_save_path; $sess_save_path = APPLICATION_PATH . '/../session'; return(true); } function _close() { return(true); } function _read($id) { global $sess_save_path; $sess_file = "$sess_save_path/sess_". $_REQUEST['opensocial_owner_id']; if (file_exists($sess_file)) { return (string) @file_get_contents($sess_file); } else { return (string) null; } } function _write($id, $sess_data) { global $sess_save_path; $sess_file = "$sess_save_path/sess_". $_REQUEST['opensocial_owner_id']; if ($fp = @fopen($sess_file, "w")) { $return = fwrite($fp, $sess_data); fclose($fp); return $return; } else { return(false); } } function _destroy($id) { global $sess_save_path; $sess_file = "$sess_save_path/sess_". $_REQUEST['opensocial_owner_id']; return(@unlink($sess_file)); } function _gc($maxlifetime) { global $sess_save_path; foreach (glob("$sess_save_path/sess_*") as $filename) { if (filemtime($filename) + $maxlifetime < time()) { @unlink($filename); } } return true; } session_set_save_handler("_open", "_close", "_read", "_write", "_destroy", "_gc");Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 19
  • 20.
    ZendFrameworkの使いどころ(絵文字)■ MobilePictogramConverterを使うと楽ちん■ SoftbankではMPC_TO_OPTION_WEB にすると化けるのでMPC_TO_OPTION_RAW を指定してます■ 本家サイトがなくなっているので(汗)ググって取得してください layout.phtml <?= '<?xml version="1.0" encoding="Shift_JIS"?>'; ?> <!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.0) 1.0//EN" "i-xhtml_4ja_10.dtd"> <html xml:lang="ja" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" /> <title>xxxxx</title> </head> <body> <?php require_once 'MobilePictogramConverter.php'; $mpc = MobilePictogramConverter::factory($this->layout()->content, MPC_FROM_FOMA, MPC_FROM_CHARSET_SJIS, MPC_FROM_OPTION_WEB); echo $mpc->autoConvert(); ?> </body> </html>Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 20
  • 21.
    ZendFrameworkの使いどころ(高負荷対策)■ 何も考えないとすぐロードアベレージ数十でサーバーダウン ■ 特に初速(新着アプリ掲載時)がヤバい■オープンソーシャルAPIを呼び過ぎない ■ ユーザー情報は一度取得したら24時間は再取得しない ■ マイミク一覧は一度取得したら一定期間保存する ■ コミュニティ一覧は一度取得したら一定期間保存する■ Zend_Db_Tableで頑張りすぎない ■ パフォーマンスが必要なところは生SQLも辞さない ■ 正規化をあえて崩す ■ Zend_Db 最高(笑) ■ そもそもそれはDBにいれなければいけない情報か?■ バッチ処理にできないか ■ ランキング ■ リコメンドCopyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 21
  • 22.
    まとめ■ オープンソーシャルアプリが流行っている■ mixiアプリをやるならPC/携帯両方に対応したい■ ZendFrameworkでmixiアプリを作ることはもちろん可能■ でも、高負荷対策をちゃんとやる必要はありCopyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 22
  • 23.
    最後に■ バズー株式会社ではソーシャルアプリの受託開発を行います■ お問い合わせお待ちしています!担当:石渡(イシワタリ)Email:info@buzoo.jpお問合せURL: http://buzoo.jp/contact/Tel: 03-5408-7805Copyright (C) 2010 Buzoo Inc. All Rights Reserved.    id:Bayside * bayside@twitter * http://tech.buzoo.jp/ 23

[8]ページ先頭

©2009-2025 Movatter.jp