Wir haben natürlich nicht für alles eine Lösung. Aber an Problemen, über welche wir selber schon gestolpert sind, müssen sich andere ja nicht auch noch die Zähne ausbeissen.

Vor einigen Tagen haben wir gezeigt, wie auf Facebook-Seiten neue Tabs/Reiter mit einer iFrame Anwendung erstellt werden können, welche bisher mit FBML (Facebook Markup Language) implementiert wurden. Auch mit dem Einbau als iFrame hat man die Möglichkeit, verschiedene Inhalte anzuzeigen, je nachdem ob der Besucher ein „Fan“ der Seite ist oder nicht. In diesem Artikel wird gezeigt, wie man solche Inhalte speziell für Fans erstellt. Diese können beispielsweise für spezielle Aktionen oder ähnliche Fälle verwendet werden.

Benötigte Daten von den iFrame Tabs bekommen

Klickt ein Facebook-Benutzer auf einen der erstellen iFrame Reiter (auch Tabs genannt), lädt Facebook den angeforderten Inhalt in einem iFrame in die Seite. Bei diesem Ladevorgang werden bestimmte Informationen über die Seite und den Benutzer übergeben. Diese Daten werden in einer Variablen mit dem Namen „signed_request“ gespeichert und enhalten folgende Informationen:

  • Die Seiten-ID der Seite, auf welcher der geklickte Reiter eingebunden ist
  • Ob der eingeloggte Benutzer ein Fan dieser Seite ist
  • Ob der eingeloggte Benutzer ein Admin dieser Seite ist
  • Das Land des Benutzers
  • Sprachdefinitionen des Benutzers

Um in unserer File, welches im iFrame angezeigt wird, an diese Informationen zu kommen, kann das Facebook PHP Software Develper Kit (SDK) verwendet werden. Wie der Name schon sagt muss für diese Variante auf dem benutzten Webserver zum einen PHP verfügbar sein, und zum andern muss es sich beim eingebunden File um eine .php-Datei handeln. Wer also als Inhaltsdatei für das iFrame eine .html-Datei erstellt hat, kann diese einfach in eine .php-Datei umbenennen und diese in der iFrame Anwendung entsprechend anpassen. Ist auf dem Webserver kein PHP installiert, existiert auch eine Javascript-Lösung, auf welche hier aber nicht eingegangen wird. Anmerkung: Die Facebook PHP SDK benötigt PHP5.

Als erstes wird also das Facebook Software SDK heruntergeladen und entzippt. Die benötigte Datei heisst facebook.php und befindet sich im Source-Verzeichnis „src“. Dieses wird nun per FTP auf den Webserver hochgeladen – mit Vorteil in das gleiche Verzeichnis, in dem auch unsere anderen Files liegen, welche wir für das iFrame erstellt haben.

Nun wird das File in unserer php-Datei per require geladen und die SDK initialisiert. Dazu wird folgender Code in unsere index.php Datei eingefügt:

<? require 'facebook.php';
$app_id = "Anwendungsnummer";
$app_secret = "Anwendungs-Geheimcode";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
?>

Die zwei Variablen Anwendungsnummer und Anwendungs-Geheimcode müssen mit den entsprechenden Werten aus der iFrame-Anwendung gefüllt werden. Diese finden sich auf der Seite www.facebook.com/developers, indem man dort auf die entsprechende Anwedung klickt.

Nun können die einzelnen Informationen über einen Array abgerufen und entsprechenden Variablen zugewiesen werden:

$signed_request = $facebook->getSignedRequest();
$seiten_id = $signed_request["page"]["id"];
$seiten_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
$land = $signed_request["user"]["country"];
$sprachdefinition= $signed_request["user"]["locale"];

Wenn wir jetzt diese Variablen einmal ausgeben, sehen wir folgendes Bild.

Facebook Variablen
Mit diesen Variablen und einigen PHP Kenntnissen kann man nun also nach Belieben Schleifen und Bedingungen programmieren.

Inhalte nur für Fans sichtbar machen

Den Fan-Status kann man beispielsweise dazu benutzen, Inhalte nur für Fans sichtbar zu machen. Dazu wird eine einfache If Else Statement verwendet:

if ($like_status) {
echo "Inhalt nur für Fans";
}
else {
echo "Inhalt nur für nicht-Fans";
}

Mit einem solchen Statement hat man also ebenfalls wieder die Möglichkeit, spezielle Inhalte für Fans zu kreieren, welche man bis anhin mit FBML implementiert hat.

Quellenangabe: Dieser Artikel basiert auf dem Artikel  „Customizing your Facebook iFrame Application – Reveal Tabs Fan-gating & Other Cool Stuff“ von HyperArts und ist eine freie Übersetzung von bestimmten Themen dieses Beitrags.

Share This