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
V 1.1

Aplicaii facebook
Adrian Balcan

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

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.

Capitolul 1

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.

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.

Capitolul 2

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

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

//afiseaza imaginea si numele prietenului

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

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