2010年3月12日星期五

寫 Facebook App 的回應

又又寫IT嘢,悶死未?


一讀者飛鴿傳書回應(其實寫IT嘢只有一兩個讀者),要在大學Final year project寫Facebook App.現已餘下兩個半月,仍未做起讀user的friend的資料。


在Final year project寫Facebook App(自選題目?),的確夠新夠in,是大學及坊間沒有的課程,畢業見工時,肯定夠出位。今年畢業的市場,應該比去年有大幅改善,先祝好運。


由於Facebook差不多年年改版(剛剛在改版中),一年前網上的tutorial或出版的書,照抄有可能出現Internal server error,或畫面空白一片(因為Facebook api已改)。如果畫面空白一片,又有可能是Facebook 的data loss(略嚴重),browser再按一次refresh,資料又再出現。畢竟Facebook有近四億個户口,五十萬個third party applications,照顧third party application,並非其優先處理項目。


Create application時,到底選fbml mode或iframe mode,寫application有分別,不重覆了。那些user id, application id, page id等,因為太長,要用string處理,不要用
number/integer。至於讀user的friend的資料,其實相當簡單,google search有幾萬個tutorials,不會在這裏寫source code了。Application要讀取個人資料,user必須要login facebook及authorize application(只須一次),AS3及PHP均可指向user login的版面,但AS3做的login,會無啦啦彈出一個popup window,user要close那popup window才繼續工作,建議用PHP做login。Facebook API的寫法,99%要上Facebook官方網參考。


如果交功課求稳稳陣陣,順利畢業,可直接用官方提供的sample(只有PHP),改頭換面,就可騙過professor/marker。Samples有footprint,send smiley, send virtual gift等,送虛擬禮物的app相當簡單,無論送啤酒送花送介指送猫送狗送美女送e-card,其實係同一個app,只是換了jpeg file,在6waves可能有十九幾個,坊間有百九幾個類似的app;至於send smiley更簡單,連Mysql也省掉了,只是一個publisher api(即代替wall post),給用家選一個笑臉作icon,收工。我也曾經/現在也想做這兩個apps,因為用家數字(MAU)超高!


如果不想交行貨,想有創意甚至一鳴驚人,當然要花點心思及時間。


題外話,Facebook app/game是近三幾年的新事物,只要marketing做得好,一些無厘頭game也可以很快流行,成名後第二天再出game,就更易做marketing,至於有否真錢落袋,則難以定論。Zygna公司(top Facebook game provider)早前一出Mafia Wars,已極快吸引大批玩家,但遊戲內容跟6waves的古惑仔Online(我沒有玩過)相當相似,Mafia Wars除了graphics OK外,內容完全睇唔明(Maybe I am too old to learn young people's game),唔知玩乜。


對於新聞媒體甚至consultant firm出報告,寫到一些製作公司/整個製作行業,收入有幾誇,市場收益數字似一枝箭向上冲,我一向都只信一半。03/04年有名牌consultant firm出報告,寫手機遊戲市場五年內值幾十億美元,簡直垃圾。正如每年財經專家分析恒指升定跌,只有一半人估中,不論甚麼CPA,CFA或名牌大學生,行業報告寫對方向就大大聲,寫錯就唔見咗人。

4 則留言:

Agnes. 說...

小龍兄,好多謝你咁用心的留言呀~~~~我真係由衷感激呢~~睇完之後, 令我驚驚地唔知我而家跟緊的tutorial, 係咪會太過outdated呢~~
http://www.insideria.com/series-facebook-dev.html
我就係跟緊呢個tutorial做野, 佢有20個chapter, 我而家睇緊第一個chapter, 不過佢又冇教到d callback url那些facebook設定, 我都幾一頭霧水。想知你可唔可以大致上講下在facebook面版的setting, 好等我做到最基本~~
另外, 你亦可否望下呢個web的介紹會唔會唔夠update? 我唔想跟到最後d野先黎做唔到就慘~~~

李小龍 說...

This tutorial is good and update. For beginners, read series 1,2,5. Application notification in series 4 is not supported any more, but worth to take a quick look.

Many facebook settings have changed.
You will need:
1. choose Installable to -> Users
2. Canvas page url -> a unique name for facebook platform. One word.
3. Canvas Callback url -> the most important link. This is your actual server link e.g.
http://www.mywebsite.com/fb/helloworld/
MUST put a tailing "/". No need to put index.php at the end, because fb will add for you.
4. Iframe or fbml
5. Connect url -> same as Canvas callback url

leave others default/blank.

If you have not correct setup these settings, you have not start facebook programming!

Agnes 說...

HI, 又是我AGNES喇, 我最近在網上找到有人教用java script的client library來做login版面, 先在javascript呼叫api key再將之傳到swf內, 我想問這樣寫是不是更安全呢?

李小龍 說...

I am not sure about javascript login.
However, javascript is execute by client side's browser. Each browser type (and version) response is quite different. e.g.
http://becarella.com/post/224145998/facebook-authentication-with-the-actionscript-api

You can use Firefox and Chome to login with above link, but not my
IE6. Thus, most examples are still using php.

Flash can be decode back to source code. So secret key should not hardcoded inside.