php – 什么是Facebook应用程序画布和页面选项卡?

我花了很多时间阅读FB开发文档和教程,但我仍然对画布应用程序和页面选项卡以及如何使用它们感到困惑.

我期望在我的网站中使用FB SDK是在登录屏幕上有“继续Facebook”按钮,有几个共享和类似的按钮,并发送通知给Facebook如果用户允许.我的网站有内部邮件系统,我想通知用户我的网站中发生了新邮件或活动.通过这种方式,用户不必每天检查我的网站上的重要用户体验活动,因为我预计会有罕见的活动(每周活动很少).

我已经运行了一切,但在用户点击通知后,他将被带到画布应用程序. FB文档和教程侧重于代码示例,但我还没有找到关于什么画布应用程序的任何描述.如果没有这种基本的理解,我无法完成我的通知逻辑,无法理解所涉及的术语,如“安全的画布网址”,并且基本上对用户体验(我希望尽可能地做出来)感到自信.

如果我谷歌“什么是Facebook画布应用程序”我得到“Canvas是一个沉浸式和富有表现力的Facebook体验,让企业能够讲述他们的故事并展示他们的产品.”显然,从下面的评论那是别的……

如果有人可以用简单的词语解释,也许是一个例子什么是画布应用程序,如果考虑到我的主要目标是通知用户我的网站中的活动到他们的fb帐户,我应该如何使用appreacite.

我正在使用CI框架PHP SDK v5.

背景

在Facebook中,您可以创建在“平台”上运行的“应用程序”.作为一个快速,非常简化的摘要,应用程序可以运行的三种主要“平台”类型是:

>您托管和控制的网站,但与Facebook Graph API集成(有Facebook登录,发布等),但在其他方面看起来像一个普通的网站.您在自己的服务器上托管这些.
>一个旨在坐在Facebook平台上的iFrame内的网站.这些应用程序通常也会与Facebook Graph进行交互.您仍然将它们托管在您自己的服务器上,但是您具有额外的优势,但在页面加载时可以获得有关用户的有限信息.
>独立程序(包括移动应用程序)也与Facebook Graph交互.

你所谈论的是第二个 – Facebook上的iFrame.

Facebook提供了两种嵌入应用程序iFrame的方法

>一个是画布应用程序.对于Facebook页眉,页脚和右侧的一些广告,它具有最小的环绕声.它可以最大化您的空间. (例如https://apps.facebook.com/candycrush/?fbs=-1&fb_appcenter=1)
>另一个是“页面标签”(https://developers.facebook.com/docs/pages/tabs).这个更小,设计用于公司的“Facebook页面”,因此空间更小.然而,作为营销人员,它会让所有品牌都更贴近您的公司. (例如:https://www.facebook.com/NutellaANZ/app/595447743881506/)

请注意,单个应用程序可以跨上述所有内容运行 – 画布,页面选项卡和独立的HTML页面.随着API的一些转移,您还可以为移动设备包装相同的代码并放在应用商店中.用户可以登录您的移动应用程序,您可以让他们登录网站,反之亦然(在某些限制内,但您需要探索这些内容).

仅限游戏?

你说得对,大多数与应用程序相关的Facebook文档都是指游戏.
确实,一个好的起点是https://developers.facebook.com/docs/games/gamesonfacebook,现在可以帮助您了解Canvas应用程序.

但它不一定是游戏 – 只要你使用API​​,任何东西都会起作用.当你提到PHP时,请看一下https://developers.facebook.com/docs/php/howto/example_access_token_from_canvas – 没有提到游戏,但是你是如何从PHP中的iFrame获取信息的. (还有更多的阅读要做!).

阅读通知

点击通知时,Facebook会向URL添加参数.其中一些由通知决定(见https://developers.facebook.com/docs/games/services/appnotifications),其他一些将帮助您获得有关用户的信息(https://developers.facebook.com/docs/reference/login/signed-request,https://developers.facebook.com/docs/php/SignedRequest/5.0.0).

因此,请使用此信息服务器端来确定用户是谁以及您希望如何处理用户.但是,一旦您进入Facebook生态系统,您想要给用户的体验取决于您.

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...