2010-05-09 5 views
55

"좋아요"버튼을 사용하여 페이스 북을 구현하는 데 관심이 있습니다. 그러나이 버튼을 클릭하면 어떤 유용한 정보를 얻을 수 있는지 알고 싶습니다. 내가 읽은 것에서, 페이스 북은 누가 무엇을 클릭하고 있는지에 관해 어둠 속에서 우리를 떠난다. 어떤 사용자가 특정 제품에 대해 같은 버튼을 클릭했는지 추적 할 수있는 방법에 대한 아이디어가 있습니까?Facebook "좋아요"버튼 콜백

업데이트 : 좋아하는 버튼은 iFrame 또는 xFBML을 통해 페이스 북에서 렌더링됩니다. 따라서 클릭에 대해 누가 클릭했는지 추적하거나 onclick 이벤트를 삽입하는 것이 어렵습니다.

+3

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

답변

6

좋아요, 그래서 어떻게 구현했는지 알려 드릴 수 있습니다. 내가 원했던 것은 페이스 북 사용자가 내 페이스 북 연결 앱 내에서 "좋아요"버튼을 클릭하는 UID였다. 사용자가 "좋아요"버튼을 클릭하면 facebook은 버튼에서 전달 된 URL을 가져 오므로 www.somewebsite.com/thisIsThePageIlike/facebookUID의 URL을 사용하여 로그인 한 각 사용자에 대해 고유 한 버튼을 렌더링했습니다. . 요청이이 url로 웹 서버에 올 때 콜백처럼 작동하고 사용자가 "like"를 클릭 한 경우 UID를 처리하고 기록합니다 (즉, 'like'의 레코드가 존재하지 않습니다. db 안에). 나를 위해 일합니다.

+0

훌륭한 솔루션입니다. –

+0

스마트 솔루션! –

0

그것은 내가 그렇게 단순히 www.somewebsite의 URL과 로그인 한 사용자 각각의 버튼과 같은 고유의 렌더링 내 고객의 사이트와 같은

<iframe src="http://www.facebook.com/plugins/like.php?href=www.jesterkaraoke.com&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe> 
9

에 대해 가지고있는 것과 같은 것이 될 것입니다. com/thisIsThePageIlike/facebookUID입니다.

같은 버튼을 사용하는 목적을 무효화하고 페이스 북 검색 순위를 엉망으로 만들지 않으십니까? 모든 사용자는 다른 URL을 좋아할 것이므로 페이 스북은 하나의 같은 개수의 페이지가 있다고 생각할 것입니다. edge.create 이벤트가

64
<script> 
    FB.Event.subscribe('edge.create', function(href, widget) { 
    alert('You just liked the page!'); 
    }); 
</script> 
+13

그냥 몇 가지 참조를 넣어 : http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/ – shem

1
window.fbAsyncInit = function() { 

    FB.Event.subscribe('edge.create', function (response) { 
     alert('Liked'); 
     }); 
    } 
    ); 
    FB.Event.subscribe('edge.remove', function (response) { 
     alert('DisLiked') 
    }); 
}; 

(function (d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) 
     return; 
    js = d.createElement(s); 
    js.id = id; 
    js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.7"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 

HTML을 발사하지 않는 경우

나는 또한 버튼과 같은 XFBML에 문제가 오전 : -

<div id="fb-root"></div><div class="fb-like" data-href="https://www.facebook.com/testpage" data-layout="standard" data-action="like" data-size="small" data-show-faces="true"></div> 
+1

이것은 작동하지 않습니다 –