モバイル

Android Javascript Console

Androidの実機でウェブサイトのJavascriptをデバッグする方法

スマートフォン向けのWebサイトを作ると、おおむね使われるJavascript。
Androidの実機でデバッグしたい時に、実機にコンソールを表示する方法と、PCに表示させる方法。

その① 実機のAndroid標準ブラウザでコンソールを表示する

(1)Android標準ブラウザを起動する
(2)アドレスバーに“about:debug”を入力してEnter
Android Javascript Console
(3)ブラウザの「サブメニュー」→「設定」に、”デバッグ”をタップ
Android Javascript Console
(4)“Show Javascript Console”にチェックが入っていることを確認 ※“UAString”でユーザーエージェントも変えられたりします
(5)ブラウザに戻って“SHOW JAVASCRIPT CONSOLE”をタップすると、コンソールログが表示される※以下のメソッドが使えるらしい
console.log();
console.info();
console.warn();
console.error();
Android Javascript Console
(6)コンソールを表示した状態でフォームにコードを入力し、“Evaluate”をタップすると、Javascriptが実行できちゃいます
(7)デバッグが終わったら、もう一回アドレスバーに“about:debug”を入力してEnter

その② Android SDKのadb(Android Debug Bridge)ツールを使ってPCに表示する

※実機とPCをUSBで繋いでおく
※実機の「設定」→「開発者向けオプション」→「USBデバッグ」にチェックを入れておく

(1)手始めにAndroid SDKをインストール ※仮にc:直下に保存
(2)コマンドプロンプトをたちあげる
(3)c:\android-sdk\sdk\platform-tools に移動
(4)“adb devices”を打って、接続が認識されているかを確認
Android Javascript Console
(5)“adb logcat -v time | findstr browser”で、ブラウザに関連するログを時間付きで表示
(6)“adb logcat -v time | findstr browser > log_20130530.txt”で、ブラウザに関連するログを時間付きでlog_20130530.txtに吐く

他にも、SDKのadbツールは、apkをインストール/アンインストールできるコマンドだったり、シェルを起動するコマンドもあり、いろんなことができて便利そうです。

PerformanceTest Mobile

スマートフォンの動きが遅い!もっさりしてきた!時の対処方法とその効果。

スマートフォンの動きが遅い!もっさりしてきた!って時に、
一番手っ取り早い対処が、端末の再起動。AndroidでもiPhoneでも同じ。

AndroidOSもiOSもマルチタスクで、並行して複数のプログラムが動くことで、
同時にいろいろな処理ができる。その反面、メモリが足りなくなって処理が重くなることがある。

一発再起動することで、タスク終了、メモリ解放、キャッシュクリアをしてくれるんで、
ヒマなときに再起動しましょう。特に古めのAndroid端末は1日1回やった方が良いと思う。

で、1週間ほど再起動してないiPhoneとAndroidで、再起動前後のベンチマークを比較してみた。
使ったアプリは「PerformanceTest Mobile」
Android:https://play.google.com/store/apps/details?id=com.passmark.pt_mobile
iPhone:https://itunes.apple.com/jp/app/performancetest-mobile/id494438360

CPU(演算処理,圧縮,暗号化)・ディスク(ストレージへの読み書き)・メモリ(RAMへの読み書き)の
パフォーマンスを計測。

■Android(Xperia arc)
再起動前→CPU:1307、メモリ:1723
再起動後→CPU:1346、メモリ:1749
※ディスクはなぜか計測不可

【再起動前】
PerformanceTest Mobile
PerformanceTest Mobile

【再起動後】
PerformanceTest Mobile
PerformanceTest Mobile

■iPhone(iPhone4S)
再起動前→CPU:9076、ディスク:3872、メモリ:1813
再起動後→CPU:9072、ディスク:6372、メモリ:2150

【再起動前】
PerformanceTest Mobile
PerformanceTest Mobile

【再起動後】
PerformanceTest Mobile
PerformanceTest Mobile

結果、iPhone4SのCPU以外は再起動後に数値が向上。
再起動で端末のスペックがあがることは物理的にないので、
ずーっと再起動せずに使い続けると、端末のパフォーマンスは低下していくってことなんだと思う。

FireMobileSimulator

Google Chrome(PC)でスマートフォンサイトをチェックできる便利なエクステンション

Chromeのエクステンション”FireMobileSimulator”をインストールして、User-agentを偽造すれば、
サイトによっては(※注1)スマートフォンサイトを閲覧可能になるよ、というお話。

インストール方法はちょー簡単。
Chromeウェブストアにアクセスして、画面右上の”CHROMEに追加”ボタンをクリックするだけ。

FireMobileSimulator

インストールすると、Chromeのアドレスバーの右側にアイコンが出てくるので、そのアイコンをクリックしてリストから端末を選択。

FireMobileSimulator

チェックしたいページを表示させれば、以下のようにスマートフォンサイトが見れます。

FireMobileSimulator

終了するときは、再度アイコンをクリックして、”端末選択解除”をクリックすればOK。

その他”オプション設定”で端末毎に解像度などの設定ができて、”最新端末リストから端末を追加”で端末の追加が可能。

(※注1)
yahooやGoogleなんかは↓のように見れます。htmlやcss、cookieなんかは見れるけど、ちゃんとしたデザインの確認には使えなそう。

FireMobileSimulator

GREEやMobageなどのブラウザゲームは、OAuth認証で偽造を防いでいるっぽい。
それでもググるとあの手この手でやり方があるみたいだけど、利用は自己責任で。

友だち自動追加

ちょっとコワい??LINEに出てくる知り合いかも?は、本当に知り合いなのか。

結論としては、知り合いじゃない人が出てくる可能性がある仕組み。
知り合いかも?に出てくるケースは、3つほどあるみたいで、

(1)相手が自分の電話番号をケータイの電話帳に登録していて、友だちに追加した場合

→例えば、昔ケータイ持ちたてで浮かれてた頃に電話番号を交換して、自分のケータイの電話帳にはその人の番号が残っていなくても、相手方のケータイに残っていれば、普通に起こりえる話。

なので、知り合いっちゃ知り合いになるのか。う~ん、、、ヘンな感じ。

あと、ケータイ番号は使い回しされるものなので、過去に自分の電話番号を保有してた人の知り合いも普通に出てくる。この現象を防ぎたい!って場合は、アプリを起動して、
その他→設定→友だち自動追加 で、「友だちへの追加を許可」のチェックを外せばOK。

あとは逆に、自分のケータイの電話帳に登録している電話番号が、知り合いじゃない人の保有に変わっている場合。この場合も、その他→設定→友だち自動追加 で、「友だち自動追加」をオフにすればOK。

友だち自動追加

(2)「ID検索」で自分のIDが検索されて、友だちに追加された場合

→まー、意図的に出会い系の掲示板とかでIDを晒してなければ、検索されなそうだけど。
イヤヤという場合は、その他→設定→プライバシー管理 で、「IDの検索を許可」のチェックを外せばOK。

プライバシー管理

(3)同じグループに参加している人で、友だちになっていない場合

→知り合いの知り合いが出てくるイメージ。
これがイヤヤの場合は、グループを退会しちゃえば良し。

結局、このアプリは電話帳にアクセスをして、電話番号をキーにしていろいろやってるアプリなので、
電話帳に登録していたり、されていると上のようなことがありますよ、というお話。

ユーザーがダウンロードする際に、連絡先データにアクセスする許可を取ってるとはいえ、
デフォルト設定で「友だちへの追加を許可」「友だち自動追加」はオフにしてくれた方が良いんじゃない?と思う今日この頃。

permission

IPv6

インターネットに接続できない?World IPv6 Launchによるスマートフォンへの影響。

最近出ていたニュース。
http://www.au.kddi.com/news/information/au_info_20120528.html
http://www.nttdocomo.co.jp/info/notice/page/120530_00_m.html

なにやら、

・2012年6月6日 9:00(日本時間)から、
・スマートフォンの対象端末を使って(上記リンク参照)、
・Wi-Fi経由のNTT東西のフレッツ回線で、
・https://で始まる特定のサイトを見る場合、
・アクセスできないことがあるらしい。

なぜアクセスができないかというと、
限られたユーザーがアクセスする(閉域網)、NTT東西のフレッツ回線では、
IPv6アドレスが配布されているけど、IPv6での通信が失敗してしまうというもの。

ちなみに、同じフレッツ回線でも、PCの場合は通信の遅延を起こるものの、
必ずしもアクセスができないということはないみたいです。

アクセス先のサイトがIPv6に対応しているかどうかは、
コマンドプロンプトで以下のコマンドを叩けば確認可能。

(1)C:\>nslookup→Enter
(2)set type=AAAA→Enter
(3)確認したいサイトのドメイン→Enter

これでIPv6のAdressが返ってくれば、IPv6対応サイトです。

このIPv6でアクセスできなくなる問題と、IPv4アドレス枯渇問題はまったく別物と言われているけれど、今後IPv6への対応がますます推進されていくんでしょーかね。

Avira Free Android Security

Android,iPhoneを失くしちゃった時のために、入れておきたいアプリ

ガラケーでは、特定の番号から数回不在着信を受けると自動的にロックがかかる、
遠隔ロックなる機能があったけど、auの一部の機種を除いてスマートフォンではついてないらしい。

Androidでは、”Avira Free Android Security”アプリが便利そうだったので、早速インストール。
このアプリを入れておくと、ケータイを失くした時にPCからの操作で、

・遠隔ロック(Lock)
・端末内のデータ消去(Wipe)
・端末がある場所を地図で表示してくれる(Locate Device)
・でっかい音でアラーム(警報)を鳴らす(Scream) ※かなり大音量

といった機能を使えたり、Dashboardで端末の電池残量を確認するといったこともできる。
Avira Free Android Security

手順としては、
(1)”Avira Free Android Security”アプリをインストール
(2)インストール時に入力した宛先に、メールが送られてくるので、メール本文の”Active Your Account”からブラウザに遷移
(3)パスワードを登録

あとは、トップページからログインすればおk。
Avira Free Android Security

iPhoneだと、iCloudの”iPhoneを探す“という無料アプリがあって、機能的には、”Avira Free Android Security”アプリと同じような機能が使えて便利そうなのでぜひ。

Googleに正しくスマートフォンサイトを認識してもらうための6つのポイント

2011年末、スマートフォン版のGooglebot-Mobileが導入されてからはや3ヶ月。
基本に立ち返って、ポイントを整理。

・クローラーのIPからのアクセスを許容する(IPで振り分けをしている場合)

IPアドレスはこちら。フィーチャーフォンといっしょ。
72.14.199.0/25 (72.14.199.0 – 72.14.199.127)
209.85.238.0/25 (209.85.238.0 – 209.85.238.127)

・クローラーのUser-agentからのアクセスを許容する(User-agentで振り分けをしている場合)

User-agentはこちら。iPhoneに偽造してやってくる。
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)

・スマートフォン用のクローラーと、スマートフォンのユーザーには同じコンテンツを返す

Googlebot-Mobileを特別扱いしない。
異なるコンテンツを返すと、クローキングとして判断され、ペナルティを受ける可能性がある。

・スマートフォンサイトとPCサイトを別URL(ドメイン)で展開している場合は、htmlのhead要素内に、rel=”canonical”を入れてURL正規化をする。

・サーバーの設定等、最低限の対応が済んだら、あとはひたすらコンテンツを充実させる。

なんだかんだ、これが一番重要だと思う。
オワコンとか言われてしまうサイトだと、いくらSEOを頑張ってもしょうがない。

・クローラーの対処を適切にしていれば、Googleがリダイレクトスキップをしてくれる。

サイトの作り的にPC用のページから、スマートフォン用のページにリダイレクトする作りになっていた場合、Googleさんが、リダイレクトスキップという機能で、検索結果ページから直接スマートフォン用ページに送ってくれる。

毎度リダイレクトしているとレスポンスが悪く、ユーザビリティが良くないので、そういうことをしてくれるらしい。

スマートフォンを海外で使う際に気をつけるべきこと。

何点か気づいた点を書いてみる。

(1)持ってる機種および、渡航先が使用可能かどうかチェックする。

※各キャリアの確認はコチラ。 docomo、au、softbank
そもそも機種や行き先が使えなければ意味がありません。

(2)パケット通信料、新たにプランに加入する必要があるか等をチェックする。

パケホーダイが適用される場合、3キャリアとも、だいたい20万パケット(1パケット=128byte)までは\1,980、以降は\2,980のプランになっている。

(3)着信を受けるだけでも着信料が発生するので要注意。

料金は、海外のネットワーク事業者によって異なる。
ただし、3キャリアとも着信規制が設定可。

(4)通話もネットも一切しない場合は、”機内モード”に設定しておく。

(5)メール設定で”自動受信”のチェックをはずす。機種に設定があれば”選択受信”にする。

docomoのスマートフォンは、”選択受信”機能は無い模様。。。
あと、”選択受信”にしていても、数パケットほどの通信は発生する。

(6)SkypeやLINEなど、”無料通話アプリ”でもパケット代がかかる。

海外で3G回線に繋いで使うと、パケット料金が大変なことになります。
というわけで、海外に行ってきたので、写真をアップ。

guamグアム合宿
ホテルから撮ったタモンビーチ。

guamグアム合宿
こちらはタモンストリート。

guamグアム合宿
ビーチでも街でも日本人が多い。

guamグアム合宿
天気良い。海気持ち良い。

guamグアム合宿
夕日も良い。プロ野球選手になったら自主トレはグアムが良い。

guamグアム合宿
牛、鳥、ロブスター、エビなど。

guamグアム合宿
“実弾射撃場”がたくさん。そんなに需要あんの?

guamグアム合宿
グアム名物・回転寿司と回転焼肉。

guamグアム合宿
海キレイ。自主トレするならやっぱグアム。

guamグアム合宿
ボートの上。ココス島での自主トレに向かう。

guamグアム合宿
快晴。

guamグアム合宿
パラセーリング。お値段約$40

guamグアム合宿
このように飛ばされます。スタッフは飽きてしまったのか、飛んでいるサマを見ようとしない。

guamグアム合宿
白い鳥。「シロアジサシ」と言うらしい。

guamグアム合宿
ココス島での自主トレを終え、本島に帰る。

guamグアム合宿
みんな大好き・Kマート。

guamグアム合宿
海に入ってコーラ飲んでを繰り返す。これ、最高。

guamグアム合宿
ナンパを頑張る日本人に何度も遭遇。

guamグアム合宿
やっぱ暖かい。自主トレするなら(ry

guamグアム合宿
泊ったホテル。洋服やさんとセットになっている。

guamグアム合宿
歩行者用信号機。切り替わるまで後xx秒と出るので、割と優しい。

リアルマネートレーディングで不正複製カードが大量発生…

ネット上ですごいことになってます。ソーシャルゲームの無断複製カード大量発生の件。

まとめサイトで流れを見ていると、こんな感じ。

・ネットで増殖方法が暴露される
・大多数のユーザーがやってみる。そしてレアカードの複製に成功。
・みんなヤフオクに出品しだす。そして入札が殺到。(\120,000とかで普通に入札されてる。。)
・トレーディングで荒稼ぎしていたユーザーの売上が晒される。

Webアプリにバグが潜在してたことが、根本原因だと思うけど、
”バグを作り込まない”以外でパッと思いつく対策を考えてみる。
(それが出来たら苦労しないので。)

・各種ログファイルの監視を徹底する

アプリケーションログ、SQLログ、サーバーログ、アクセスログ等々を監視ツールを使って監視する。
ルールを設けておいて、ルールに引っかかったログが吐かれたら、アラートを通知する。
どういう”ルール”にするのかが難しいけど、例えば、出現率が低いデータが、同一ユーザーに対してxx個になったら引っかけるとか。

・ユーザー申告を有耶無耶にしない。

ユーザーの勘違いで申告してきているかもしれないけど、調べられることを調べたうえで結論を出す。
クレームなんかも、まずはしっかり耳を傾けて聞きましょう。
普通にやっていても入手困難なデータが、大量にオークションサイトで売り捌かれてたら、
他のユーザーから何かしらの申告(クレーム)があるかもしれないなと。

結局、運用コストをどれだけ掛けられるか、に繋がると思いますが、機能拡張を一旦止めたとしても、
一度考えてみるのも良いんじゃないでしょうか。

My docomo checker

ケータイ料金をウィジェットで常にチェックして節約に繋げよう!!

”My docomo checker”というAndroidアプリで、
スマートフォンの月額の利用料金やパケット通信量をウィジェットに表示できるようにしておいて、
節約を意識しましょうよ、という話。
iPhoneアプリau、softbankのAndroidアプリにも、こういったアプリがあるらしい。

「来月の請求予定金額」や「残りの無料通話時間」や「パケット通信量」などの情報が、
いちいち、Webサイトでログインしなくても、スマートフォンのウィジェットで確認できるので、
かなり便利。

まず、インストール後起動したら、”docomo ID”と”パスワード”を入力
My docomo checker

My docomoから情報を引っ張ってきて、My docomoで確認できる情報がアプリで見られるように。
My docomo checker

これだとアプリを起動しないと確認できないので、Androidのホーム画面にウィジェットを追加し、
”My docomo checker”を選択すると、ホーム画面で「来月の請求予定金額」や「パケット通信量」が確認できるようになります。
My docomo checker

昨今スマートフォンの普及でトラフィックが増加し、各キャリアさんとも通信規制をかけており、パケット通信量が、各キャリアから公表されている上限値に達することは稀だと思うけど、このウィジェットでチェックしてみるのも良いんじゃないでしょうか。