Pagina Facebook, contenuto diverso per FAN e non FAN

Ecco qui una guida veloce veloce per tutti quelli che mi han chiesto come capire se un utente è FAN o meno della pagina.

Grazie a questo tutorial potrete mostrare una pagina di benvenuto a chi non ha ancora cliccato mi piace e il contenuto vero a proprio a chi già ha cliccato sul tasto mi piace della vostra pagina.

Il tutorial si compone di tre semplici passi: creare un’applicazione iFrame, preparare l’ambiente di sviluppo Facebook e scrivere codice PHP per capire se un utente è FAN.

Creare un’applicazione iFrame

Clicca qui http://www.facebook.com/developers/createapp.php per creare la tua nuova applicazione. Clicca su Sito Web e inserisci l’URL e il dominio del tuo sito (per esempio http://www.zanna86.it come URL e zanna86.it come dominio).

Clicca su Integrazione Facebook, inserisci un nome per la Page Canvas (per esempio: sito_zanna86it). Alla voce Canvas URL inserisci l’url compreso della cartella presente sul tuo server dove andremo a creare l’applicazione (per esempio http://www.tuosito.it/applicazioni_fb/).

Imposta la voce Canvas Type e la voce Page Tab Type su Iframe e alla voce TAB Url inserisci l’url della pagina PHP che andremo a creare sul tuo server (per esempio benvenuto.php).

Clicca sul pulsante Salva modifiche e la tua applicazione sarà pronta. Annotatevi da qualche parte l’ ID applicazione e la Chiave segreta.

Creare l’ambiente di Sviluppo Facebook

Scaricate questo archivio e caricatelo via FTP la cartella facebook all’interno della cartella applicazioni_fb in modo che il file facebook.php si trovi all’indirizzo http://www.tuosito.it/applicazioni_fb/facebook/facebook.php

Capire se un utente è FAN della tua Pagina

Ora è tutto pronto per creare la nostra pagina di benvenuto.php che creeremo in http://www.tuosito.it/applicazioni_fb/benvenuto.php

Il codice da inserire è il seguente:

require_once('../applicazioni_fb/facebook/facebook.php');

//Inserisci il tuo ID applicazione e la tua chiave segreta
$facebook = new Facebook(array(
	'appId'  => '',
	'secret' => '',
	'cookie' => true,
));

$signed_request = $facebook->getSignedRequest();
 
if($signed_request["page"]["liked"] == 1){
	echo "Sei Fan, ti mostro il contenuto!";
} else {
	echo "Non sei Fan, ti do il benvenuto e ti invito a cliccare su Mi Piace!";
}

Vediamo insieme come funziona:

Innanzitutto includiamo il file facebook.php necessario per lo scambio dati. Successivamente viene creata una nuova istanza Facebook passando l’ID della nostra applicazione e la nostra chiave segreta.

Una volta ottenuta l’autenticazione viene fatta una richiesta a Facebook tramite la funzione $facebook->getSignedRequest(). Essa salverà nell’array $signed_request diversi parametri. Quello di nostro interesse è il $signed_request[“page”][“liked”] che sarà settato a 1 se l’utente è FAN della nostra pagina!

Quindi con una semplice IF saremo in grado di mostrare una pagina di benvenuto all’utente non FAN, mentre a chi ha già cliccato su Mi Piace mostreremo il contenuto vero e proprio!

Tutto chiaro? Siete riusciti?

Scritto da in Senza categoria



17 commenti to “Pagina Facebook, contenuto diverso per FAN e non FAN”

  1. Vino Genuino ha detto:

    Funziona!

    Grazie 1000!!!! 😉

  2. Enrico ha detto:

    Ottimo! Il primo spiegato bene e che funziona veramente….. dopo innumerevoli l’ho trovato, complimenti!

  3. Enrico ha detto:

    Come si può fare se al posto di “Sei Fan, ti mostro il contenuto!” voglio indirizzarlo nella bacheca della pagina?!

  4. zanna86 ha detto:

    Ciao Enrico e grazie..!
    Probabilmente tu hai già impostato come pagina di destinazione quella contenente l’applicazione che ho spiegato in questa pagina.
    Quindi un “non fan” digitando l’indirizzo della tua pagina approderà sulla tua applicazione. Un fan, invece, digitando l’indirizzo della tua pagina approderà sulla bacheca.

    Quindi se vuoi indirizzare un utente che è appena diventato FAN devi eseguire questo codice javascript che cambia l’indirizzo della finestra TOP.
    Il codice è questo:

    //controllo se è FAN
    //se è fan
    //chiudi tag PHP
    //apri il tag script
    top.location =”http://facebook.it/paginaFB”;
    //chiudi il tag script
    //apri tag php

    PS:scusa la poca chiarezza del codice ma se scrivevo il codice corretto veniva interpretato nel mio blog!

    Ciao

  5. Enrico ha detto:

    Perfetto, domani lo provo!
    Grazie

    Ciao

  6. riky ha detto:

    ciao zanna non capisco bene come integrare questo secondo passaggio che hai cifrato // con il primo file php…mi daresti una dritta completa magari via mail ti mando il mio file grazie

  7. zanna86 ha detto:

    Ciao Ricky! Dimmi se ho capito bene…vorresti fare come Enrico? Ovvero reindirizzare il FAN verso la bacheca, giusto?

    Una volta che hai creato l’applicazione oggetto del mio articolo e testato che funzioni puoi fare il passo successivo e aggiungere il codice javascript che permette di fare un redirect alla bacheca.

    Per fare questo redirect dovrai aggiungere questa riga:
    top.location =”http://facebook.it/paginaFB”;
    racchiusa dai tag “script” e inserirla subito prima della riga
    echo “Sei Fan, ti mostro il contenuto!”;

    Nota bene: in questo modo quando i FAN cercheranno di andare sulla tua applicazione verranno reindirizzati verso la bacheca…sempre! In pratica la tua applicazione verrà vista solo da NON FAN che, una volta cliccato su “Mi piace” verranno reindirizzati verso la bacheca!

    Ciao

  8. Marco ha detto:

    Grazie Zanna,

    una guida semplice ed efficace che dopo tante ed inutili
    ricerche sul web, mi ha fatto subito capire quello che desideravo.

    Volevo chiederti solo una cosa: come rendo l’applicazione
    non visibile in Facebook? Se nella ricerca di facebook
    scrivo il nome dell’applicazione mi appare la sua pagina
    e vorrei evitarlo. Sai come aiutarmi? Grazie.

  9. zanna86 ha detto:

    Ciao Marco, grazie..!!

    Purtroppo però non so aiutarti nella tua seconda domanda. Non so se esiste un modo per nascondere l’applicazione dalla ricerca di Facebook…anzi, se trovi un modo faccelo sapere qui nei commenti..! grazie!

    Ciao

  10. ivan ha detto:

    Ciao, a me da questo errore :
    Parse error: syntax error, unexpected T_NEW in /web/htdocs/www.dunit.it/home/FBapp/facebook/facebook.php on line 4

    Sapete Aiutarmi ??

    Grazie

  11. ivan ha detto:

    allora credo il problema sia il mio host che non ha installato php 5(quindi non riconosce il comando Throw). Dove posso scaricare lo stesso file creato per php 4 ?

    Grazie
    Ciao

  12. zanna86 ha detto:

    Ciao Ivan, il tuo server ha il curl abilitato?

  13. Alessandro ha detto:

    Ciao grazie per la tua guida…ma non risulta piu funzionare perche la piattaforma faceboook è cambiata…nonostante abbia tentato innumerevole volte..la pagina è completamente diversa….della creazione delle app non so se è per quello ma lo script non lavora…puoi aiutare?

  14. zanna86 ha detto:

    Il codice PHP è corretto. Prova a cercare guide più aggiornate su come creare applicazioni. Una volta che hai creato la tua applicazioni puoi tornare qui e seguire il resto della guida che è ancora valido!

    Ciao

  15. Limpido ha detto:

    E’ ancora attuale questo script ?
    Ho provato ma non ci sono riuscito a farlo funzionare poiché facebook ha cambiato un po’ tutto…
    mi date un aiuto ?

  16. zanna86 ha detto:

    Ciao Limpido,
    no purtroppo lo script è diventato obsoleto. Mi dispiace ma non ho più seguito la questione e non ti saprei aiutare.

Lascia un commento