Documente Academic
Documente Profesional
Documente Cultură
Aplicatii Facebook1.1
Aplicatii Facebook1.1
Aplicaii facebook
Adrian Balcan
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
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
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;
}
?>
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