Androidのユーザーエージェントから情報を取得する
Google ウェブマスター向け公式ブログ: Android のユーザーエージェントの検出について
ユーザーエージェントの内容に応じてモバイル サイトにリダイレクトするかどうかを判断するのであれば、文字列「android」だけではなく、「mobile」と「android」の両方を検出してほしいということです。
Android Developers Blog: Android Browser User-Agent Issues
ふーん。そうかー。
なるほど、docomoのAndroidタブレットOptimus Pad L-06Cのユーザーエージェントには「mobile」がないですね。
Mozilla/5.0 (Linux; U; Android 3.0.1; ja-jp; L-06C Build/HRI66) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
でも、少し前のGALAXY Tab SC-01Cには「mobile」が含まれていますので注意。
Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-01C Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Opera mobileのことを考慮して、「android」と「mobi」で判定するのはどうでしょうか?
Opera/9.80 (Android 2.3.2; Linux; Opera Mobi/ADR-1103311355; U; ja) Presto/2.7.81 Version/11.00
#!/usr/bin/perl my $is_android = 0; my $is_smart_phone = 0; if ( $ENV{HTTP_USER_AGENT} =~ /android/i and $ENV{HTTP_USER_AGENT} =~ /mobi/i ) { $is_android = 1; $is_smart_phone = 1; }
【関連記事】
Andoridのユーザーエージェントから情報を取得する - Kimura.Memo
Android+Opera mobile - Kimura.Memo