Sunteți pe pagina 1din 17

n acest moment facebook este una dintre cele mai rspndite reele sociale din lume.

n mai 2007 facebook a lansat o platform care interacioneaz cu celelalte pagini web. n acelai sens s-au lansat i numeroase prin care utilizatorii pot trimite diferite mesaje celorlali utilizatori. n cteva luni de la lansarea platformei facebook a fost iniiat i o aplicaie contra spamurilor. n iulie 2009 se pare c numrul utilizatorilor a atins circa 250 milioane de persoane. 2010

Aplicaii facebook
Adrian Balcan

V 1.1

Cuvinte din partea autorului

n primul rnd vreau s v mulumesc c suntei interest de aceast lucrare i v urez mult succes n nvarea i dezvoltarea de aplicaii. Ca orice alt material scris, acest tutorial poate conine erori. Pentru mbunatirea lui v rog frumos s trimitei un E-mail la balcanadrian@gmail.com cu orice eroare descoperit su cu ce ai vrea s mai adaug.

Data ultimei modificri: 11 September 2010 9:14 PM

Introducere
n ultimii ani reeaua social facebook a avut o dezvoltare foarte rapid ajungnd n 2009 la 250 milioane de utilizatori. n 2007 facebook a lansat o platform ce permite integrearea aplicaiilor sociale. Aceasta avnd un mare succes i cunoscnd n 2010 un numr de 8 milioane de dezvoltatori. Aceast lucrare i propune s ofere cunostinele de baza pentru dezvoltarea de aplicaii facebook. Pentru a nelege i a putea aplica cunotinele dobandite n urma parcurgerii acestui tutorial sunt necesare cunotinte minime de PHP i HTML.

Anatomia aplicaiilor facebook n acest capitol vom prezenta modul de funcionare i structura unei aplicaii. n continuare vom numii dezvoltator, persoana care creeaz aplicaia, iar utilizatori, persoanele care folosesc aplicaia. Pentru a da posibilitatea creri de aplicaii sociale facebook dispune de un API prin care aplicaiile comunic cu facebook. API = Application Programming Interface Facebook deine mai multe API-uri n acest tutorial vom folosi Graph API (documentaie la urmatorul link http://developers.facebook.com/docs/api ) Relaia facebook - aplicaie Pentru a nelege anatomia unei aplicaii de facebook este important s tim cum lucreaz platforma social facebook cu aplicaiile. n schema de mai jos este reprezentat modul de lucru.

Capitolul 1

Cererea Aplicaiile facebook sunt stocate pe host-ul dezvoltatorului. Cnd un utilizator ncarc o aplicaie este trimis o cerere ctre facebook(1) iar acesta trimite mai departe o cerere ctre host-ul aplicaiei(2). 4

Rspunsul nainte de a trimite rspunsul, aplicaia comunic prin intermediul API-ului cu facebook, pentru a lua date despre utilizator. Serverul de hosting trimite rspunsul ctre serverul facebook(3) iar acesta trimite un rspuns HTML pe care browserul utilizatorului l interpreteaz(4). Etape n rularea unei aplicaii n timpul rulrii o aplicaie trece prin mai multe etape detaliate n urmtoarele rnduri: Procesul de login nainte ca un utilizatorul s poat folosii o aplicaie de facebook acesta trebuie s fie logat n aceasta aplicaie(aplicaia s cunoasc identitatea utilizatorului). Acordarea de permisiuni La primul login n aplicaie, facebook va cere utilizatorului permisiuni ca aplicaia s poat face anumite aciuni pe profilul su.

Cererea datelor Aplicaiile au nevoie de informaii de la utilizator pentru a genera coninut. Acestea sunt transferate de la facebook printr-un sistem de cerere - rspuns implementat n API. Dac ne imaginam acest proces ca un dialog ntre dou persoane acesta ar arta cam aa: Utilizator: Care este numele meu? Facebook: Adrian Utilizator: Care sunt prietenii mei? Facebook: Ana, Ion, Andrei Utilizator: Ce vrst are Ion? Facebook: 26 Publicarea De multe ori aplicaiile de facebook au nevoie s publice coninut pe pereii utilizatorului. Practic aceast publicare are dou roluri: 1. Afisarea unui rezultat / trimiterea unui mesaj public 2. Autopromovarea. Mesajul publicat conine numele i link-ul aplicaiei, astfel nct noi utilizatori pot accesa aplicaia.

Structura aplicaiei Structura general a unei aplicaii este compus din urmatoarele componente: 1. Sistem de login (login.php n cadrul exemplului de mai trziu) 2. Pagina principal, pagina care o va vedea utilizatorul (index.php) 3. Sistem de publicare, reprezentat printr-un fiier ncrcat cu AJAX (ajax.php) 4. APIul facebook (facebook.php, fiier descrcat de la adresa http://github.com/facebook/php-sdk/ ) Aceste fiiere vor fi prezentate mai pe larg n capitolul 3.

nregistrarea aplicaiilor n acest capitol vom vedea cum se nregistreaz o aplicaie pentru a aprea pe facebook. Mai nainte am introdus notiunea de dezvoltator, persoana care creeaz aplicaiile. Pentru a putea creea aplicaii de facebook, este necesar nscrierea n grupul dezvoltatorilor. Se poate face de la urmatorul link i nu cost nimic: http://www.facebook.com/developers/ Pentru a creea o aplicaie este necesara nregistrarea acesteia n aplicaia developer, n care intram odata cu nscrierea n grupul dezvoltatorilor. Aceast nregistrare este prezentat prin 3 pai n urmatoarele pagini. Pasul 1: Alegerea numelui aplicaiei

Capitolul 2

Pasul 2: Alegerea tipului aplicaiei Pe facebook aplicaiile sunt de doua tipuri IFrame i FBML. Aplicaiile IFrame genereaz un cod HTML care este afiat n interiorul unei pagini de facebook pe cnd aplicaiile FBML genereaz un cod FBML (Limbaj de marcare n format XML, specific facebook). n acest tutorial vom vorbi despre aplicaii IFrame, deoarece acest tip ofer mai mult flexibilitate dezvoltatorului. Pasul 3: Introducerea adresei de hosting n primul capitol am spus c aplicaiile de facebook sunt gzduite pe un server de hosting al dezvoltatorului. Adresa la care ele se gsesc va fi introdus ca i Canvas URL, iar facebook va sti de unde s ncarce aplicaia.

Pe lang aceti pai principali dezvoltatorul mai poate adauga logo, descriere i alte proprieti aplicaiei. Odata cu inregistrarea aplicaiei, aceasta primete i o pagin de profil unde se pot nscrie fanii iar dezvoltatorii pot adauga mesaje pentru ei. 9

Capitolul 3
Hello world n acest capitol vom face prima aplicaie de facebook, o aplicaie simpl care are ca scop publicarea de mesaje pe pereii prietenilor. Facebook are un SDK pentru PHP pe care l vom utiliza la apelarea funciilor din API. Este inclus n primul rnd cu numele de facebook.php i poate fi descrcat de la adresa: http://github.com/facebook/php-sdk/ SDK = Software Development Kit Pentru nceput vom prezenta fiierul login.php.

<?php require facebook.php; //adresa unde este stocata aplicatia, serverul de hosting $baseurl = http://siteulmeu.com/adrian/testapplication/; //adresa aplicaiei de pe facebook, unde utilizatorii vor accesa aplicaia $appurl = http://apps.facebook.com/oricenume/; //datele de identificare ale aplicaiei, care au fost primite la nregistrarea acesteia $config = array( appId => 148314685203334, secret => 98c8930a6af3c8304401c550ee7b1cab, cookie => true); $facebook = new Facebook($config); $session = $facebook->getSession(); //logarea + cererea de permisiuni $loginUrl = $facebook->getLoginUrl( array( canvas => 1, fbconnect => 0, req_perms => email,publish_stream,status_update,user_birthday,user_location,user_work_history ) );

10

$me = null; // Session based API call. if ($session) { try { $uid = $facebook->getUser(); $me = $facebook->api(/me); } catch (FacebookApiException $e) { error_log($e, 3, errors.log); echo <script type=text/javascript>top.location.href = \.$loginUrl.\;</script>; exit; } } else { echo <script type=text/javascript>top.location.href = \.$loginUrl.\;</script>; exit; } ?>

Dup cum ai observat n fiierul login.php am introdus i datele de identificare ale aplicaiei care le-am primit la nregistrarea acesteia.

11

n continuare vom prezenta fiierul index.php. Acest fiier este cel al carui coninut genereaz ceea ce vede utilizatorul, interfaa. Pentru utilizator este foarte important ca interfaa s fie simpl i ct mai intuitiv. Pentru a avea o aplicaie mai dinamic vom utiliza AJAX i puin JavaScript.

<?php include_once(login.php); try{ //construieste cerere pentru baza de date facebook, pentru mai multe detalii cititi documentatia FQL $fql = SELECT name, sex, pic_square, uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1= . $uid . LIMIT 10) LIMIT 10; $param = array( method => fql.query, query => $fql, callback => ); //dupa acest rand $fqlResult va contine o lista cu 10 prieteni $fqlResult = $facebook->api($param); foreach($fqlResult as $number => $friend){ $friends .= $number. <img src=.$friend[pic_square]./> .$friend[name].<br/>; } //alege un prieten aleator $friendNumber = rand(0, count($fqlResult)); //pune imaginea si numele prietenului in variabila $str $str = Un prieten aleator: <img src=.$fqlResult[$friendNumber][pic_square]./> .$fqlResult[$friendNumber][name]; } catch(Exception $e){ echo Exception .$e; }

?>

12

<html> <head> <script type=text/javascript src=http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js></script> <script> //functia JavaScriptcare trimite datele pentru publicare, prin AJAX, si arata raspunsul de la pagina ajax.php function updateStatus(){ var status = Hello world!; $.ajax({ type: POST, url: <? echo $baseurl.ajax.php; ?>, data: status= + status + &target=<?php echo $fqlResult[$friendNumber][uid]; ?> , success: function(msg){ alert(msg); }, error: function(msg){ alert(msg); }

});

</script> </head> <body> <?php

?> <input type=button value=Publica un mesaj onclick=updateStatus(); /> </body> </html>

//afiseaza imaginea si numele prietenului echo $str;

13

Ultimul fiier este numit ajax.php i este fiierul care face publicarea mesajelor.
<?php include_once(login.php); //construieste mesajul care poate contine si imagini si include linkul catre aplicatie $attachment = array(name => Aplicatie test, caption => $_REQUEST[status], href => http://apps.facebook.com/oricenume/, description => ); $attachment = json_encode($attachment); try{ //seteaza destinatia, mesajul si utilizatorul care publica $param = array( method => stream.publish, callback => , attachment => $attachment, uid => $uid, target_id => $_REQUEST[target] ); //trimite mesajul $apiResult = $facebook->api($param); }catch(Exception $e){ echo Exception .$e; } //intoarce un mesaj catre utilizator echo status: .$_REQUEST[status]; ?>

Cam sta este tot codul pentru aplicaie. Acum fiierele trebuie transferate pe serverul de hosting dup care putem testa.

14

Capitolul 4
Promovarea n acest capitol vom prezenta foarte pe scurt cteva metode de promovare a unei aplicaii. O aplicaie facebook este o aplicaie social, nu se adreseaz unui singur utilizator, se adreseaz grupurilor de prieteni. De multe ori este de ajuns ca un singur membru al grupului s foloseasc aplicaia de cteva ori pn cnd aceasta este adoptat de majoritatea membrilor grupului i este transmis mai departe n alte grupuri. Pentru ca o aplicaie de facebook s fie de succes(s aib ct mai muli utilizatori), aceasta trebuie s fie promovat. Principalele dou metode prin care promovam aplicaiile de facebook sunt: 1. Promovare intern prin autopromovare. Folosind aplicaia ct mai des astfel ncat mesajele publicate pe pereii prietenilor s aduc ct mai multi utilizatori n pagina aplicaiei. 2. Promovare extern prin publicarea linkului la pagina aplicaiei pe siteuri i bloguri.

15

Mulumiri
V multumesc c ai parcurs/rsfoit acest tutorial pn aici i sper c a fost de folos.

16

17

S-ar putea să vă placă și