7

我对 facebook 画布应用程序和 facebook 移动 Web 应用程序之间的区别有点困惑。这是我困惑的背景..

我有一个画布应用程序,让我们将其命名空间称为 myfbapp,我基本上可以从https://apps.facebook.com/myfbapp访问它在我登录 FB 后,它会在 Facebook 中打开。我在服务器端实现使用 java (apache / tomcat),为了简单起见,让我们说我的 Web 应用程序中只有一个 index.html 和一个 authenticationfilter.java(它实现了过滤器)。我的 index.html 中没有任何 Facebook 特定的 Javascript API(没有 FB.init() javascript 或类似的东西)或代码。每当用户访问我的画布应用程序时,我首先会收到对我的 Web 应用程序的请求,在该应用程序中我获得了 signed_request 、 oauth_token 、 FB 用户 ID 等,我可以将其用于我的内部身份验证、会话创建等。我对这个画布应用程序和一切正常。请注意,当用户访问此应用程序时,我从浏览器到我的应用程序服务器的请求具有 signed_request 、 user_id 等。

现在我想让这个应用程序也可以在移动设备上使用,我想,哦,我需要做的就是在 Facebook 的移动网络应用程序部分为同一个 myfbapp 添加这个应用程序的移动 URL。我这样做了,当我从我的 android 手机登录到 facebook 时,正如预期的那样,myfbapp 列在应用程序部分下,到目前为止一切都很好。当我点击应用程序时,问题就开始了。我在我的应用服务器上收到请求,但它不包含 signed_request 、 user_id 等。????? 我期待移动应用程序的工作方式与画布应用程序相同,但显然它没有,或者我做错了一些事情。

然后我开始在http://developers.facebook.com/docs/guides/mobile/web/#register阅读更多关于 Facebook 移动应用程序的内容,其中谈到了在 index.html 中添加各种 Facebook Javascript API(我从来没有做过类似的事情在我的画布应用程序中)然后我开始思考,可能是移动网络应用程序更像(或完全)像带有 FB 连接的常规网络应用程序,而不像画布应用程序(意味着它并没有真正在 Facebook 中加载),这是真的?

4

2 回答 2

12

在移动 Facebook 上,您看不到任何自定义页面/标签。他们目前显然正在为此工作。

所以它与画布应用程序不同。您的移动应用程序将是一个完全独立的网站和页面,不在 Facebook 的 iFrame 中。

于 2012-01-06T05:02:18.310 回答
1

我最近在移动设备上使用 Facebook 画布/页面标签发现了一些行为。也许这有助于更好地理解 facebook 在移动环境中的行为方式。


移动浏览器

访问应用程序 URL

示例网址 http://apps.facebook.com/myapp/

重定向到下配置的移动网站Settings > Website > Mobile Site URL并添加其他参数/?ref=web_canvas&code=<signed_request_code_field>

关于 signed_request 代码字段

一个 OAuth 代码,可以通过随后的服务器端请求交换为有效的用户访问令牌

访问应用中心

无法通过移动浏览器访问 Facebook 应用中心。

访问页面选项卡

示例网址 http://facebook.com/a_facebook_page/custom_page_tab_url

自定义页面选项卡在移动浏览器中不可见。

Facebook 开放图谱搜索

搜索myapp会返回 Facebook 画布的链接。

与通过移动浏览器访问应用程序 URL相同的行为


移动脸书客户端

访问应用程序 URL

无法直接访问此 url。

访问应用中心

无法访问 Facebook 应用中心。

访问页面选项卡

示例网址 http://facebook.com/a_facebook_page/custom_page_tab_url

通过移动 facebook 客户端看不到自定义页面选项卡。

Facebook 开放图谱搜索

它说这个应用程序与这个设备不兼容。

您需要注册一个 iOS / Android 应用程序并将用户发送到此应用程序以消除此错误。如果将独立应用程序的链接添加到应用程序的 Facebook 描述中,可能会对用户有所帮助。然后应该在那里可见。

于 2015-01-10T14:20:45.303 回答