我为游戏开发了一个wap门户。我的问题是如何完美地检测手机设备。我的游戏提供商向我提供了如下支持的手机列表:
Nokia6300,SGH-X200,MOT 261,SIE-CX70,三星-SGH-Z140
因此,我必须检测特定wap用户所支持的游戏。
我可以使用以下命令很容易地检测到诺基亚设备的手机:
require_once('../TeraWurfl.php');
$wurflObj = new TeraWurfl();
$matched = $wurflObj->getDeviceCapabilitiesFromAgent();
$brand_name = $wurflObj->getDeviceCapability("brand_name");
$model_name = $wurflObj->getDeviceCapability("model_name");
$handset=$brand_name. $model_name;// Nokia6600 6300,Nokia6600等。
但问题在于赛门斯、摩托罗拉、三星( Samsung )的一些设备以及其他许多设备。假设用户代理:
SIE-CX70 70/36 UP.Browser/7.0.2.2.156(GUI) MMP/2.0配置文件/MIDP-2.0配置/CLDC-1.1
给我型号名称:,CX70,和品牌名称:,西门子,。因此,如果我连接,那么得到的值是:SiemensCX70.But,实际是:SIE-CX70。所以,信息不匹配。
现在我的问题是如何检测到完美的手机。请帮我找回真实的信息。
谢谢里亚德
发布于 2011-01-03 16:23:12
我想你已经知道了,没有简单的方法可以做到这一点,你需要在你的一侧保持一个映射,把WURFLMODELNAME映射到你的客户提供的实际手机上。这样,您就可以更好地显示手机名称。确保您可以进行多到一个映射,以便您可以将1或多个WURFL型号名称映射到1个手机显示名称。
发布于 2010-10-25 16:25:59
您可以使用UAProf (描述手机功能的RDF格式的URL )以及用户代理,因为UAProf并不总是存在于标头中。我不会说它是完美的,因为总有一些例外。我看到了一个具有无效格式的RDF文件。但这可能对你的案子有帮助。
请参考这个简单的例子(Restlet):
http://shengchien.blogspot.com/2010/09/restful-mobile-detection.html
https://stackoverflow.com/questions/3414715
复制相似问题