0

[下面是我在使用 ASP.NET C# API 使用 ScientiaMobile/WURFL 为世界上任何给定的移动用户代理获取屏幕分辨率(以像素为单位)之前所做的测试。另请注意:我已经包含了其他示例来支持我的主张,但它们不是理解/解释问题所必需的阅读,所以请不要感到害怕,因为它们(“更新”及以后)用于存档/附录使用。

只是为了向您展示我的意思,如果您转到此 URL,您可以在其中输入用户代理并显示/返回屏幕分辨率:

http://tools.scientiamobile.com/?user-agent-string=

现在,输入以下用户代理并单击提交:

Mozilla/5.0 (Linux; U; Android 2.3.5; ru-ru; Philips W632 Build/GRJ90) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

或者,只需单击下面的此链接(而不是),我已将用户代理嵌入到 URL 中:

http://tools.scientiamobile.com/?user-agent-string=Mozilla%2F5.0+%28Linux%3B+U%3B+Android+2.3.5%3B+ru-ru%3B+Philips+W632+ Build%2FGRJ90%29+AppleWebKit%2F533.1+%28KHTML%2C+like+Gecko%29+版本%2F4.0+Mobile+Safari%2F533.1

现在,正如您所看到的,它声称屏幕分辨率是320x480,现在,在谷歌上快速搜索该特定手机型号(飞利浦 W632)会产生一个完全不同的答案,即屏幕分辨率480x800(这些都以像素为单位)为在这里可见:

http://www.phonegg.com/phone/2614-Philips-W632

现在,如果仅在一项上是错误的,我会理解,但我已经放入了随机(但真实的)移动用户代理(现在测试了大约 5 个)并且它们都证明是错误的。所以,我想知道我使用框架的方式是否有问题(现在不使用 API,但在我提交之前在上面的测试页面上进行测试)。

如果您愿意,这里有更多结果/示例:

电话:诺基亚 308,WURFL 声称176Wx120H,这里:

http://tools.scientiamobile.com/?user-agent-string=Nokia308%2F2.0+%2807.55%29+Profile%2FMIDP-2.1+Configuration%2FCLDC-1.1+Mozilla%2F5.0+%28Series40%3B +诺基亚308%2F05.80%3B+配置文件%2FMIDP-2.1+配置%2FCLDC-1.1%29+Gecko%2F20100401+S40OviBrowser%2F2.0.2.68.13.8+UNTRUSTED%2F1.0

谷歌在这里声称240Wx400Hhttp ://www.gsmarena.com/nokia_asha_308-5010.php

最后一个我会做...

电话:Nokia 3250,WURFL 声称90Wx90H,这里:

http://tools.scientiamobile.com/?user-agent-string=OneBrowser%2F3.1+%28Nokia3250%2F04.60%29

谷歌在这里声称176Wx208Hhttp ://www.phonegg.com/phone/199-Nokia-3250

有任何想法吗?我是不是用错软件了?

更新:其他示例,无需阅读:

刚刚注意到,它对 的报告是正确Huawei H88 3G,但对于许多其他小屏幕设备来说仍然是错误的!

Mozilla/5.0(兼容;MSIE 10.0;Windows Phone 8.0;Trident/6.0;IEMobile/10.0;ARM;Touch;华为;H883G;HuaweiH883G)

看看这些!更多失败

电话:Verizon HTC Droid Incredible 2 ADR6350,WURFL 声称:320Wx480H,这里:

http://tools.scientiamobile.com/?user-agent-string=TweetDeck+1.0.7.4+%28ADR6350%3B+us%3B+Android+2.3.4%29%0D%0A

谷歌480Wx800H在这里声明: http://pdadb.net/index.php?m=specs&id=2819&c= verizon_htc_droid_incredible_2_adr6350

电话:诺基亚 E71-1,WURFL 声称:172Wx120H,这里:

http://tools.scientiamobile.com/?user-agent-string=Mozilla%2F5.0+%28Java%3B+U%3B+en-us%3B+nokiae71-1%29+UCBrowser8.3.1.161% 2F70%2F352%2FUCWEB+移动+不可信%2F1.0

谷歌在这里声称320Wx240Hhttp ://www.gsmarena.com/nokia_e71-2425.php

电话:索尼爱立信 ST25i,WURFL 声称:128Wx92H,这里:

http://tools.scientiamobile.com/?user-agent-string=UCWEB%2F2.0+%28Linux%3B+U%3B+Adr+2.3.7%3B+en-US%3B+ST25i%29+ U2%2F1.0.0+UCBrowser%2F8.2.0.242+U2%2F1.0.0+手机

谷歌在这里声称480Wx854Hhttp ://www.phonebunch.com/phone/sony_ericsson_st25i_kumquat-296/

4

2 回答 2

1

ScientiaMobile 首席技术官 Luca Passani 在这里。众所周知,ScientiaMobile 一直在监控移动网络是否有新设备和浏览器的到来,并微调 WURFL 以实现出色的设备检测。当然,一个人可以沿着在日志中找到的 UA 字符串的长尾走多远,最终找到 WURFL 无法识别的东西。在我看来,这里就是这种情况。但这没关系。我们很乐意接受挑战 :)

提到的一些设备实际上不在 WURFL 中,但它们很快就会出现。

就 UCWeb 而言,即将推出一项重大更新(API 1.5),极大地改进了对日益流行的网络浏览器的检测。虽然 API 1.5 仍未发布,但已向提出请求的商业客户提供了一个功能性测试版,该版本为他们引入了新功能。

其他 UA 来自应用程序。在不久的将来,我们也会有一些关于 App 检测的消息,但是相信我,将应用程序 uas 不加选择地投入 WURFL 不会是大多数 WURFL 用户想要的。

最后,我们会更乐意在我们的开发者论坛上讨论这样的问题(这也保证了 ScientiaMobile 团队更快的周转时间,因此这是一项有利于所有相关部分的交易)。

谢谢卢卡帕萨尼

于 2013-08-05T08:53:35.530 回答
1

[剧透警告-我为 ScientiaMobile 工作]

WURFL 专注于基于 Web 浏览器用户代理字符串检测设备。除了正确识别的两个之外,您提供的其余样本均来自应用程序。我们很快就会有一个更新来改进对 UCWEB 的检测,因为它是一个网络浏览器(和一个应用程序),但是像 Droid Incredible 示例(实际上是 TweetDeck 应用程序)这样的东西TweetDeck 1.0.7.4 (ADR6350; us; Android 2.3.4)一直在变化,并且检测托管应用程序的设备的屏幕尺寸是有限的。

如果您有一个令人信服的用例来准确检测此流量,我们很高兴与您交谈。

于 2013-08-05T01:03:32.827 回答