Разговаравме со Данел Димов, креаторот на Facebook апликацијата за техничкиот аспект на креирање на „Дискотеки“. Даниел беше и доста љубезен да ни направи и еден краток туторијал за развивање на Facebook апликации. Тој ни ги објасни и детали на што треба да се внимава при креирањето апликации, посебно на приватноста на корисниците, што е жешка тема на Facebook, но и на авторските права. Вели дека на почеток имал и правна напомена за користење на содржина на локалите.
„„Дискотеки“ е IFrame Facebook апликација која што го користи Old REST API за искористување на Facebook платформата. Доколку апликацијата сака пристап до „ѕидот“ на корисникот (за да постира постови) или пристап до опција за автоматско прифаќање на настани (events) или сл. тоа самата треба да го побара од корисникот.
Апликацијата „Дискотеки“ не изнесува никакви податоци за корисникот. Пратените покани помеѓу корисниците се заштитени и се видливи само за двата актери во праќањето на поканите. Местото на излевање на корисникот е јавно. Со тек на време ќе видиме дали има потреба од заштита на приватноста на оваа информација
Што се однесува до сликите во галеријата. тоа се слики превземени од Facebok профилите на локалите. На почеток има правна напомена за тоа. Локалите кои што ги заштитиле сликите од прикажување, соодветно, се заштитени и тука. Сликите не се складираат во никаква база, се превземаат од Facebook, на тој начин имаме една динамична и жива галерија. Сеуште се работи на усовршување на галеријата. Размислувам за инкорпорирање на PicLens.“ објаснува Даниел.
Како се развива Facebook апликација?
Добро место за почеток за секој развивач на Facebook апликација е http://developers.facebook.com/docs/guides/canvas/. Овде ќе најдете туторијал за започнување на нова Facebook апликација.
Доста важна одлука е типот на апликација коишто ќе го развивате. Facebook нуди два типа на апликации: IFrame и FBML апликации
За и против:
Iframe: е модел на креирање на апликација во која дизајнерот е препуштен самиот на себе на целосно креирање на апликацијата (dијалози, табови и сл). Го искористува Old REST API.
За:
- Бара помало ниво на техничка способност – помалку е комплициран
Против:
- Побавно вчитување
- Проблеми со IE6
- Проблеми со големината на рамката (повик на скриптата за зголемување на рамката – одзема многу време – понекогаш и не се вчитува)
- Facebook помалку се грижи за овој метод на креирање апликации
- Се однесува различно и изгледа различно од Facebook
FBML: Facebook Markup Language (FBML) е понов начин за равој на Facebook Апликации кој не е препорачан за нови дизајнери на апликации. FBML e истата платформа, и истиот код којшто го користи и Facebook за неговото работење. Па така овие апликации ќе изгледaат како да се дел од Facebook.
За:
- Вчитувањето е многу побрзо за разлика од IFrame
- Времето за развој на ваквата апликација е многу многу помало (за искусен рaзвивач :) )
- Изглед сличен како оној на Facebook
- FBML e Markup Language сличен на HTML па нема и да биде толку тешко за изчување и разбирање
- Facebook нуди повеќе можности – опции коишто можете да ги искористет од оваа платформи за разлика од IFrame апликациите…
Против:
- Треба најпрво да имате искуство со IFrame апликации и тоа е се..
Пример за FBML апликација: MTV MUSIC VIDEO
Пример за IFrame апликација: Дискотеки
Се што ви треба за развој на една апликација е Текст едитор ( за PHP ) и се разбира Хостинг каде што би ги закачиле датотеките. Препорачувам користење на DreamWeaver со конекција до оддалечен сервер бидејќи локално не ќе можете да ја развивате апликацијата.
Како се развива апликација – Пример за IFrame апликација?
Најпрво треба да го симнете PHP SDK. Овде имате и базични примери врз коишто можете да продолжете со вашата работа. Во http://www.facebook.com/developers/ креирајте апликација – Edit Settings ->Facebook Integration – Подесете ја локацијата на вашата апликација. И нека Canvas Type остане на IFrame.
Датотеката Examples/example.php e местото од каде што треба да почнете. *Промени во src/facebook.php не се препорачани… Откако ќе го повикаме Facebook преку require ‘../src/facebook.php’; треба да инстанцираме нов Facebook објект преку кој ќе ги користиме функциите од OLD Rest Api.
Инстанцирањето на објект Facebook се прави на следниов начин:
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
‘appId’ => ‘117743971608120’,
‘secret’ => ‘943716006e74d9b9283d4d5d8ab93204’,
‘cookie’ => true,
));
Сега отворете http://developers.facebook.com/docs/reference/rest/. Тоа се сите функции кои што можете да ги повикате од Facebook објектот што го направме погоре…
Еве еден едноставен повик на функција:
**Доколку вака не ви работи пробајте наместо api_client , само api – Ова се однесува и за подолните функции
*** Вака е во верзијата на SDK во која Дискотеки е направена – може да има некои мали измени доколку имат нова верзија
$uid = $facebook->api_client->users_getLoggedInUser(); // Кориснички број (UID – USER ID) на тековно најавениот корисник.
// Земи ги сите пријатели на најавениот корисник кои ја имаат инсталирано вашата facebook апликација – Враќа низа од UID
$prijateli = $facebook->api_client->friends_getAppUsers();
//За сите пријатели (корисници на апликацијата) земи – UID, Мала Слика и име.
$prijateliDetali = $facebook->api_client->users_getInfo($prijateli, array(‘first_name’,’name’,’uid’, ‘pic_square’));
//Потоа можете да ги прикажете ницните слики , име и сл..
foreach ($prijateliDetali as $korisnik_podatoci)
{
//Прикажи ја сликата
echo ““;
}
Забелешка:
Споредете ги функциите во Old Rest Api и во овој пример. Наместо ‘.’ – точка friends.getAppUsers се користи ‘_’ долна црта friends_getAppUsers(); .
Правила коишто треба да се запазат
Секогаш побарувајте корисникот кој ја посетува апликацијата да биде најавен на Facebook. Toa ќе го направете преку следниов PHP код: $user= $facebook->require_login();
Пример, доколку некој ја посети локацијата каде се датотеките кои се во апликацијата посетителот ќе биде препратен на страна за најава на Facebook. Со оваа функција од корисникот побарувате дозвола за да ги пристапите неговите основни податоци, како слика, име, презиме пол и сл… Пример, доколку сакате да побарате од корисникот дозвола да му постирате на неговиот „ѕид“ тоа можете да го направете на следниов начин: $user= $facebook->require_login(‘publish_stream’);
Целосната листа на проширените дозволи ќе ја најдете тука Tука ќе ја најдете http://developers.facebook.com/docs/authentication/permissions.
Како да постирате некој пост на Ѕидот на корисникот
//Променливи коишто содржат она што ќе го постираме
$message = ‘TEST POST’;
$sod=”Diskoteki”;
$attachment = “{“name”: “”.$sod.””, “href”: “http://apps.facebook.com/diskoteki”, “caption”: “{*actor*} loves Дискотеки”, “description”: “”.$sod.””, “properties”: { “категорија”: { “text”: “забава”, “href”: “http://apps.facebook.com/diskoteki”}, “рејтинг”: “5 ѕвезди” }, “media”: [{ “type”: “image”, “src”: “http://it.com.mk/wp-content/themes/itcommk/images/logo.png”, “href”: “http://apps.facebook.com/diskoteki”}] }”;
$action_links = “”;
//Постираме
if($facebook->api_client->users_hasAppPermission(‘publish_stream’,null)==”1″) //Провери дали имаш дозвола да постираш
{
$result = $facebook->api_client->stream_publish($message,$attachment,$action_links);
}
Документацијата на Facebook не е воопшто јасна и разбирлива, вели Даниел.
„Кажано-недокажано. Затоа ви препорачувам доколку сакате сериозно да развиете една Facebook апликација , до себе да имате некоја eBook.“


Коментари
12 коментари
Коментарите се затворени.