【问题标题】:How detect all iOS devices using Wurfl? [closed]如何使用 Wurfl 检测所有 iOS 设备? [关闭]
【发布时间】:2012-01-31 07:57:51
【问题描述】:
我们已经为我们的网站创建了一个 iOS 应用程序,我们希望将所有 iOS 访问者重定向到 iTunes 商店。我们的网站使用 Zend 框架和配置好的 wurfl。
现在,我们尝试通过浏览器名称重定向
$bootstrap = $this->getInvokeArg('bootstrap');
$view = $bootstrap->getResource('useragent')->getDevice()->getBrowser();
if($view == 'Chrome') {
$this->view->mobile = true;
}
【问题讨论】:
标签:
php
zend-framework
mobile
wurfl
【解决方案1】:
CTO @ScientiaMobile 和 WURFL 创建者在这里。我建议您查看http://wurfljs.com/
简而言之,如果你导入一个很小的 JS 文件:
<script type='text/javascript' src="http://wurfljs.com/wurfl.js"></script>
您将得到一个如下所示的 JSON 对象:
{
"complete_device_name":"Google Nexus 7",
"is_mobile":true,
"form_factor":"Tablet"
}
(当然,这是假设您使用的是 Nexus 7)并且您将能够执行以下操作:
if(WURFL.is_mobile){
//dostuff();
}
另外重要的是,我们通过利用 javascript 来识别 iPhone 的实际模型(这允许我们利用通过 HTTP 标头的纯粹分析无法获得的信息)
请注意,我为提供这项免费服务的公司工作。谢谢。
【解决方案2】:
可以通过检查设备操作系统能力来识别iOS设备:
假设您已经设置了 WURFL 管理器:
$device = $wurflManager->getDeviceForUserAgent($_SERVER["HTTP_USER_AGENT"]);
if ($device->getCapability("device_os") == "iPhone OS") {
// device is an iPhone or iPod
}