有没有办法执行完全匹配Facebook的移动检测的移动检测?

时间:2013-04-01 20:11:49

标签: facebook mobile facebook-apps

我正在构建混合Facebook应用程序:桌面用户将被定向到Page Tab,而移动用户将被定向到Mobile Web App

我需要找出一种快速,准确的方法来检测用户的设备并执行适当的重定向 - 理想情况是不太复杂。可以吗?

1 个答案:

答案 0 :(得分:1)

...是啊!绝对可以做到。

Facebook会自动将尝试访问Canvas App(apps.facebook.com/your_app)的移动用户重定向到与其等效的Mobile Web App。

因此,只需将服务器端重定向设置为apps.facebook.com/your_app,并设置从Canvas应用程序到页面选项卡的客户端重定向。

Facebook将移动用户重定向到您的移动网络应用程序;桌面用户将登陆您的Canvas App,它会立即将其重定向到您的Page Tab。

服务器端重定向在PHP中如下所示:

<?php
header('Location: http://apps.facebook.com/your_app', TRUE, 302);
exit;

客户端重定向在JavaScript中如下所示:

<script type="text/javascript">window.top.location.href = "http://yoururl.com/desktop/";</script>

这是一个可靠的解决方案,比尝试匹配用户代理要好得多。您的用户代理列表可能与Facebook不同;事实上,Facebook与其执行移动重定向的方式非常不一致。