目指せ1級!30代サラリーマンボルダリング日記

都内IT企業で働く30代サラリーマンのクライミング記録

2010年01月

とりあえずテストでモバイルサイトで作ってみようと、
既存のぼくが管理してるサイト(ネトゲ)のモバイル版作ってみた。

とくにモバイル用に機能追加などはしておらず、
デイリーだったランキングを数時間単位にして表示したくらい。
あとPC版はZendFrameworkで作ってるけど、モバイル版はCakePHPってところが主な違い。

2010年1月18日にPCサイトでモバイル版の告知。
約1週間の計測。

■モバイル版


moPV

moUU



■同期間のPC版。


pcPV

pcUU



■考察


UUをみると、このままでもPC版の1/10くらいのユーザは来そうな感じ。
まーでも、このサイトの9割近くのユーザがネトゲヲタなのでPCの方が使い勝手とか親和性が高いってことか。
ゲームの裏画面でチェックすることが多そうだし。
残りの1割のリア充(笑)が移動中とかに見てるって考えると、この結果は非常に納得。

あ、よく見るとモバイル版のPVが1/23、1/24とそこだけ凹んでる。
この2日間は土日・・・。

要するに外には出ずに、家でずっとネトゲっていうパターンね。


なんかここまで考察に確信が持てるってなかなかないよね。。
    このエントリーをはてなブックマークに追加

前回に引き続き、次はGoogleAnalyticsの導入。
直接書いてもいいんだけど、とりあえずヘルパーに突っ込んた。
vendorにそのままいれるほうがいいのかな。

■APP/views/helpers/ga.php

公式のサンプルソースをヘルパー用に書き換え。

<?php
class GaHelper extends Helper {
  private $GA_ACCOUNT="MO-XXXXXX-X";
  private $GA_PIXEL="/ga.php";

  function getUrl() {
    $url = "";
    $url .= $this->GA_PIXEL . "?";
    $url .= "utmac=" . $this->GA_ACCOUNT;
    $url .= "&utmn=" . rand(0, 0x7fffffff);
    $referer = isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : '';
    $query = $_SERVER["QUERY_STRING"];
    $path = $_SERVER["REQUEST_URI"];
    if (empty($referer)) {
      $referer = "-";
    }

    $url .= "&utmr=" . urlencode($referer);
    if (!empty($path)) {
      $url .= "&utmp=" . urlencode($path);
    }
    $url .= "&guid=ON";
    return str_replace("&", "&", $url);
  }
}
?>

■APP/controllers/app_controller.php

すべてのページで出すから、app_controllerで宣言。

<?php
class AppController extends Controller {
  var $helpers = array('ga');

■APP/views/layouts/main.ctp

メインのレイアウトのbodyタグ上に書く。

<html>
<head></head>
<body>
   ・
   ・
<?php $googleAnalyticsImageUrl = $ga->getUrl(); ?>
<img src="<?php echo $googleAnalyticsImageUrl; ?>" />
</body>
</html>

■APP/webroot/ga.php

あとはGAの管理画面からDLできるga.phpをwebrootに置いて準備完了。
ちゃんと動いてるみたい。

    このエントリーをはてなブックマークに追加

■xml宣言

<?xml version="1.0" encoding="Shift_JIS"?>

これだけで書くとエラーになる。
たぶんみんな最初にこれでつまづくんだろね。
ぐぐったらすぐでてきた。

解決方法はいくつかあって、
・echoでだす。
・apache
とか。

今回はechoで出します。
<?php echo'<?xml version="1.0" encoding="Shift_JIS"?>'."\n"; ?>

■DOCTYPEの指定

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">

・3キャリア別にDOCTYPE分ける場合のメモ
http://ma-san.org/2009/10/htmlphpdoctype.html

■Content-Typeヘッダの指定

<meta http-equiv="Content-Type" content="application/xhtml+xml ; charset=Shift_JIS" />

今回はapacheでの設定ではなくレン鯖とか汎用的にいけるようにソースに。
app_controller.phpのbeforerenderで出力。
*)継承先のbeforerender()でparent:beforerender()を忘れずに。

APP/controller/app_controller.php

<?php
class AppController extends Controller {
  function beforerender() {
    header('Content-Type: application/xhtml+xml');
  }
}

■エミュレータ

docomo
http://www.nttdocomo.co.jp/service/imode/make/content/browser/html/tool2/index.html

softbank
http://creation.mb.softbank.jp/web/web_tool.html

au
http://www.au.kddi.com/ezfactory/tool/ue/
http://web.archive.org/web/*/developer.openwave.com/ja/tools_and_sdk/openwave_mobile_sdk/SDK62K/Openwave_SDK_62K.exe

・fireMobileSimulator
http://firemobilesimulator.org/
    このエントリーをはてなブックマークに追加

日付が変わってしばらくのんびりして、1時過ぎくらいに初詣へ。
眠気と戦ったけどなんとか勝ちました。
東京で年越するのは今年が初めて。

新宿の花園神社まで徒歩で。
2時前くらいでもすごい行列でした。
ちょうど1時間くらい並んで無事初詣終了です。

今年初のおみくじは大吉でした。
でも書いてあることがぜんぜん大吉じゃない・・・。
なにこれこわい。

初詣
    このエントリーをはてなブックマークに追加

このページのトップヘ