我遇到了一个我无法为解决方案提供资金的问题。 我的Facebook页面上有一个标签(其中一个是静态HTML:iFrame应用程序)。从PC访问它没有问题,但是当我尝试从移动设备访问选项卡时,它说:
“找不到您请求的页面。 返回上一页“
我是否可以通过某种方式创建可在移动设备上访问的标签,或者只是将其重定向到外部域?
谢谢!
答案 0 :(得分:58)
为了创建页面标签应用,其具有移动设备可访问版本(直接访问外部网站,而不是通过Facebook iFrame访问)。您需要在应用开发者设置中添加和配置3个不同的“平台”。这些应配置如下:
正常配置此项。
您可以在此处配置移动网站的网址
这将成为您应用的门户。到达此页面的移动用户将被重定向到移动网站。您可以使用javascript将桌面用户重定向到 Facebook页面标签应用。
您希望在桌面浏览器上到达您的画布应用的人被重定向到您的页面标签应用。因为它是在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重定向到页面选项卡应用程序。 移动用户将被Facebook重定向到您指定的移动网站网址。
如果您的应用处于沙盒模式,则只有应用的管理员,开发人员或测试人员才能看到它。特别是未登录Facebook的用户,或者登录Facebook但不是应用程序的管理员或测试人员的用户将无法访问应用程序画布页面 - 他们只会看到404错误。为了在应用程序处于沙盒模式时测试您的移动重定向,您需要确保您是该应用的管理员,开发人员或测试人员并且您已在手机的网络浏览器上登录Facebook的移动网站 - 即iOS上的Safari和Android上的Chrome。 不足以在手机上登录Facebook移动应用程序,您还必须使用浏览器登录。
您可以通过单击应用设置中的“角色”标签来配置应用用户角色。您可以添加Facebook用户或Facebook群组作为任何角色。 (如果添加组,则该组中的所有用户都将具有在应用程序中指定的角色)。为了让用户在应用上具有特定角色,他们必须:
(已编辑以反映更新的开发设置用户界面和可读性)
答案 1 :(得分:3)
作为对此的更新,Facebook现在会自动重定向到您的网站,而不需要任何黑客攻击。
要做到这一点,请确保您已将网站平台添加到您的应用并将移动网址放在那里。
答案 2 :(得分:1)
我很难弄清楚如何使用移动设备访问页面标签,感谢Ben在之前的评论中,我找到了一种方法。首先,您无法使用移动电话访问页面选项卡,因此您需要将其指向页面选项卡所在的位置。如果您使用画布,Facebook可以为您做到这一点,但如果您使用台式计算机访问它,您将被重定向到画布链接,而不是页面选项卡。这是我们解决它的方法:
-
1)在设置 - 基本
下进入您的应用程序(Facebook开发人员)2)从页面标签部分(类似http://yourpagetab.yourdomain.com)复制页面标签网址,然后将其放在移动网站网址中进入移动网站部分。
3)对Facebook上的 App 部分执行相同操作,但不必将其指向页面选项卡,而是必须使用重定向文件。我们使用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上 App 下)。如果人们点击它并在桌面上,他们将被重定向到页面选项卡。如果他们使用移动设备,则会将其重定向到托管页面标签的网站。
如果您正在使用粉丝门(用户必须在访问您的页面标签之前喜欢您的页面):这不会起作用,因为移动用户会卡在您的粉丝门上。
实现这一目标的唯一方法是禁用扇形门或使用Mobile Detect(您可以在Github上搜索)并仅为移动用户禁用它。如果您希望页面选项卡与移动用户一起使用,那么这是一个很小的代价。桌面用户仍然需要您的页面才能看到您的页面标签。
答案 3 :(得分:0)
您还可以使用此类链接停止Facebook重定向手机
https://www.facebook.com/MyAppName/?sk=app_11111-APP-ID-11111&ref=ts
答案 4 :(得分:0)
我是Static HTML的开发人员之一。我们实际上已经在应用程序中内置了一个功能,可以生成适用于移动和桌面的智能,缩短的链接。如果单击编辑器顶部的“+”图标,它将拉出可共享的链接。
如果您使用该链接,我们会做一些额外的魔术,以便您的标签更适合小屏幕。
编辑:我们已经放弃了特殊格式,因为它在iOS设备上很糟糕。
答案 5 :(得分:0)
这是我用于重定向的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();
}