Facebook Tab: nascondere il contenuto ai non fan

Aggiornamento: Gennaio 2012

Layout preconfigurato per ospitare una landing page su Facebook.

La particolarità di questa tab è che potete decidere quale contenuto mostrare ai fans e quale ai non fans.
E’ necessario avere la libreria Facebook PHP sul proprio server. Scaricate lo .zip da questo link: Libreria facebook.php e scompattatelo sul vostro server, possibilmente nella stessa cartella dove risiede la landing tab (in modo da avere index.php e facebook.php nella stessa cartella).

Ricordatevi di sostituire tutti i campi necessari nel codice a seguire, come ad esempio “YOUR APP ID” ecc ecc.
Per far funzionare il pulsante like dovete inserire l’url completo dell’app al posto di “FACEBOOK URL TO REFRESH” come da esempio (riga 54): http://www.facebook.com/yourfanpage?sk=app_###############

Infine in riga 33 e 35 potete inserire due contenuti diversi per fans della vostra pagina e chi invece ancora non lo è. Considerateli come due diversi div e inserire il codice html.

<?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();
$like_status = $signed_request["page"]["liked"];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>YOUR PAGE TITLE HERE</title>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.Canvas.setSize();
}
// Do things that will sometimes call sizeChangeCallback()
function sizeChangeCallback() {
FB.Canvas.setSize();
}
</script>
<base target='_blank' />
</head>
<body>
<div id="container">
<?php if ($like_status) { ?>
FAN CONTENT HERE
<?php } else { ?>
NONFAN CONTENT HERE
<?php } ?>
</div>
<div id="fb-root"></div>
<script src="https://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : 'INSERT YOUR APP ID HERE',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
window.fbAsyncInit = function() {
FB.Canvas.setAutoResize();
}
</script>
<script>
FB.Event.subscribe('edge.create',
function(response){
top.location.href = 'FACEBOOK URL TO REFRESH';
});
</script>
</body>
</html>

Se questo articolo ti è stato di aiuto puoi votarlo, commentarlo o condividerlo con i tuoi amici, grazie!

VN:F [1.9.14_1148]

Vota questo articolo:

Rating: 5.0/5 (1 vote cast)
Facebook Tab: nascondere il contenuto ai non fan, 5.0 out of 5 based on 1 rating

Articoli correlati:

Articolo scritto da Giovanni Sacheli

Fondatore di EVE Milano
Consulente e analista SEO & SEM
Social Media Advertiser
Info
Google Profile


Commenti

  1. Ermanno dice:

    Sto provando questo script da stamattina, ma non funziona!!!! Ho creato l’applicazione, sostituisco l’ID e il codice segreto, scarico il jdk php, ma nulla: MI DICE SEMPRE “NON FAN”….BOOOOOOOOOOOO

  2. Ciao Ermanno,
    prova a testare l’app in modalità anonima con chrome. se sei loggato come admin lo script non funziona

  3. Ermanno dice:

    Innanzitutto grazie per aver risposto… Beh ho provato ad entrare con un profilo diverso dal mio, per ovviare al fatto di essere amministratore dell’applicazione, ma mi sembra che non cambi granché… non saprei… Il fatto è che ho l’impressione che non si riesca ad interagire con l’applicazione in quanto provando ad ottenere il valore della variabile $like_status questa risulta vuota per cui va da se che la condizione impostata nello script mi restituisca “NON FAN…” . Provo ad ottenere altri parametri tipo l’ID o il CODICE SEGRETO, sempre interrogando FACEBOOK, beh questi me li restituisce tranquillamente…. Ora non capisco dove sia l’errore !!!!

  4. Ermanno dice:

Lascia un commento

*