Top Banner

Click here to load reader

Desenvolvimento de aplicativos para o Facebook

May 31, 2015

ReportDownload

Education

Apresentação sobre desenvolvimento de aplicativos para o Facebook na aula de Desenvolvimento de Aplicações na Web na Universidade Trás-os-Montes e Alto Douro (UTAD).

  • 1. Desenvolvimento de aplicativos para o Facebook
    Apresentao de disciplina:
    Desenvolvimento de Aplicaes na Web
    Professor Hugo Paredes
    Jorge Lima
    [email protected]
    Ricardo Rodrigues Nunes
    [email protected]
    Maio/2011

2. Por que desenvolver (ou no) aplicaes para o Facebook?
Porque se torna muito mais fcil divulgar esta aplicao, uma vez que as pessoas esto em constante comunicao umas com as outras.
KatyTeixeira
Facebook cada vez mais popular .
Fbio Escaleira
Porque o facebook tornou-se uma forma de publicidade quase gratuita e muito eficiente.
Miguel Araujo
um utilizador usar a aplicao e partilhar no mural, vrios utilizadores aderem, ou seja, simples aumentar a popularidade da aplicao.
Cesar Meira
2/18
Obs. Respostas dos alunos
3. Audincia Global
Audincia Global : 667,020,540
3/18
Fonte: checkfacebook.com
4. Portugal no Facebook
Fonte: checkfacebook.com
5. Por onde comear?
FacebookDevelopers
http://developers.facebook.com/
FacebookDocumentation
http://developers.facebook.com/docs/
FacebookForum
http://forum.developers.facebook.net/
FacebookBlog
http://developers.facebook.com/blog/
FacebookShowcase
http://developers.facebook.com/showcase/
5/18
6. Tipos de Aplicaes
Dois tipos diferentes de aplicaes Facebook:
aplicao desktop
aplicao do web
Trs maneiras diferentes de uma aplicao interagir com o Facebook:
uma aplicao externa interagindo por meio de uma API remota
um IFRAME
dentro do prprio site utilizando a linguagemde marcao do Facebook (FBML)
6/18
7. Onde vender as aplicaes que desenvolvi?
Sitepointmarket
http://sitepointmarket.com/
Appbid
http://www.appbid.com/
7/18
8. A nossa 1 aplicao
http://developers.facebook.com
8/18
9. MyApps, Login
[+SetUpNewApp]
9/18
10. OOPS!
O Facebook muito chato e est sempre a mudar.
10/18
11. Projecto PLAYER
11/18
Login = App ID + App Secret
12. 12/18
13.


Exemplo de login do Facebook


13/18
14. if($me)
{

}
else
{

//Sacar informao sobre os grupos
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,
https://graph.facebook.com/".$session['uid']."/groups?scope=user_groups&access_token=".$session['access_token']);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_exec ($ch );
curl_close($ch);
Outras permisses:
user_about_me ,user_activities, user_birthday ,birthday_dateproperty,user_checkinsuser_education_history,user_events, user_hometown , user_interests, user_likes,user_location, user_notes, user_online_presence ,user_photo_video_tags,user_photos , user_relationships, user_relationship_details,user_religion_politics ,user_status, user_videos,user_website,
user_work_history,email , read_friendlists, read_insights, read_mailbox,read_requests, read_stream, xmpp_login, ads_management
14/18
15. JSON
Quais so os dados publicamente acessveis?
Array
(
(...)
[83] =>
{
"id":"100001097790346",
"name":"Bruno Vieira",
"first_name":"Bruno",
"last_name":"Vieira",
"link":"http://www.facebook.com/people/Bruno-Vieira/100001097790346",
"gender":"male",
"locale":"pt_PT
}
)
Podem converter para um objecto, ou para um array, com json_decode
Array
(
[0] => (...)
[1] => Array
(
[0] => 100001097790346
[1] => Bruno Vieira
[2] => 175
)
)
15/18
16. Graph API
https://graph.facebook.com/331218348435/attending?access_token=....
{
"data": [
{
"name": "SergioDagach",
"id": "707855857",
"rsvp_status": "attending"
},
{
"name": "Tama Taylor",
"id": "567460175",
"rsvp_status": "attending"
},
{
"name": "BrianThornton",
"id": "1695410038",
"rsvp_status": "attending"
},()
]
}
16/18
17. curl_multi! :D
//Temos umarray de IDs de pessoas que no especificaram o pas, tirado da BD
//Vamos construir umarray de URLs (FACEBOOK GRAPH API) para passar ao cURL
foreach($bdArrayas$k=>$bd) $urlArray[]="http://graph.facebook.com/$bd";
//Temos de construir umarray de handles / file descriptors / sockets (MULTITHREADED)
foreach($urlArrayas$k=>$u)
{
$h=curl_init();
curl_setopt($h,CURLOPT_URL,$u);
curl_setopt($h,CURLOPT_HEADER,0);
curl_setopt($h,CURLOPT_RETURNTRANSFER,1);
$handleArray[]=$h;
}
$mh=curl_multi_init();
foreach($handleArrayas$k=>$h)curl_multi_add_handle($mh,$h);
do curl_multi_exec($mh,$running);
while($running>0); //Espera que todos acabem de correr
//Array preenchido com resultados das chamadas Graph API, em JSON
foreach($handleArrayas$k=>$h) $dataArray[$k]=curl_multi_getcontent($h);
foreach($handleArrayas$k=>$h) curl_multi_remove_handle($mh,$h);
curl_multi_close($mh);

//Inferir pas a partir da linguagem
foreach ($handleArrayas$k=>$d)
{
if(strlen($d)>0)$tempArray=json_decode($d,true);
if(($tempArray['locale']=="pt_PT")$idArray[]=array($tempArray['id'],$tempArray['name'],157);
}
//Array com pases inferidospara quem no especificou um pas
foreach($idArrayas $k=>$i){ //corrigir a BD}
17/18
18. X/FBML
18/18
19. Desenvolvimento de aplicativos para o Facebook
Apresentao de disciplina:
Desenvolvimento de Aplicaes na Web
Professor Hugo Paredes
Jorge Lima
[email protected]
Ricardo Rodrigues Nunes
[email protected]
Maio/2011

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.