Aplicații facebook. prin care utilizatorii pot trimite diferite mesaje celorlalți utilizatori.

Similar documents
Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Versionare - GIT ALIN ZAMFIROIU

Metrici LPR interfatare cu Barix Barionet 50 -

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

Ce pot face pe hi5? Organizare si facilitati. Pagina de Home

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

Update firmware aparat foto

Managementul referinţelor cu

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Procesarea Imaginilor

Documentaţie Tehnică

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

Olimpiad«Estonia, 2003

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Mecanismul de decontare a cererilor de plata

Auditul financiar la IMM-uri: de la limitare la oportunitate

Subiecte Clasa a VI-a

Ghid pentru configurarea şi utilizarea aplicaţiei clicksign Demo

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

INSTRUMENTE DE MARKETING ÎN PRACTICĂ:

Capitolul IV Utilizarea bazelor de date în Internet

Mai bine. Pentru c putem.

X-Fit S Manual de utilizare

Itemi Sisteme de Operare

Actualizarea firmware-ului pentru aparatul foto digital SLR

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Universitatea George Bariţiu, Braşov

Prima. Evadare. Ac9vity Report. The biggest MTB marathon from Eastern Europe. 7th edi9on

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

GHID DE TERMENI MEDIA

Figura x.1 Ecranul de pornire al mediului de dezvoltare

Semnare digitală configurări și proceduri de lucru Manual de utilizare

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

Lucrarea Nr.1. Sisteme de operare. Generalitati

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

Printesa fluture. Мобильный портал WAP версия: wap.altmaster.ru

R O M Â N I A CURTEA CONSTITUŢIONALĂ

Internet-ul a apărut în 1960 când, în SUA, Ministerul Apărării a creat Agenţia pentru proiecte de Cercetare Avansată (ARPA), care are ca obiectiv

Reţele Neuronale Artificiale în MATLAB

MANAGEMENTUL CALITĂȚII - MC. Proiect 5 Procedura documentată pentru procesul ales

A Compared Aproach: ASP versus PHP

PACHETE DE PROMOVARE

ANDROCHEF: SISTEM PENTRU EFICIENTIZAREA COMENZILOR CĂTRE RESTAURANTE ÎN CADRUL GRUPURILOR DE PERSOANE

PROCEDURA PRIVIND DECONTURILE. 2. Domeniu de aplicare Procedura se aplică în cadrul Universităţii Tehnice Cluj-Napoca

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

Lucrarea nr. 7. Configurarea reţelelor în Linux

Managementul Proiectelor Software Metode de dezvoltare

Modalitǎţi de clasificare a datelor cantitative

PROIECT. La Baze de date. Evidența activității pentru o firmă IT. Îndrumător: ș. l. dr. ing. Mirela Danubianu. Efectuat de: Grigoriev Sergiu gr.

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

TIME COMPASS: O APLICAȚIE DE TIME MANAGEMENT PENTRU ANDROID

CHAMPIONS LEAGUE 2017 SPONSOR:

Time Management Manual de utilizare pentruutilizatorul de tip Manager

Proiectarea Sistemelor Software Complexe

Realizarea paginilor WEB

ANTICOLLISION ALGORITHM FOR V2V AUTONOMUOS AGRICULTURAL MACHINES ALGORITM ANTICOLIZIUNE PENTRU MASINI AGRICOLE AUTONOME TIP V2V (VEHICLE-TO-VEHICLE)

Fluxul operational privind exercitarea drepturilor persoanelor vizate. ale caror date sunt prelucrate in Sistemul Biroului de Credit

SAG MITTIGATION TECHNICS USING DSTATCOMS

Propuneri pentru teme de licență

The First TST for the JBMO Satu Mare, April 6, 2018

CENTRUL NAȚIONAL DE RĂSPUNS LA INCIDENTE DE SECURITATE CIBERNETICĂ GHID PENTRU SECURIZAREA APLICAŢIILOR ŞI SERVICIILOR WEB

Declarație de protecție a datelor

SISTEM ONLINE DE ÎNVĂŢĂMÂNT

ARE THE STATIC POWER CONVERTERS ENERGY EFFICIENT?

COMUNICAȚII INFORMATIZARE

NEC. Ghid de rezervări

POLITICA DE CONFIDENȚIALITATE 2. SCOPUL UTILIZĂRII DATELOR DUMNEAVOASTRĂ CU CARACTER PERSONAL:

Asociația Asistență și Programe pentru Dezvoltare Durabilă Agenda 21

Prelucrarea numerică a semnalelor

CERERI SELECT PE O TABELA

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci.

Mr. Adam Smith Smith's Plastics 8 Crossfield Road Selly Oak Birmingham West Midlands B29 1WQ

Instrucțiuni pentru reînnoirea online a certificatului digital calificat DigiSign versiunea 3.0

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

EN teava vopsita cu capete canelate tip VICTAULIC

STARS! Students acting to reduce speed Final report

USING MOBILE AGENTS FOR INFORMATION RETRIEVAL IN B2B SYSTEMS

Evoluția pieței de capital din România. 09 iunie 2018

GHIDUL UTILIZATORILOR PLATFORMEI OERS

Aplicație de generare a UFI. Ghidul utilizatorului

Nu găseşti pe nimeni care să te ajute să transporţi comenzile voluminoase?

Ghid de utilizare a platformei elearning din cadrul portalului

Internet. 2. Care dintre următoarele este utilizat de browserele Web pentru a găsi site-uri web de pe Internet a. SMS b. VoIP c. ISP d.

VIRTUAL INSTRUMENTATION IN THE DRIVE SUBSYSTEM MONITORING OF A MOBIL ROBOT WITH GESTURE COMMANDS

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

Baze de date distribuite și mobile

Lucrarea 1 Introducere în Linux

Manual Limba Romana Clasa 5 Editura Humanitas File Type

Vanatoare de comori pe internet pentru imbunatatirea atractivitatii invatarii pentru varstnici

HTML. De exemplu, considerând pagina web cu structura prezentată în figura 1, Fig. 1

Analiză Web. Descoperă tot ce trebuie să știi despre vizitatorii site-ului tău Ghid practic de folosire a Google Analytics TM BOGDAN PANTOC

Acest mecanism este implementat folosind wakelock-uri și rolul lor este de a menține sistemul treaz.

Ghid de pornire rapidă

Transcription:

În acest moment facebook este una dintre cele mai răspândite rețele sociale din lume. În mai 2007 facebook a lansat o platformă care interacționează cu celelalte pagini web. În același sens s-au lansat și numeroase Aplicații facebook Adrian Balcan prin care utilizatorii pot trimite diferite mesaje celorlalți utilizatori. În câteva luni de la lansarea platformei facebook a fost inițiată și o aplicație contra spamurilor. În iulie 2009 se pare că numărul utilizatorilor a atins circa 250 milioane de persoane. V 1.1 2010

Cuvinte din partea autorului În primul rând vreau să vă mulţumesc că sunteţi interesăt de această lucrare şi vă urez mult succes în învăţarea şi dezvoltarea de aplicaţii. Ca orice alt material scris, acest tutorial poate conţine erori. Pentru îmbunatăţirea lui vă rog frumos să trimiteţi un E-mail la balcanadrian@gmail.com cu orice eroare descoperită său cu ce aţi vrea să mai adaug. Data ultimei modificări: 11 September 2010 9:14 PM 2

Introducere În ultimii ani reţeaua socială facebook a avut o dezvoltare foarte rapidă ajungând în 2009 la 250 milioane de utilizatori. În 2007 facebook a lansat o platformă ce permite integrearea aplicaţiilor sociale. Aceasta având un mare succes şi cunoscând în 2010 un număr de 8 milioane de dezvoltatori. Această lucrare îşi propune să ofere cunostinţele de baza pentru dezvoltarea de aplicaţii facebook. Pentru a înţelege şi a putea aplica cunoştinţele dobandite în urma parcurgerii acestui tutorial sunt necesare cunoştinte minime de PHP şi HTML. 3

Capitolul 1 Anatomia aplicaţiilor facebook În acest capitol vom prezenta modul de funcţionare şi structura unei aplicaţii. În continuare vom numii dezvoltator, persoana care creează aplicaţia, iar utilizatori, persoanele care folosesc aplicaţia. Pentru a da posibilitatea creări de aplicaţii sociale facebook dispune de un API prin care aplicaţiile comunică cu facebook. API = Application Programming Interface Facebook deţine mai multe API-uri în acest tutorial vom folosi Graph API (documentaţie la urmatorul link http://developers.facebook.com/docs/api ) Relația facebook - aplicație Pentru a înţelege anatomia unei aplicaţii de facebook este important să ştim cum lucrează platforma socială facebook cu aplicaţiile. În schema de mai jos este reprezentat modul de lucru. Cererea Aplicaţiile facebook sunt stocate pe host-ul dezvoltatorului. Când un utilizator încarcă o aplicaţie este trimisă o cerere către facebook(1) iar acesta trimite mai departe o cerere către host-ul aplicaţiei(2). 4

Răspunsul Înainte de a trimite răspunsul, aplicaţia comunică prin intermediul API-ului cu facebook, pentru a lua date despre utilizator. Serverul de hosting trimite răspunsul către serverul facebook(3) iar acesta trimite un răspuns HTML pe care browserul utilizatorului îl interpretează(4). Etape în rularea unei aplicaţii În timpul rulării o aplicaţie trece prin mai multe etape detaliate în următoarele rânduri: Procesul de login Înainte ca un utilizatorul să poată folosii o aplicaţie de facebook acesta trebuie să fie logat în aceasta aplicaţie(aplicația să cunoască identitatea utilizatorului). Acordarea de permisiuni La primul login în aplicaţie, facebook va cere utilizatorului permisiuni ca aplicaţia să poată face anumite acţiuni pe profilul său. 5

Cererea datelor Aplicaţiile au nevoie de informaţii de la utilizator pentru a genera conţinut. Acestea sunt transferate de la facebook printr-un sistem de cerere - răspuns implementat în API. Dacă ne imaginam acest proces ca un dialog între două persoane acesta ar arăta cam aşa: Utilizator: Care este numele meu? Facebook: Adrian Utilizator: Care sunt prietenii mei? Facebook: Ana, Ion, Andrei Utilizator: Ce vârstă are Ion? Facebook: 26 Publicarea De multe ori aplicaţiile de facebook au nevoie să publice conţinut pe pereţii utilizatorului. Practic această publicare are două roluri: 1. Afisarea unui rezultat / trimiterea unui mesaj public 2. Autopromovarea. Mesajul publicat conţine numele şi link-ul aplicaţiei, astfel încât noi utilizatori pot accesa aplicaţia. 6

Structura aplicației Structura generală a unei aplicații este compusă din urmatoarele componente: 1. Sistem de login (login.php în cadrul exemplului de mai târziu) 2. Pagina principală, pagina care o va vedea utilizatorul (index.php) 3. Sistem de publicare, reprezentat printr-un fișier încărcat cu AJAX (ajax.php) 4. APIul facebook (facebook.php, fişier descărcat de la adresa http://github.com/facebook/php-sdk/ ) Aceste fişiere vor fi prezentate mai pe larg în capitolul 3. 7

Capitolul 2 Înregistrarea aplicaţiilor În acest capitol vom vedea cum se înregistrează o aplicaţie pentru a apărea pe facebook. Mai înainte am introdus notiunea de dezvoltator, persoana care creează aplicaţiile. Pentru a putea creea aplicaţii 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 aplicaţie este necesara înregistrarea acesteia în aplicaţia developer, în care intram odata cu înscrierea în grupul dezvoltatorilor. Această înregistrare este prezentată prin 3 paşi în urmatoarele pagini. Pasul 1: Alegerea numelui aplicaţiei 8

Pasul 2: Alegerea tipului aplicaţiei Pe facebook aplicaţiile sunt de doua tipuri IFrame şi FBML. Aplicaţiile IFrame generează un cod HTML care este afișat în interiorul unei pagini de facebook pe când aplicaţiile FBML generează un cod FBML (Limbaj de marcare în format XML, specific facebook). În acest tutorial vom vorbi despre aplicaţii IFrame, deoarece acest tip oferă mai multă flexibilitate dezvoltatorului. Pasul 3: Introducerea adresei de hosting În primul capitol am spus că aplicaţiile de facebook sunt găzduite pe un server de hosting al dezvoltatorului. Adresa la care ele se găsesc va fi introdusă ca şi Canvas URL, iar facebook va sti de unde să încarce aplicaţia. Pe langă aceşti paşi principali dezvoltatorul mai poate adauga logo, descriere şi alte proprietăţi aplicaţiei. Odata cu inregistrarea aplicaţiei, aceasta primeşte ş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 aplicaţie de facebook, o aplicaţie simplă care are ca scop publicarea de mesaje pe pereții prietenilor. Facebook are un SDK pentru PHP pe care îl vom utiliza la apelarea funcțiilor din API. Este inclus în primul rând cu numele de facebook.php și poate fi descărcat de la adresa: http://github.com/facebook/php-sdk/ SDK = Software Development Kit Pentru început vom prezenta fișierul login.php. <?php require facebook.php ; //adresa unde este stocata aplicatia, serverul de hosting $baseurl = http://siteulmeu.com/adrian/testapplication/ ; //adresa aplicației de pe facebook, unde utilizatorii vor accesa aplicația $appurl = http://apps.facebook.com/oricenume/ ; //datele de identificare ale aplicației, 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 ați observat în fișierul login.php am introdus și datele de identificare ale aplicației care le-am primit la înregistrarea acesteia. 11

În continuare vom prezenta fișierul index.php. Acest fișier este cel al carui conținut generează ceea ce vede utilizatorul, interfaţa. Pentru utilizator este foarte important ca interfaţa să fie simplă şi cât mai intuitivă. Pentru a avea o aplicație mai dinamică vom utiliza AJAX și puțin 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 fișier este numit ajax.php și este fișierul 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 aplicație. Acum fișierele trebuie transferate pe serverul de hosting după care putem testa. 14

Capitolul 4 Promovarea În acest capitol vom prezenta foarte pe scurt câteva metode de promovare a unei aplicaţii. O aplicaţie facebook este o aplicaţie 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ă aplicaţia de câteva ori până când aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe în alte grupuri. Pentru ca o aplicaţie de facebook să fie de succes(să aibă cât mai mulți utilizatori), aceasta trebuie să fie promovată. Principalele două metode prin care promovam aplicaţiile de facebook sunt: 1. Promovare internă prin autopromovare. Folosind aplicaţia cât mai des astfel încat mesajele publicate pe pereții prietenilor să aducă cât mai multi utilizatori în pagina aplicaţiei. 2. Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri. 15

Mulțumiri Vă multumesc că ați parcurs/răsfoit acest tutorial până aici și sper că a fost de folos. 16

17