페이스북 페이지 내에서 이벤트를 진행하려고 할 때, 해당 페이지에 ‘좋아요’를 누른 팬과 누르지 않은 사용자에게 다른 내용을 보여주고 싶을 때가 있습니다.

이벤트의 경우 팬이 아닌 사람들의 이벤트 참여를 미연에 방지하고, 당첨자 선정에서도 ‘해당 페이스북 페이지의 팬’이라는 ‘조건’에 부합하는 사람들만 선정할 수 있다는 장점이 있습니다. 물론 이벤트 신청 후 ‘좋아요’를 취소하지 않는 선에서 말이죠.

이벤트가 아닌 경우에도 마찬가지로 우리 페이지의 팬 들에게만 유용한 정보를 주고 싶은 경우 등 다양하게 활용할 수 있습니다.

이러한 기능을 웹상에서는 ‘Fan Gate’ 또는 ‘Fan Reveal Tab’ 등으로 부르고 있는데요, 실제로 페이스북을 이용하다 보면 다양한 페이지에서 이 기능을 사용하고 있다는 것을 알 수 있습니다.

PHP를 이용하면 간단하게 이 방식을 사용할 수 있는데요, 지금부터 그 방법에 대해 알아보도록 하겠습니다.

[php]

<?php
require ‘facebook.php’;
$app_id = "YOUR_APP_ID";
$app_secret = "YOUR_APP_SECRET";
$facebook = new Facebook(array(
‘appId’ => $app_id,
‘secret’ => $app_secret,
‘cookie’ => true
));

$signed_request = $facebook->getSignedRequest();

$page_id = $signed_request["page"]["id"];
$page_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
$country = $signed_request["user"]["country"];
$locale = $signed_request["user"]["locale"];

// 팬일 경우
if ($like_status == 1) {
$a = file_get_contents("fan.html");
echo ($a);
} else {
// 팬이 아닐 경우
$a = file_get_contents("nonfan.html");
echo ($a);
}

?>

[/php]

1. index.php 파일 생성

위 소스를 페이스북 탭에서 가장 먼저 불러오도록 index.php 파일로 저장합니다.

이 index.php 파일과 함께 facebook.php 파일이 필요한데요, 해당 파일은 github를 통해서 다운 받으실 수 있습니다.

2. APP ID와 APP SECRET의 입력

다음으로 가장 먼저 수정해야 하는 부분은 APP ID와 APP SECRET를 입력하는 것입니다.

[php]
<pre>$app_id = "YOUR_APP_ID";
$app_secret = "YOUR_APP_SECRET";
[/php]

위 소스에서 YOUR_APP_ID와 YOUR_APP_SECRET 부분을 페이스북 개발자를 통해 만든 앱의 APP ID와 APP SECRET를 입력합니다.

3. Fan과  Fan이 아닌 사람들이 보는 페이지 제작

그 다음으로 하셔야 하는 일은 바로 Fan일때 보이는 페이지와 Fan이 아닐 때 보이는 페이지, 총 2개를 만들어야 합니다. 예를 들어 페이지의 팬은 fan.html 파일을 보여주고 fan이 아닌 사람은 nonfan.html 파일을 보여준다는 식으로 말이죠.

[php]
// 팬일 경우
if ($like_status == 1) {
$a = file_get_contents("fan.html");
echo ($a);
} else {
// 팬이 아닐 경우
$a = file_get_contents("nonfan.html");
echo ($a);
}
[/php]

nonfan.html 파일에는 기본적으로 fan.html 파일과 동일한 디자인으로 구성되어 있지만 이벤트에 참여할 수 있는 버튼 클릭이 안된다거나, fan.html에 쓰인 디자인 파일 위에 하나의 레이어를 덧입혀 ‘이벤트에 참여하기 위해 ‘좋아요’를 눌러주세요’ 등과 같은 메시지를 보여주는 방식으로 활용 가능합니다.