Durian

端末情報取得

端末情報取得

概要

Durianを使用すると、リクエストを行った端末の機種情報をアプリケーション側から利用することができます。

フィルタ方式の場合、HttpServletRequestオブジェクトの属性からPropertiesオブジェクトとして取得できます。プロキシ方式では、HTTPリクエストヘッダから取得します。

端末情報項目一覧

キー(親要素) キー(子要素) 説明
device mobile, smartPhone, PC, unknown デバイス区分
carrier DoCoMo, SoftBank, au, Disney, unknown キャリア名
networkService i-mode, YahooKeitai, ezweb, unknown サービス名
networkService2 (※7) i-mode, YahooKeitai, ezweb, iPhone, spmode, isnet, pcsiteviewer, unknown サービス名2
series 900iなど 製品シリーズ(DoCoMoのみ)
maker Mitsubishi, Panasonic, FUJITSUなど メーカー名
productName N905i, 910SH, W53Sなど 製品名
requestName N905i, 910SH, SN3Bなど リクエストヘッダーに記述された機種ID
color 数値 表示可能な色数
colorMode mono/color モノクロかカラーか
characterWidth 数値 表示可能文字数(横・全角換算)
characterHeight 数値 表示可能文字数(縦)
screenPixelWidth 数値 待ち受け画像表示可能ピクセル数(横)
screenPixelHeight 数値 待ち受け画像表示可能ピクセル数(縦)
pixelWidth 数値 表示可能ピクセル数(横)
pixelHeight 数値 表示可能ピクセル数(縦)
browserVersion(※5) 1.0, 2.0, 6.2, 7.2 など ブラウザバージョン
markupLanguage name CHTML, SHTML, IXHTML, SXHTMLなど マークアップ言語名
markupLanguage version 1.0, 2.0, 3.0 など マークアップ言語のバージョン
markupLanguage contentType text/html; charset=Shift_JIS, application/xhtml+xml; charset=Shift_JISなど マークアップ言語のコンテントタイプ
characterEncoding Shift_JISなど 使用可能なエンコーディング方式
escapeAttributeValue true/false 属性の値を & などにエスケープするかどうか
escapePathParameter true/false パスパラメータに含まれる記号をエスケープするかどうか
escapeFormControlName true/false formのname属性をURLエンコードしてHTML出力するかどうか
tableSupport true/false テーブルタグが使用可能かどうか
styleAttributeSupport true/false style属性が使用可能かどうか
fontSizeAttributeSupport true/false fontタグのsize属性が使用可能かどうか
cssSupport true/false CSSのサポート
mailtoParam subject,body, cc,bcc mailto機能に付加可能なパラメータ
mailtoEncoding Shift_JIS, UTF-8 mailtoで指定するパラメータのエンコーディング
postSupport true/false POSTメソッドのサポート
imageFormat GIF,PNG,JPEGなど 使用可能な画像フォーマット方式
animationGif true/false アニメーションGIFに対応しているかどうか
progressiveJpeg (※1) true/false プログレッシブJPEGに対応しているかどうか
melodyFormat Mfi1, Mfi2, Mfi3, Mfi4, SMAF, SMD, CMIDI, Qcelp, MP4, 3GPP2 メロディフォーマット
polyphonicCount 数値 最大同時発音数
applicationFormat JAM,KJX,JAD Javaアプリケーションフォーマット
applicationVersion DoJa1.0, Phase2, MIDP2.0など Javaアプリケーションバージョン
iAppliSupport true/false iAppliに対応しているかどうか(DoCoMoのみ)
movieFormat ASF, 3GPP2, MP4 動画フォーマット
flashSupport true/false flashに対応しているかどうか
flashVersion (※3) Lite1.0, Lite1.1, Lite2.0 Flashバージョン
maxFlashBytes (※3) 20000, 48000, 100000, 150000 Flash最大サイズ
ezAtMail true/false @mail対応しているかどうか(ezweb端末のみ)
deviceType C2, C3, C4, P4, P5, P6, P7, W, 3GC SoftBankの端末タイプ
glyphSetName i-mode, i-mode-ex, YahooKeitai-C, YahooKeitai-P, ezweb-1, ezweb-2 グリフセット(絵文字)の名前
glyphSetName2 (※2) i-mode, i-mode-ex, YahooKeitai-C, YahooKeitai-P, ezweb-1, ezweb-2, ezweb-3, ezweb-4 グリフセット(絵文字)の名前(Durian4.1以降で使用)
cameraSupport true/false カメラをサポートしているかどうか
qvga true/false QVGAであるかどうか
sslSupport true/false SSLをサポートしているかどうか
japaneseFilenameSupport true/false 日本語ファイル名をサポートしているかどうか
maxImageBytes 数値 画像変換での最大画像ファイルサイズ
fullscreenImageSupport true/false 壁紙サイズの画像をブラウザ表示可能かどうか
htmlMailSupport (※3) true/false HTMLメールサポート
htmlMailName (※3) decomail, decorationmail, arrangemail HTMLメール名称
htmlMailTemplateSupport (※3) true/false HTMLメールテンプレートサポート
htmlMailTemplateVersion (※3) 1.0, 2.0 HTMLメールテンプレートバージョン
screenThemeSupport (※3) true/false スクリーンテーマサポート。きせかえツール(DoCoMo)、EZケータイアレンジ(au)、カスタムスクリーン(SoftBank)の対応状況を示します。
gpsSupport (※4) true/false GPSをサポートしているかどうか
crawler (※6) true/false クローラーからのアクセスかどうか
crawlerGroup (※6) Yahoo/Google/MSNなど クローラーのグループ名

※1 2007/4/3追加

※2 2007/5/28追加

※3 2007/8/20追加

※4 2009/5/11追加

※5 2009/10/19追加

※6 2010/11/5追加

※7 2011/5/19追加

フィルタ方式での取得方法

上記表のキー値を用いてPropertiesオブジェクトから値を取り出します。Propertiesオブジェクトからは以下のキーを使用することで情報取得が可能です。

一つのキー値の要素の個数 (キー名)@length
一つのキーのn番目の要素 (キー名)[n]

この[n]というインデックス指定はたとえimageFormat要素の個数が1個だったとしても1と指定する必要があります。このインデックスの基底値は1です。


例えば、端末情報の中の"imageFormat"プロパティに存在する要素の個数を取得するには以下のようなキー値を指定します。

imageFormat@length

また、この要素の中の1番目の値を取得する場合は、以下のようなキー値を指定します。

imageFormat[1]

マークアップ言語の名前を取り出すには

markupLanguage[1]/name[1]

というキー値を指定してPropertiesオブジェクトから値を取り出します。簡単な流れとしては以下のようになります。


1.リクエストオブジェクトからPropertiesオブジェクトを取り出す。

Properties prop = (Properties)request.getAttribute("termInfo");

2.Propertiesオブジェクトからキー値を使用して値を取得する。

String value = prop.getProperty("markupLanguage[1]/name[1]");

プロキシ方式での取得方法

プロキシ方式の場合は端末情報はHTTPリクエストヘッダでプロキシ先に送信されます。

ただし送信されるヘッダはDurian管理ツールで選択されている項目だけとなります。

取得したいヘッダをDurian管理ツールで指定してください。


HTTPヘッダの名前は以下のようになります。

X-Durian-上記表のキー名(※)

※キー名は先頭が大文字で途中の大文字の間に-(ハイフン)が挿入された形式になります

以下にその表を記します。

送信されるヘッダ名 対応する端末情報キー名
X-Durian-Device device
X-Durian-Carrier carrier
X-Durian-Network-Service networkService
X-Durian-Network-Service2(※7) networkService2
X-Durian-Series series
X-Durian-Maker maker
X-Durian-Product-Name productName
X-Durian-Request-Name requestName
X-Durian-Color color
X-Durian-Color-Mode colorMode
X-Durian-Character-Width characterWidth
X-Durian-Character-Height characterHeight
X-Durian-Screen-Pixel-Width screenPixelWidth
X-Durian-Screen-Pixel-Height screenPixelHeight
X-Durian-Pixel-Width pixelWidth
X-Durian-Pixel-Height pixelHeight
X-Durian-Markup-Language markupLanguage
X-Durian-Character-Encoding characterEncoding
X-Durian-Escape-Attribute-Value escapeAttributeValue
X-Durian-Escape-Path-Parameter escapePathParameter
X-Durian-Escape-Form-Control-Name escapeFormControlName
X-Durian-Table-Support tableSupport
X-Durian-Style-Attribute-Support styleAttributeSupport
X-Durian-Font-Size-Attribute-Support fontSizeAttributeSupport
X-Durian-Css-Support cssSupport
X-Durian-Mailto-Param mailtoParam
X-Durian-Mailto-Encoding mailtoEncoding
X-Durian-Post-Support postSupport
X-Durian-Image-Format imageFormat
X-Durian-Animation-Gif animationGif
X-Durian-Progressive-Jpeg(※1) progressiveJpeg
X-Durian-Melody-Format melodyFormat
X-Durian-Polyphonic-Count polyphonicCount
X-Durian-Application-Format applicationFormat
X-Durian-Application-Version applicationVersion
X-Durian-I-Appli-Support iAppliSupport
X-Durian-Movie-Format movieFormat
X-Durian-Flash-Support flashSupport
X-Durian-Flash-Version(※3) flashVersion
X-Durian-Max-Flash-Bytes(※3) maxFlashBytes
X-Durian-Ez-At-Mail ezAtMail
X-Durian-Device-Type deviceType
X-Durian-Glyph-Set-Name glyphSetName
X-Durian-Glyph-Set-Name2(※2) glyphSetName
X-Durian-Camera-Support cameraSupport
X-Durian-Qvga qvga
X-Durian-Ssl-Support sslSupport
X-Durian-Japanese-Filename-Support japaneseFilenameSupport
X-Durian-Max-Image-Bytes maxImageBytes
X-Durian-Fullscreen-Image-Support fullscreenImageSupport
X-Durian-Remote-Ip remoteIp
X-Durian-Gps-Support gpsSupport
X-Durian-Html-Mail-Support(※3) htmlMailSupport
X-Durian-Html-Mail-Name(※3) htmlMailName
X-Durian-Html-Mail-Template-Support(※3) htmlMailTemplateSupport
X-Durian-Html-Mail-Template-Version(※3) htmlMailTemplateVersion
X-Durian-Screen-Theme-Support(※3) screenThemeSupport
X-Durian-Gps-Support(※4) gpsSupport
X-Durian-Crawler(※6) crawler
X-Durian-Crawler-Group(※6) crawlerGroup

※1 2007/4/3追加

※2 2007/5/28追加

※3 2007/8/20追加

※4 2009/5/11追加

※5 2009/10/19追加

※6 2010/11/5追加

※6 2011/5/19追加

値が一つの項目は以下のように送信されます。

X-Durian-Product-Name: N-06B

送信されるヘッダの値が複数ある場合は、カンマ区切りで送信されます。

X-Durian-Image-Format: GIF, JPEG

サブキーを含むキーの場合は、サブキー=値をセミコロンで区切った形式で送信されます。

X-Durian-Markup-Language: name=CHTML; version=5.0; contentType="text/html; charset=Shift_JIS"
Durian® is a registered trademark of Symmetric Co., Ltd.

© 2006- All Rights Reserved Symmetric Co., Ltd.