つやつや
gajapaのサービス
FONサーチ
カテゴリー
新しい記事
最近のコメント
最近のトラックバック
アーカイブ
リンク
OTHER

2007,10,26, Friday
QRコードを掲載している携帯サイトは増えてきましたが、イマイチ使用側には浸透していない感があります。
知り合いに「QRコードを読み取れば早いジャン」って言っても、どうやってやるのか知らない人が多いようです。

とはいえ使い出すと便利なもので、もらった名刺にQRが付いていないと、「入力メンドクセー」と思ってしまうぐらい使用している私のような少数派もいるわけで、これから一般的になる事を祈ります。

前置きはさて置き、
QRコードの自動生成は技術的には面白いのですが、実際に活躍するシーンが思い浮かびませんでした。
最近ふと思いついたのは、PCで調べてその情報を携帯に入れておきたい場合は使えるなあと。
たとえば、食事の場所をPCで検索してクーポンを携帯にダウンロードするとか。

こんなアイディアは、もう実現していると思いますが、PC→携帯という流れを押さえておくのは、モバイルサイトを作っている人間には大事な事です。
PCの各ページにQRを付けメモ的に使用してもらうことで、携帯サイトへ誘導するのはアリかと思います。

でやっと本題。
QRコード・バーコードを使って、自動生成にチャレンジした。
結果から言うと、非常に簡単にできた。設置して、URLでパラメータを渡すだけ。
こんな感じ

使いやすいソフトを作ってくれた作者に感謝。


| 携帯サイト構築:ソース公開ソフト | comments (1) | trackback (4836) |
2007,10,25, Thursday
携帯電話用サイトを作って管理する場合、問題になるのがユニークユーザー数がまったく分からない事。
PCサイトの場合、一般的なアクセスログソフトを使えばユニークユーザーが出ますが、携帯サイトの場合は「ユニークユーザー数」=「ページビュー」になってしまう事もあります。

これは、アクセス元のIPアドレスが、PCからのアクセス(通常のプロバイダ)では固定されているのに対し、携帯からのアクセスではページごとに違うためです。ただのリロードでもIPは変わります。アクセス元のIPが変われば、前のページと次のページを同じ人間が見ているかどうかの判別ができません。
他にも、iモードではCookieが使えないので、Cookieを使って判別する事もできません。

そこで、この問題の対処方法ですが、私はTPOに応じて以下のようなシステムを使い分けます。

・一切無視
サーバーのアクセスログを見ている場合は、あきらめます。クライアントにも説明すると大体あきらめてくれます。あきらめてくれない場合は、以下を提案します。

・ある一定の時間内の同一機種からのアクセスは、同一人物とみなす
携帯電話からのアクセスでは、ユーザーエージェントを見ると機種名が分かります。時間が近ければ同じ機種からのアクセスは、同じ人からのアクセスだと推測して、カウントします。正確な数値はでませんが、参考値にはなります。一定時間は、サイトのアクセスが多いほど短くする必要があります。あまりアクセスが集中するサイトでは、この方法は使えません。

・URLにセッションIDを引き回す
システム的には規模が大きくなりますが、会員サイトなどを作る時にする方法です。会員サイトでは個人を特定する必要があるので、結果的にユニークユーザーの判別ができます。


下に行くほど正確なユニークユーザーがカウントできますが、作りこみも必要になるので工数=予算が必要になります。
その兼ね合いで、求められる正確さをTPOに応じて使い分けます。

しかし、いくら正確さにこだわったところで、「URLにセッションIDを引き回す」方式でも、ログイン(個人認証)しなければユーザーを特定できないですし、そもそも、アクセスログって言っても、すべて携帯に表示されなくても(電波状態が悪いとか)カウントされるわけですし、もっといえば、ユーザーがそのページをどれくらい真剣に見たかは分からないわけで、正確さを求めても人の心まで読めないので、ほどほどのところにしておきましょう。


| 携帯サイト構築:3キャリア | comments (0) | trackback (172) |
2007,10,12, Friday
携帯電話固有の番号・FOMAカード番号の情報を取得する。

icc.php
<html>
<font size=2>ユーザーエージェントテスト</font>
<?php
    echo $_SERVER["HTTP_USER_AGENT"];
?>
<A href="icc.php" utn>端末番号</A>
</html>


上を元に、ちゃんと、プログラムを作ってみました。ドコモのFOMA・MOVA対応です。

機種名と、機種固有の番号を取得します。
FOMAの場合は、機体番号(ser)とFOMAカード番号(icc)が取得できますが、
通常個人を特定するページ(ログインなど)では、FOMAカード番号を使います。
そうすれば、機体を変えてもFOMAカードを変えなければ、ユーザーが再登録などをする必要がありません。
また、FOMAカード番号は、「iccxxxxxxxxxxxxxxxxxxxF」ですが、最後のFに関しては、機体によって小文字になったりするので、無視した方がよいと思われます。

MOVAは機体番号しかないので、それを使います。

icc2.php
<html>
<center>端末番号取得</center>
<hr>
<?php
$UA = $_SERVER["HTTP_USER_AGENT"];

if(ereg("DoCoMo/2.0", $UA)){
    //機種名取得FOMA
    preg_match("/DoCoMo\/2\.0 (.+?)\(c.+/",$UA, $matches);
    $model = $matches[1];
    //機体番号取得FOMA
    preg_match("/.+;(ser[0-9]+);icc.+/",$UA, $matches);
    $serNo = $matches[1];
    //FOMA番号取得FOMA
    preg_match("/.+;(icc[0-9]+)[F|f]?\)/",$UA, $matches);
    $uid = $matches[1];
}
if(ereg("DoCoMo/1.0", $UA)){
    //機種名取得MOVA iモードHTML3.0以降
    preg_match("/DoCoMo\/1\.0\/(.+?)\/.+/",$UA, $matches);
    $model = $matches[1];
    if($model == ""){
    //機種名取得MOVA iモードHTML2.0以前
        preg_match("/DoCoMo\/1\.0\/(.+?)$/",$UA, $matches);
        $model = $matches[1];
    }
    //機体番号取得MOVA
    preg_match("/DoCoMo\/1\.0\/.+\/(ser.+)/",$UA, $matches);
    $uid = $matches[1];
}
echo '機種='.$model.'<br>';
echo '端末製造番号='.$serNo.'<br>';
echo 'FOMAカード製造番号='.$uid.'<br>';
?>
<br>
<A href="./icc2.php" utn>端末番号表示</A>
</html>



| 携帯サイト構築:DoCoMo | comments (0) | trackback (x) |
2007,10,11, Thursday
内部処理を改善して、FONのアクセスポイントの表示速度を向上させました。
緯度経度から、住所を求めるジオコーディングの部分をキャッシュして、次回同じところの表示をしたときに、若干速くなっています。

しかし、思ったより早くならないですね。
FONから持って来る元のデータのレスポンスが遅いのかもしれません。
しっかり検証はしていないのですが、こっちもキャッシュすれば、もっと速くなるかな?
時間が有れば試します。


| サイト:FONサーチ | comments (0) | trackback (3674) |
2007,10,11, Thursday
ブログソフトを探していて見つけたのが、このソフト。
Blogn(ぶろぐん)

Movable TypeやWordPressに比べて、手軽で使いやすい。管理ツールも比較的軽い。
このサイトもBlognで作っているが、日本の携帯電話にも対応しているので採用しました。
プログラム作者に感謝です。

skinの選択肢が少ないのが残念だが、テンプレートになっているので、他のソフトより作りやすい。
skinまで作る気は無かったが、このソフトが気に入ったのでオリジナルを作りました。



| 携帯サイト構築:ソース公開ソフト | comments (1) | trackback (36426) |

PAGE TOP ↑


Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0