【问题标题】:Mobile users unable to access Facebook page tab移动用户无法访问 Facebook 页面选项卡
【发布时间】:2013-03-29 04:44:02
【问题描述】:

我遇到了一个我无法为解决方案提供资金的问题。 我的 Facebook 页面上有一个标签(其中一个静态 HTML:iFrame 应用程序)。从 PC 访问它没有问题,但是当我尝试从移动设备访问该选项卡时,它说:

"未找到您请求的页面。 返回上一页”

有什么方法可以让我在移动设备上创建一个可访问的选项卡,或者只是将它们重定向到外部域?

谢谢!

【问题讨论】:

    标签: facebook iframe tabs fbml


    【解决方案1】:

    这是我用于重定向的 php 代码:

    // Mobile_Detect
    require 'Mobile_Detect.php';
    
    $detect = new Mobile_Detect;
    
    if (strpos('https://' . $_SERVER['HTTP_REFERER'] . $_SERVER['REQUEST_URI'], 'facebook.com') !== false && $detect->isMobile()) {
        echo '<html><head><script type="text/javascript">window.top.location.href = "https://yourappurl.com";</script></head><body></body></html>';
        die();
    }
    

    【讨论】:

      【解决方案2】:

      作为对此的更新,Facebook 现在会自动重定向到您的网站,而无需任何黑客攻击。

      为此,请确保您已将网站平台添加到您的应用中,并将您的移动网址放入其中。

      【讨论】:

      • 哪些配置设置允许自动重定向到移动网站?
      • 您应该只需要在 facebook 上的应用设置中添加您的网站信息。
      【解决方案3】:

      如何创建可移动访问的 Facebook Page Tab 应用程序

      为了创建一个Page Tab App,它具有移动访问版本(直接访问的外部网站,而不是通过 Facebook iFrame)。您需要在应用开发者设置中添加和配置 3 个不同的“平台”。这些应该配置如下:

      页面标签

      像往常一样配置它。

      • 页面标签名称您希望出现在页面标签上的名称
      • 页面标签网址您托管页面标签应用的网址(例如http://myapp.com/page-tab
      • 安全页面标签网址同样的东西,但前面有 https(例如 https://myapp.com/page-tab

      网站

      这是您为移动网站配置网址的地方

      • 移动网站 URL这是您希望移动用户被重定向到的 URL(例如 http://myapp.com/mobile-version
      • Site URL这是用于 Facebook Connect,如果您不使用 Facebook Connect,只需将您的移动 url 也放在这里。

      Facebook 上的应用

      这将成为您应用的门户。到达此页面的移动用户将被重定向到移动网站。您可以使用 javascript 将 桌面用户 重定向到您的 Facebook Page Tab App

      • Canvas 应用页面这将是 http://apps.facebook.com/my-app-namespace,这是您将在 Facebook 墙上或广告中发布的链接,或者您想要链接到页面标签的任何其他位置时间>
      • Canvas Url这是指向您的应用页面的链接,该链接将作为 iframe 嵌入到 canvas 应用页面上。您将使用此页面使用 JavaScript 重定向到您的页面选项卡。例如http://myapp.com/canvas-redirect
      • Secure Canvas Url这与上面相同,但前面带有 https(例如“https://myapp.com/canvas-redirect”)

      您的画布重定向脚本

      您希望通过桌面浏览器访问您的画布应用程序的人被重定向到您的页面标签应用程序。因为它是在 i-frame 中加载的,所以唯一的方法是使用 JavaScript。

      这将是您的 Canvas Url(上面的http://myapp.com/canvas-redirect)的内容:

      <script>top.location="http://facebook.com/page_tab_url/app_1234"</script>
      

      注意“top.location” - 这会将父窗口重定向到页面标签,而不仅仅是 iframe。当用户在桌面浏览器中到达画布页面时,他们将通过 JavaScript 重定向到您的 Page Tab App移动用户将被 Facebook 重定向到您在上面指定的移动网站网址

      在沙盒模式下测试

      如果您的应用处于沙盒模式,则只有应用的管理员、开发人员或测试人员才能看到它。特别是未登录 Facebook 或已登录 Facebook 但不是应用程序管理员或测试人员的用户,将无法访问应用程序画布页面 - 他们只会看到 404 错误。为了在应用处于沙盒模式时测试您的移动重定向,您需要确保您是应用的管理员、开发人员或测试人员,并且您已在手机的网络浏览器上登录 Facebook 的移动网站 - 即 iOS 上的 Safari 和 Android 上的 Chrome。仅在手机上登录 Facebook 移动应用程序不够,您还必须使用浏览器登录。

      关于用户角色的说明

      您可以通过单击应用设置中的“角色”选项卡来配置应用用户角色。您可以添加 Facebook 用户或 Facebook 群组作为任何角色。 (如果您添加一个组,该组中的所有用户都将具有应用程序中指定的角色)。为了让用户在应用中拥有特定角色,他们必须:

      (已编辑以反映更新的开发设置 UI 和可读性)

      【讨论】:

      • 这不起作用 - 我仍然收到来自 Facebook 的“找不到您请求的页面”消息,嵌入在“4oh4”中
      • 应用是否处于沙盒模式?如果是,您需要在移动网络浏览器中登录 facebook,否则您会收到 404。
      • 该应用处于全面生产模式,正如我们所说,正在积极向非移动 Facebook 用户提供服务。
      • 你一定是配置不匹配,因为我现在有几个应用程序以这种方式运行。
      • 我的移动网页 URL 与我的页面标签 URL 的文本完全相同; Canvas URL 是唯一不同的,因此它可以提供重定向。
      【解决方案4】:

      我很难弄清楚如何使用移动设备访问页面标签,感谢 Ben 在之前的评论中,我找到了一种方法。首先,您无法使用手机访问页面选项卡,因此您需要将其指向您的页面选项卡的来源。如果您使用画布,Facebook 可以为您执行此操作,但如果您使用台式计算机访问它,您将被重定向到您的画布链接,而不是您的页面选项卡。这就是我们修复它的方法:

      --

      1) 在设置 - 基本下进入您的应用(Facebook 开发人员)

      2) 从 Page Tab 部分(类似于 http://yourpagetab.yourdomain.com)复制您的 Page Tab URL,并将其粘贴到您的 Mobile Site URL em> 进入 Mobile Web 部分。

      3) 对 Facebook 上的应用 部分执行相同操作,但您必须使用重定向文件,而不是将其指向您的页面选项卡。让我们使用http://yourpagetab.yourdomain.com/redirection.php?fb

      请注意,您必须在链接末尾使用 ?fb。它什么都不做,但 Facebook 想要它。实际上它可能是?任何东西,可能只是?

      4) 创建redirection.php 文件(不要添加?fb)并在其中添加此代码

      <script>top.location="http://facebook.com/your_fb_page/your_page_tab"</script>
      

      您必须将 /your_fb_page/your_page_tab 替换为您的页面选项卡的链接。

      5) 保存!

      --

      现在,您所要做的就是使用 Facebook 为您提供的 Canvas Page 网址(在 Facebook 上的应用程序 下)。如果人们点击它并在桌面上,他们将被重定向到页面选项卡。如果他们在移动设备上,他们将被重定向到托管页面选项卡的网站。

      如果您使用的是粉丝门(用户必须在访问您的页面标签之前喜欢您的页面):这将不起作用,因为移动用户会卡在您的粉丝门上。

      解决这个问题的唯一方法是禁用扇门或使用 Mobile Detect(您可以在 Github 上搜索)并仅对使用移动设备的用户禁用它。如果您希望您的页面标签与移动用户一起使用,这是一个很小的代价。桌面用户仍然需要为您的页面点赞才能看到您的页面标签。

      【讨论】:

        【解决方案5】:

        我是静态 HTML 的开发人员之一。实际上,我们现在在应用程序中内置了一个功能,可以生成适用于移动设备和桌面的智能、缩短的链接。如果您单击编辑器顶部的“+”图标,它将拉出一个可共享的链接。

        如果您使用该链接,我们会发挥一些额外的作用,让您的标签页更适合小屏幕。

        编辑:我们已经放弃了特殊格式,因为它在 iOS 设备上会出现故障。

        【讨论】:

          【解决方案6】:

          您也可以使用这样的链接来阻止 facebook 重定向手机

          https://www.facebook.com/MyAppName/?sk=app_11111-APP-ID-11111&ref=ts

          【讨论】:

          • 当点击 Facebook Android 应用程序中的链接时,这似乎不起作用,我只会看到一个永无止境的加载屏幕。但在浏览器中使用移动 FB 网站时,它确实有效。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-08-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-03-21
          相关资源
          最近更新 更多