Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Event handling to detect if user clicks a 'Like' button in XFBML page

Tags:

facebook

xfbml

I have a Facebook connect app / canvas IFrame app which has a Like control for a fanpage.

I'd like to detect when the user clicks the Like button to be able to display additional info (a discount coupon code).

I'm using the latest Javascript API but the events that can be handled doesn't seem to include detection of social widget controls. The documentation for the Like Plugin doesn't show any events.

However I know its definitely possible because if I have two Like buttons on a page they both instantly update each other if I like or unlike whatever it is.


Edit: It is specifically allowed to require someone to become a fan for a promotion :

4.2 In the rules of the promotion, or otherwise, you will not condition entry to the promotion upon taking any action on Facebook, for example, updating a status, posting on a profile or Page, or uploading a photo.

You may, however, condition entry to the promotion upon becoming a fan of a Page.

like image 492
Simon_Weaver Avatar asked May 14 '10 22:05

Simon_Weaver


2 Answers

I think Facebook updated their documentation since I first looked :

Now its clearer :

http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe

A 'like' click is the edge.create event

like image 96
Simon_Weaver Avatar answered Sep 24 '22 20:09

Simon_Weaver


Official FAQ:

Q: How do I know when a user clicks a Like button?

A: If you are using the XFBML version of the button, you can subscribe to the 'edge.create' event through FB.Event.subscribe.

Source: Core Concepts › Social Plugins › Like Button

like image 32
Antonio Avatar answered Sep 23 '22 20:09

Antonio