Class Jpmobile::Mobile::Au
In: lib/jpmobile/mobile/au.rb
Parent: AbstractMobile

au携帯電話

CDMA 1X, CDMA 1X WINを含む。

Methods

Constants

USER_AGENT_REGEXP = /^(?:KDDI|UP.Browser\/.+?)-(.+?) /   対応するUser-Agentの正規表現
LOCATION_UNSUPPORTED_DEVICE_ID = ["PT21", "TS25", "KCTE", "TST9", "KCU1", "SYT5", "KCTD", "TST8", "TST7", "KCTC", "SYT4", "KCTB", "KCTA", "TST6", "KCT9", "TST5", "TST4", "KCT8", "SYT3", "KCT7", "MIT1", "MAT3", "KCT6", "TST3", "KCT5", "KCT4", "SYT2", "MAT1", "MAT2", "TST2", "KCT3", "KCT2", "KCT1", "TST1", "SYT1"]   簡易位置情報取得に対応していないデバイスID www.au.kddi.com/ezfactory/tec/spec/eznavi.html
GPS_UNSUPPORTED_DEVICE_ID = ["PT21", "KC26", "SN28", "SN26", "KC23", "SA28", "TS25", "SA25", "SA24", "SN23", "ST14", "KC15", "SN22", "KC14", "ST13", "SN17", "SY15", "CA14", "HI14", "TS14", "KC13", "SN15", "SN16", "SY14", "ST12", "TS13", "CA13", "MA13", "HI13", "SN13", "SY13", "SN12", "SN14", "ST11", "DN11", "SY12", "KCTE", "TST9", "KCU1", "SYT5", "KCTD", "TST8", "TST7", "KCTC", "SYT4", "KCTB", "KCTA", "TST6", "KCT9", "TST5", "TST4", "KCT8", "SYT3", "KCT7", "MIT1", "MAT3", "KCT6", "TST3", "KCT5", "KCT4", "SYT2", "MAT1", "MAT2", "TST2", "KCT3", "KCT2", "KCT1", "TST1", "SYT1"]   GPS取得に対応していないデバイスID

Public Instance methods

デバイスIDを返す

[Source]

    # File lib/jpmobile/mobile/au.rb, line 66
66:     def device_id
67:       if @request.user_agent =~ USER_AGENT_REGEXP
68:         return $1
69:       else
70:         nil
71:       end
72:     end

画面情報を Display クラスのインスタンスで返す。

[Source]

    # File lib/jpmobile/mobile/au.rb, line 50
50:     def display
51:       p_w = p_h = col_p = cols = nil
52:       if r = @request.env['HTTP_X_UP_DEVCAP_SCREENPIXELS']
53:         p_w, p_h = r.split(/,/,2).map {|x| x.to_i}
54:       end
55:       if r = @request.env['HTTP_X_UP_DEVCAP_ISCOLOR']
56:         col_p = (r == '1')
57:       end
58:       if r = @request.env['HTTP_X_UP_DEVCAP_SCREENDEPTH']
59:         a = r.split(/,/)
60:         cols = 2 ** a[0].to_i
61:       end
62:       Jpmobile::Display.new(p_w, p_h, nil, nil, col_p, cols)
63:     end
ident_subscriber()

Alias for subno

位置情報があれば Position のインスタンスを返す。無ければ nil を返す。

[Source]

    # File lib/jpmobile/mobile/au.rb, line 24
24:     def position
25:       return nil if params["lat"].blank? || params["lon"].blank?
26:       l = Jpmobile::Position.new
27:       l.options = params.reject {|x,v| !["ver", "datum", "unit", "lat", "lon", "alt", "time", "smaj", "smin", "vert", "majaa", "fm"].include?(x) }
28:       case params["unit"]
29:       when "1"
30:         l.lat = params["lat"].to_f
31:         l.lon = params["lon"].to_f
32:       when "0", "dms"
33:         raise "Invalid dms form" unless params["lat"] =~ /^([+-]?\d+)\.(\d+)\.(\d+\.\d+)$/
34:         l.lat = Jpmobile::Position.dms2deg($1,$2,$3)
35:         raise "Invalid dms form" unless params["lon"] =~ /^([+-]?\d+)\.(\d+)\.(\d+\.\d+)$/
36:         l.lon = Jpmobile::Position.dms2deg($1,$2,$3)
37:       else
38:         return nil
39:       end
40:       if params["datum"] == "1"
41:         # ただし、params["datum"]=="tokyo"のとき(簡易位置情報)のときは、
42:         # 実際にはWGS84系のデータが渡ってくる
43:         # http://www.au.kddi.com/ezfactory/tec/spec/eznavi.html
44:         l.tokyo2wgs84!
45:       end
46:       return l
47:     end

EZ番号(サブスクライバID)があれば返す。無ければ nil を返す。

[Source]

    # File lib/jpmobile/mobile/au.rb, line 18
18:     def subno
19:       @request.env["HTTP_X_UP_SUBNO"]
20:     end

cookieに対応しているか?

[Source]

    # File lib/jpmobile/mobile/au.rb, line 85
85:     def supports_cookie?
86:       true
87:     end

GPS位置情報取得に対応している場合は true を返す。

[Source]

    # File lib/jpmobile/mobile/au.rb, line 80
80:     def supports_gps?
81:       ! GPS_UNSUPPORTED_DEVICE_ID.include?(device_id)
82:     end

簡易位置情報取得に対応している場合は true を返す。

[Source]

    # File lib/jpmobile/mobile/au.rb, line 75
75:     def supports_location?
76:       ! LOCATION_UNSUPPORTED_DEVICE_ID.include?(device_id)
77:     end

[Validate]