I'm reading Facebook's documentation so I can figure out how to enable Facebook Connect on my site. What confuses me is which parts apply to Facebook applications and Facebook Connect, because I'll be reading along, thinking I'm learning about Facebook Connect, but then I'll reach a section that mentions Facebook applications. For example, here's an except from the page on Data.getCookies:
This method returns all cookies for a given user and application.
Cookies only apply to Web applications; they do not apply to desktop applications.
I think of my website as a Web application, but I can't tell if "Web applications" simultaneously refers to Facebook Connect sites and Facebook applications. How can I tell if what I'm reading applies to Facebook Connect and not just Facebook apps?
In that context, "Web applications" refers to canvas based apps with Facebook. "Desktop apps" is the other type mentioned there, and refers to a non-web app like a widget for your system tray in Windows.
I would look at the Facebook platform as a set of APIs:
Facebook canvas applications (Apps you use in FB. What users think of as "Facebook apps")
FBML / FBJS apps
Iframe canvas apps
Facebook desktop applications (Rare)
Facebook connect applications (Websites with elements of FB in them. CNN, Digg)
Web
iPhone
Note that all of these can access the Facebook API, the REST and FQL interface. Most of the documentation is for FBML canvas applications. On the left side of the Facebook developer wiki you can see a few top-level options:
API (you can always use this)
FBML (canvas apps only)
XFBML (Facebook connect only)
FQL (you can always use this)
FBJS (mostly canvas apps, some connect functionality)
I'm sure you've seen:
http://wiki.developers.facebook.com/index.php/Facebook_Connect
Which is the main connect documentation. I hope this helps you get organized.
Good luck!
Many aspects of the FB web applications (like FBML, FQL) are common for both FB apps and FB Connect. I would say that FB Connect is more likely to be used on sites implementing more FB's visual elements (FBML). Additionally, FB Connect can be used off-line (where the user does not have a current session directly with FB).
I admit that the documentation is fairly scattered and often quite vague - but once you keep reading more and more about it, the concepts become clearer. At least that was my experience.
I recently found a great blog post that describes the differences between FBML canvas pages, iframe canvas pages and Facebook Connect sites. It focuses more on the technical difference between FBML and iframe apps, but since these technologies are mentioned throughout Facebook's documentation, it seems almost essential for Facebook Connect developers to have a basic understanding of regular Facebook apps, even though they won't be working with them directly. I think knowing about this page a few months ago would have saved me alot of heartache.
Related
This is a pretty basic question. I wasn't clear after a bit of research what types of Facebook apps one could create.
I think one kind is a web app which gets incorporated into Facebook web pages. I think it kind of works like an iFrame. Am I understanding this correctly?
I'm not clear about iOS and Android apps. Are they separate mobile apps that use Facebook authentication OR do they get incorporated into Facebook's own mobile app?
Canvas (resp. Facebook Web Games, as it is now known, after Facebook decided to name a new, more directly end-user facing feature "Canvas" for marketing reasons) and Page Tab apps are the ones where the content is shown on Facebook in an iframe. You can use the API & FB login on external websites, too.
Native Android and iOS apps are individual, stand-alone apps, they are not integrated into the official Facebook app; but are using the Facebook platform -
login & API - to create a "social experience" for their users. Distribution of those apps to the end user usually works via the official Play/App store; in addition to the review Facebook requires, Google and Apple might require additional review before your app gets in there.
I'm trying to develop a facebook app for facebook pages (Ex: the page has a tab that opens the app directly in the facebook interface).
Unfortunatly i'm not finding any documentation about... I found docs for classical facebook apps, (Ex: a website that want to load some data from facebook).
I don't understand how this kind of apps work.. Are the apps only iframes that show one of my server php? how can I define this relation?
I see buzzfeed did some changes on their website, and now buzzfeed URLs shared on facebook are shown as below
Links shared on facebook opened inside facebook like new window. It doesn't requests any other browser or facebook apps browser. Page loads very fast. How it's possible to implement? What technology uses Buzzfeed for it?
The feature is called Instant Articles and is available for publishers, it seems more like people publishing the articles on their platform.
see: https://instantarticles.fb.com/
I try to understand the difference betweeen a facebook canvaas application and a facebook enabled website. For me the only difference is that Canvas integrates into Facebook with an iFrame and Websites are stand allone.
But in terms of policy and functionality these two types look the same. Is this true or am I wrong?
For all extents and purposes they are the same. On Canvas/Page apps there is an additional signed_request post that is sent to your application with a little FB specific information that doesn't get provided to the website.
I have read the Platform Policies and there was an interesting definition:
By "Application" we mean canvas page application, Platform integration, or any other technical integration we have assigned an application identification number
I assume in terms of policy they are all treated the same way. One exeption: Games on canvas pages are obligated to use Facebook Credits.
In terms of functionality it seems that canvas pages have the advantage of sending requests and using bookmarks. Now for games there are additonal stories during playing.
I just wanted to know if there is a way to host a facebook application in facebook's servers and not elsewhere. is facebook providing hoting for applications?
Thanks
There is no hosting provided by facebook for facebook applications. There are currently two types of facebook applications: iFrame and FBML. iFrame apps can be coded using the sdk's in your language of choice and are a bit more open as far as javascript, database and other functionality. The FBML apps must be written using facebook's markup language FBML, FBJS and FQL for queries. This route is a bit more limited as you can only use the FB markup, js and query languages. Whichever one of these paths you choose you will need to host your code yourself.
You should check this out:
http://developers.facebook.com/docs/guides/canvas/
Facebook recently updated these docs with the release of the GraphAPI, they are much better than before. Good place to get started.