device_detector 1.0.2 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +49 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +5 -6
  5. data/CHANGELOG.md +11 -0
  6. data/README.md +8 -7
  7. data/Rakefile +7 -4
  8. data/device_detector.gemspec +1 -0
  9. data/lib/device_detector/bot.rb +2 -2
  10. data/lib/device_detector/browser.rb +364 -0
  11. data/lib/device_detector/client.rb +11 -2
  12. data/lib/device_detector/device.rb +1168 -22
  13. data/lib/device_detector/memory_cache.rb +5 -5
  14. data/lib/device_detector/metadata_extractor.rb +7 -8
  15. data/lib/device_detector/model_extractor.rb +3 -3
  16. data/lib/device_detector/name_extractor.rb +2 -2
  17. data/lib/device_detector/os.rb +148 -116
  18. data/lib/device_detector/parser.rb +22 -9
  19. data/lib/device_detector/version.rb +1 -1
  20. data/lib/device_detector/version_extractor.rb +10 -2
  21. data/lib/device_detector.rb +73 -40
  22. data/regexes/bots.yml +909 -59
  23. data/regexes/client/browser_engine.yml +14 -2
  24. data/regexes/client/browsers.yml +1356 -241
  25. data/regexes/client/feed_readers.yml +10 -10
  26. data/regexes/client/libraries.yml +75 -1
  27. data/regexes/client/mediaplayers.yml +39 -3
  28. data/regexes/client/mobile_apps.yml +524 -45
  29. data/regexes/client/pim.yml +55 -2
  30. data/regexes/device/cameras.yml +6 -6
  31. data/regexes/device/car_browsers.yml +23 -3
  32. data/regexes/device/consoles.yml +9 -3
  33. data/regexes/device/mobiles.yml +16903 -3199
  34. data/regexes/device/notebooks.yml +114 -0
  35. data/regexes/device/portable_media_player.yml +20 -3
  36. data/regexes/device/shell_tv.yml +117 -0
  37. data/regexes/device/televisions.yml +440 -35
  38. data/regexes/oss.yml +603 -165
  39. data/regexes/vendorfragments.yml +6 -2
  40. data/spec/device_detector/concrete_user_agent_spec.rb +38 -51
  41. data/spec/device_detector/detector_fixtures_spec.rb +36 -37
  42. data/spec/device_detector/device_spec.rb +52 -56
  43. data/spec/device_detector/memory_cache_spec.rb +19 -19
  44. data/spec/device_detector/model_extractor_spec.rb +3 -3
  45. data/spec/device_detector/version_extractor_spec.rb +5 -6
  46. data/spec/device_detector_spec.rb +26 -26
  47. data/spec/fixtures/client/browser.yml +2617 -555
  48. data/spec/fixtures/client/feed_reader.yml +34 -52
  49. data/spec/fixtures/client/library.yml +129 -38
  50. data/spec/fixtures/client/mediaplayer.yml +59 -28
  51. data/spec/fixtures/client/mobile_app.yml +589 -20
  52. data/spec/fixtures/client/pim.yml +92 -19
  53. data/spec/fixtures/detector/bots.yml +1749 -458
  54. data/spec/fixtures/detector/camera.yml +30 -24
  55. data/spec/fixtures/detector/car_browser.yml +199 -3
  56. data/spec/fixtures/detector/console.yml +107 -45
  57. data/spec/fixtures/detector/desktop.yml +3216 -758
  58. data/spec/fixtures/detector/feature_phone.yml +935 -181
  59. data/spec/fixtures/detector/feed_reader.yml +181 -193
  60. data/spec/fixtures/detector/mediaplayer.yml +157 -60
  61. data/spec/fixtures/detector/mobile_apps.yml +914 -136
  62. data/spec/fixtures/detector/peripheral.yml +271 -0
  63. data/spec/fixtures/detector/phablet.yml +5593 -1533
  64. data/spec/fixtures/detector/portable_media_player.yml +398 -32
  65. data/spec/fixtures/detector/smart_display.yml +183 -9
  66. data/spec/fixtures/detector/smart_speaker.yml +60 -0
  67. data/spec/fixtures/detector/smartphone-1.yml +3930 -4239
  68. data/spec/fixtures/detector/smartphone-10.yml +3985 -7366
  69. data/spec/fixtures/detector/smartphone-11.yml +5083 -3784
  70. data/spec/fixtures/detector/smartphone-12.yml +8989 -0
  71. data/spec/fixtures/detector/smartphone-13.yml +9412 -0
  72. data/spec/fixtures/detector/smartphone-14.yml +9477 -0
  73. data/spec/fixtures/detector/smartphone-15.yml +9281 -0
  74. data/spec/fixtures/detector/smartphone-16.yml +9678 -0
  75. data/spec/fixtures/detector/smartphone-17.yml +9965 -0
  76. data/spec/fixtures/detector/smartphone-18.yml +9806 -0
  77. data/spec/fixtures/detector/smartphone-19.yml +9965 -0
  78. data/spec/fixtures/detector/smartphone-2.yml +6670 -4375
  79. data/spec/fixtures/detector/smartphone-20.yml +9710 -0
  80. data/spec/fixtures/detector/smartphone-21.yml +8693 -0
  81. data/spec/fixtures/detector/smartphone-22.yml +10178 -0
  82. data/spec/fixtures/detector/smartphone-23.yml +9453 -0
  83. data/spec/fixtures/detector/smartphone-24.yml +9843 -0
  84. data/spec/fixtures/detector/smartphone-25.yml +9703 -0
  85. data/spec/fixtures/detector/smartphone-26.yml +10007 -0
  86. data/spec/fixtures/detector/smartphone-27.yml +4927 -0
  87. data/spec/fixtures/detector/smartphone-3.yml +4656 -4711
  88. data/spec/fixtures/detector/smartphone-4.yml +3518 -4479
  89. data/spec/fixtures/detector/smartphone-5.yml +3805 -4803
  90. data/spec/fixtures/detector/smartphone-6.yml +3745 -4693
  91. data/spec/fixtures/detector/smartphone-7.yml +3721 -4645
  92. data/spec/fixtures/detector/smartphone-8.yml +4564 -4699
  93. data/spec/fixtures/detector/smartphone-9.yml +3897 -4888
  94. data/spec/fixtures/detector/smartphone.yml +3154 -4141
  95. data/spec/fixtures/detector/tablet-1.yml +4742 -4576
  96. data/spec/fixtures/detector/tablet-2.yml +3803 -4731
  97. data/spec/fixtures/detector/tablet-3.yml +6210 -2309
  98. data/spec/fixtures/detector/tablet-4.yml +9062 -0
  99. data/spec/fixtures/detector/tablet-5.yml +9273 -0
  100. data/spec/fixtures/detector/tablet-6.yml +4588 -0
  101. data/spec/fixtures/detector/tablet.yml +3629 -4613
  102. data/spec/fixtures/detector/tv-1.yml +2501 -0
  103. data/spec/fixtures/detector/tv.yml +8856 -2064
  104. data/spec/fixtures/detector/unknown.yml +412 -587
  105. data/spec/fixtures/detector/wearable.yml +915 -0
  106. data/spec/fixtures/device/camera.yml +4 -3
  107. data/spec/fixtures/device/car_browser.yml +9 -2
  108. data/spec/fixtures/device/console.yml +15 -14
  109. data/spec/fixtures/device/notebook.yml +7 -0
  110. data/spec/fixtures/parser/oss.yml +1392 -21
  111. data/spec/fixtures/parser/vendorfragments.yml +57 -51
  112. metadata +70 -4
@@ -1,161 +1,527 @@
1
1
  ---
2
- -
2
+ -
3
3
  user_agent: Mozilla/5.0 (iPod; U; CPU iPhone OS 4_2_1 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8C148
4
4
  os:
5
5
  name: iOS
6
- short_name: IOS
7
6
  version: "4.2.1"
8
7
  platform: ""
9
8
  client:
10
9
  type: browser
11
10
  name: Mobile Safari
12
- short_name: MF
13
11
  version: ""
14
12
  engine: WebKit
15
13
  engine_version: "533.17.9"
16
14
  device:
17
15
  type: portable media player
18
- brand: AP
16
+ brand: Apple
19
17
  model: iPod Touch
20
18
  os_family: iOS
21
19
  browser_family: Safari
22
- -
20
+ -
23
21
  user_agent: Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_0 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/4B2086
24
22
  os:
25
23
  name: iOS
26
- short_name: IOS
27
24
  version: "4.3.0"
28
25
  platform: ""
29
26
  client:
30
27
  type: browser
31
28
  name: Mobile Safari
32
- short_name: MF
33
29
  version: ""
34
30
  engine: WebKit
35
31
  engine_version: "533.17.9"
36
32
  device:
37
33
  type: portable media player
38
- brand: AP
34
+ brand: Apple
39
35
  model: iPod Touch
40
36
  os_family: iOS
41
37
  browser_family: Safari
42
- -
38
+ -
39
+ user_agent: Mozilla/5.0 (iPod touch; CPU iPhone OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G36 Instagram 9.7.0 (iPod5,1; iPhone OS
40
+ os:
41
+ name: iOS
42
+ version: "9.3.5"
43
+ platform: ""
44
+ client:
45
+ type: mobile app
46
+ name: Instagram App
47
+ version: "9.7.0"
48
+ device:
49
+ type: portable media player
50
+ brand: Apple
51
+ model: iPod Touch 5
52
+ os_family: iOS
53
+ browser_family: Unknown
54
+ -
43
55
  user_agent: Mozilla/5.0 (Linux; U; Android 2.3; fr-fr; COWON D3 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
44
56
  os:
45
57
  name: Android
46
- short_name: AND
47
58
  version: "2.3"
48
59
  platform: ""
49
60
  client:
50
61
  type: browser
51
62
  name: Android Browser
52
- short_name: AN
53
63
  version: ""
54
64
  engine: WebKit
55
65
  engine_version: "533.1"
56
66
  device:
57
67
  type: portable media player
58
- brand: CW
68
+ brand: Cowon
59
69
  model: D3
60
70
  os_family: Android
61
71
  browser_family: Android Browser
62
- -
72
+ -
63
73
  user_agent: Mozilla/5.0 (Linux; U; Android 2.3.5; fr-fr; COWON Z2 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
64
74
  os:
65
75
  name: Android
66
- short_name: AND
67
76
  version: "2.3.5"
68
77
  platform: ""
69
78
  client:
70
79
  type: browser
71
80
  name: Android Browser
72
- short_name: AN
73
81
  version: ""
74
82
  engine: WebKit
75
83
  engine_version: "533.1"
76
84
  device:
77
85
  type: portable media player
78
- brand: CW
86
+ brand: Cowon
79
87
  model: Z2
80
88
  os_family: Android
81
89
  browser_family: Android Browser
82
- -
90
+ -
83
91
  user_agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12; Microsoft ZuneHD 4.3)
84
92
  os:
85
93
  name: Windows CE
86
- short_name: WCE
87
94
  version: ""
88
95
  platform: ""
89
96
  client:
90
97
  type: browser
91
98
  name: IE Mobile
92
- short_name: IM
93
99
  version: "6.12"
94
100
  engine: Trident
95
101
  engine_version: ""
96
102
  device:
97
103
  type: portable media player
98
- brand: MS
104
+ brand: Microsoft
99
105
  model: Zune HD
100
106
  os_family: Windows Mobile
101
107
  browser_family: Internet Explorer
102
- -
108
+ -
103
109
  user_agent: Mozilla/5.0 (Linux; U; Android 2.1-update1; ja-jp; Panasonic SV-MV100 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
104
110
  os:
105
111
  name: Android
106
- short_name: AND
107
112
  version: "2.1"
108
113
  platform: ""
109
114
  client:
110
115
  type: browser
111
116
  name: Android Browser
112
- short_name: AN
113
117
  version: ""
114
118
  engine: WebKit
115
119
  engine_version: "530.17"
116
120
  device:
117
121
  type: portable media player
118
- brand: PA
122
+ brand: Panasonic
119
123
  model: SV-MV100
120
124
  os_family: Android
121
125
  browser_family: Android Browser
122
- -
126
+ -
123
127
  user_agent: Mozilla/5.0 (Linux; U; Android 2.3.6; ko-kr; YP-GB1 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
124
128
  os:
125
129
  name: Android
126
- short_name: AND
127
130
  version: "2.3.6"
128
131
  platform: ""
129
132
  client:
130
133
  type: browser
131
134
  name: Android Browser
132
- short_name: AN
133
135
  version: ""
134
136
  engine: WebKit
135
137
  engine_version: "533.1"
136
138
  device:
137
139
  type: portable media player
138
- brand: SA
140
+ brand: Samsung
139
141
  model: Galaxy Player 4.0
140
142
  os_family: Android
141
143
  browser_family: Android Browser
142
- -
144
+ -
143
145
  user_agent: Mozilla/5.0 (Linux; U; Android 2.3.6; it-it; YP-GI1 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
144
146
  os:
145
147
  name: Android
146
- short_name: AND
147
148
  version: "2.3.6"
148
149
  platform: ""
149
150
  client:
150
151
  type: browser
151
152
  name: Android Browser
152
- short_name: AN
153
153
  version: ""
154
154
  engine: WebKit
155
155
  engine_version: "533.1"
156
156
  device:
157
157
  type: portable media player
158
- brand: SA
158
+ brand: Samsung
159
159
  model: Galaxy Player 4.2
160
160
  os_family: Android
161
161
  browser_family: Android Browser
162
+ -
163
+ user_agent: Mozilla/5.0 (Linux; Android 5.1.1; HMT390Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.62 Safari/537.36
164
+ os:
165
+ name: Android
166
+ version: "5.1.1"
167
+ platform: ""
168
+ client:
169
+ type: browser
170
+ name: Chrome
171
+ version: "78.0.3904.62"
172
+ engine: Blink
173
+ engine_version: ""
174
+ device:
175
+ type: portable media player
176
+ brand: Xoro
177
+ model: HMT 390Q
178
+ os_family: Android
179
+ browser_family: Chrome
180
+ -
181
+ user_agent: Mozilla/5.0 (Linux; Android 4.4.2; HMT400 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36
182
+ os:
183
+ name: Android
184
+ version: "4.4.2"
185
+ platform: ""
186
+ client:
187
+ type: browser
188
+ name: Chrome Webview
189
+ version: "30.0.0.0"
190
+ engine: Blink
191
+ engine_version: ""
192
+ device:
193
+ type: portable media player
194
+ brand: Xoro
195
+ model: HMT 400
196
+ os_family: Android
197
+ browser_family: Chrome
198
+ -
199
+ user_agent: Mozilla/5.0 (Linux; Android 7.0; DV-PTB1080) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36
200
+ os:
201
+ name: Android
202
+ version: "7.0"
203
+ platform: ""
204
+ client:
205
+ type: browser
206
+ name: Chrome
207
+ version: 84.0.4147.125
208
+ engine: Blink
209
+ engine_version: ""
210
+ device:
211
+ type: portable media player
212
+ brand: Wizz
213
+ model: DV-PTB1080
214
+ os_family: Android
215
+ browser_family: Chrome
216
+ -
217
+ user_agent: Linux UPnP/1.0 Sonos/61.1-83170 (ZPS1)
218
+ os:
219
+ name: GNU/Linux
220
+ version: ""
221
+ platform: ""
222
+ client:
223
+ type: mediaplayer
224
+ name: SONOS
225
+ version: "61.1"
226
+ device:
227
+ type: portable media player
228
+ brand: SONOS
229
+ model: ZPS1
230
+ os_family: GNU/Linux
231
+ browser_family: Unknown
232
+ -
233
+ user_agent: Linux UPnP/1.0 Sonos/53.2-70100 (ZPS9)
234
+ os:
235
+ name: GNU/Linux
236
+ version: ""
237
+ platform: ""
238
+ client:
239
+ type: mediaplayer
240
+ name: SONOS
241
+ version: "53.2"
242
+ device:
243
+ type: portable media player
244
+ brand: SONOS
245
+ model: ZPS9
246
+ os_family: GNU/Linux
247
+ browser_family: Unknown
248
+ -
249
+ user_agent: Linux UPnP/1.0 Sonos/54.2-72031 (ZP90)
250
+ os:
251
+ name: GNU/Linux
252
+ version: ""
253
+ platform: ""
254
+ client:
255
+ type: mediaplayer
256
+ name: SONOS
257
+ version: "54.2"
258
+ device:
259
+ type: portable media player
260
+ brand: SONOS
261
+ model: ZP90
262
+ os_family: GNU/Linux
263
+ browser_family: Unknown
264
+ -
265
+ user_agent: Linux UPnP/1.0 Sonos/61.1-83170 (ZPS17)
266
+ os:
267
+ name: GNU/Linux
268
+ version: ""
269
+ platform: ""
270
+ client:
271
+ type: mediaplayer
272
+ name: SONOS
273
+ version: "61.1"
274
+ device:
275
+ type: portable media player
276
+ brand: SONOS
277
+ model: ZPS17
278
+ os_family: GNU/Linux
279
+ browser_family: Unknown
280
+ -
281
+ user_agent: Linux UPnP/1.0 Sonos/54.2-72160 (ZPS5)
282
+ os:
283
+ name: GNU/Linux
284
+ version: ""
285
+ platform: ""
286
+ client:
287
+ type: mediaplayer
288
+ name: SONOS
289
+ version: "54.2"
290
+ device:
291
+ type: portable media player
292
+ brand: SONOS
293
+ model: ZPS5
294
+ os_family: GNU/Linux
295
+ browser_family: Unknown
296
+ -
297
+ user_agent: Linux UPnP/1.0 Sonos/56.0-76060 (ZPS6)
298
+ os:
299
+ name: GNU/Linux
300
+ version: ""
301
+ platform: ""
302
+ client:
303
+ type: mediaplayer
304
+ name: SONOS
305
+ version: "56.0"
306
+ device:
307
+ type: portable media player
308
+ brand: SONOS
309
+ model: ZPS6
310
+ os_family: GNU/Linux
311
+ browser_family: Unknown
312
+ -
313
+ user_agent: Linux UPnP/1.0 Sonos/61.1-83170 (ZPS23)
314
+ os:
315
+ name: GNU/Linux
316
+ version: ""
317
+ platform: ""
318
+ client:
319
+ type: mediaplayer
320
+ name: SONOS
321
+ version: "61.1"
322
+ device:
323
+ type: portable media player
324
+ brand: SONOS
325
+ model: ZPS23
326
+ os_family: GNU/Linux
327
+ browser_family: Unknown
328
+ -
329
+ user_agent: Linux UPnP/1.0 Sonos/53.3-71050 (ZPS11)
330
+ os:
331
+ name: GNU/Linux
332
+ version: ""
333
+ platform: ""
334
+ client:
335
+ type: mediaplayer
336
+ name: SONOS
337
+ version: "53.3"
338
+ device:
339
+ type: portable media player
340
+ brand: SONOS
341
+ model: ZPS11
342
+ os_family: GNU/Linux
343
+ browser_family: Unknown
344
+ -
345
+ user_agent: Linux UPnP/1.0 Sonos/57.3-81090 (ZPS18)
346
+ os:
347
+ name: GNU/Linux
348
+ version: ""
349
+ platform: ""
350
+ client:
351
+ type: mediaplayer
352
+ name: SONOS
353
+ version: "57.3"
354
+ device:
355
+ type: portable media player
356
+ brand: SONOS
357
+ model: ZPS18
358
+ os_family: GNU/Linux
359
+ browser_family: Unknown
360
+ -
361
+ user_agent: Linux UPnP/1.0 Sonos/54.2-72031 (ZPS20)
362
+ os:
363
+ name: GNU/Linux
364
+ version: ""
365
+ platform: ""
366
+ client:
367
+ type: mediaplayer
368
+ name: SONOS
369
+ version: "54.2"
370
+ device:
371
+ type: portable media player
372
+ brand: SONOS
373
+ model: ZPS20
374
+ os_family: GNU/Linux
375
+ browser_family: Unknown
376
+ -
377
+ user_agent: Linux UPnP/1.0 Sonos/54.2-72160 (ZPS14)
378
+ os:
379
+ name: GNU/Linux
380
+ version: ""
381
+ platform: ""
382
+ client:
383
+ type: mediaplayer
384
+ name: SONOS
385
+ version: "54.2"
386
+ device:
387
+ type: portable media player
388
+ brand: SONOS
389
+ model: ZPS14
390
+ os_family: GNU/Linux
391
+ browser_family: Unknown
392
+ -
393
+ user_agent: Linux UPnP/1.0 Sonos/56.0-76060 (ZPS6)
394
+ os:
395
+ name: GNU/Linux
396
+ version: ""
397
+ platform: ""
398
+ client:
399
+ type: mediaplayer
400
+ name: SONOS
401
+ version: "56.0"
402
+ device:
403
+ type: portable media player
404
+ brand: SONOS
405
+ model: ZPS6
406
+ os_family: GNU/Linux
407
+ browser_family: Unknown
408
+ -
409
+ user_agent: Linux UPnP/1.0 Sonos/58.1-79200 (ZPS12)
410
+ os:
411
+ name: GNU/Linux
412
+ version: ""
413
+ platform: ""
414
+ client:
415
+ type: mediaplayer
416
+ name: SONOS
417
+ version: "58.1"
418
+ device:
419
+ type: portable media player
420
+ brand: SONOS
421
+ model: ZPS12
422
+ os_family: GNU/Linux
423
+ browser_family: Unknown
424
+ -
425
+ user_agent: Linux UPnP/1.0 Sonos/56.0-76060 (ZPS3)
426
+ os:
427
+ name: GNU/Linux
428
+ version: ""
429
+ platform: ""
430
+ client:
431
+ type: mediaplayer
432
+ name: SONOS
433
+ version: "56.0"
434
+ device:
435
+ type: portable media player
436
+ brand: SONOS
437
+ model: ZPS3
438
+ os_family: GNU/Linux
439
+ browser_family: Unknown
440
+ -
441
+ user_agent: Linux UPnP/1.0 Sonos/54.2-72160 (ZPS15)
442
+ os:
443
+ name: GNU/Linux
444
+ version: ""
445
+ platform: ""
446
+ client:
447
+ type: mediaplayer
448
+ name: SONOS
449
+ version: "54.2"
450
+ device:
451
+ type: portable media player
452
+ brand: SONOS
453
+ model: ZPS15
454
+ os_family: GNU/Linux
455
+ browser_family: Unknown
456
+ -
457
+ user_agent: Linux UPnP/1.0 Sonos/55.1-74250 (ZPS13)
458
+ os:
459
+ name: GNU/Linux
460
+ version: ""
461
+ platform: ""
462
+ client:
463
+ type: mediaplayer
464
+ name: SONOS
465
+ version: "55.1"
466
+ device:
467
+ type: portable media player
468
+ brand: SONOS
469
+ model: ZPS13
470
+ os_family: GNU/Linux
471
+ browser_family: Unknown
472
+ -
473
+ user_agent: Sonos;Play5;9b377073ea334637b1406f329ce005de;;tpapi;3.81.91
474
+ os: [ ]
475
+ client: null
476
+ device:
477
+ type: portable media player
478
+ brand: SONOS
479
+ model: Play:5
480
+ os_family: Unknown
481
+ browser_family: Unknown
482
+ -
483
+ user_agent: Sonos;One;9b377073ea334637b1406f329ce005de;;tpapi;3.81.91
484
+ os: [ ]
485
+ client: null
486
+ device:
487
+ type: portable media player
488
+ brand: SONOS
489
+ model: One
490
+ os_family: Unknown
491
+ browser_family: Unknown
492
+ -
493
+ user_agent: Mozilla/5.0 (Linux; U; Android 2.3.4; ja-jp; NW-Z1000Series Build/C121) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
494
+ os:
495
+ name: Android
496
+ version: 2.3.4
497
+ platform: ""
498
+ client:
499
+ type: browser
500
+ name: Android Browser
501
+ version: ""
502
+ engine: WebKit
503
+ engine_version: "533.1"
504
+ device:
505
+ type: portable media player
506
+ brand: Sony
507
+ model: Walkman Z1000
508
+ os_family: Android
509
+ browser_family: Android Browser
510
+ -
511
+ user_agent: Mozilla/5.0 (Linux; Android 5.1.1; LENCO Diverso-700) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36
512
+ os:
513
+ name: Android
514
+ version: 5.1.1
515
+ platform: ""
516
+ client:
517
+ type: browser
518
+ name: Chrome
519
+ version: 74.0.3729.157
520
+ engine: Blink
521
+ engine_version: ""
522
+ device:
523
+ type: portable media player
524
+ brand: Lenco
525
+ model: Diverso 700
526
+ os_family: Android
527
+ browser_family: Chrome