天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

教你構(gòu)建多樣化的Facebook應(yīng)用程序

  使用Flash Platform,您可以構(gòu)建豐富的用戶體驗。使用Facebook Platform,您可以構(gòu)建豐富的社交體驗。將兩者結(jié)合使用,您可以構(gòu)建出納入更具交互性、表現(xiàn)力和響應(yīng)性應(yīng)用程序社交功能的殺手級應(yīng)用程序。

  您可以構(gòu)建與Facebook相整合的三種類型的Flash Platform應(yīng)用程序:Facebook上的應(yīng)用程序、外部Web應(yīng)用程序和桌面應(yīng)用程序。

  Facebook上的應(yīng)用程序是托管在您自己服務(wù)器上的Web應(yīng)用程序,但是用戶可用從Facebook網(wǎng)站上進行訪問。用戶可以看到內(nèi)部嵌入您的應(yīng)用程序的Facebook chrome。您可以在Facebook上訪問應(yīng)用程序(通常通過響應(yīng)朋友的邀請或通過搜索應(yīng)用程序時跟蹤一個鏈接),而且 Facebook 服務(wù)器代理向您的服務(wù)器發(fā)出的請求并檢索應(yīng)用程序頁面(包括嵌入Flash Platform應(yīng)用程序的 HTML 和 JavaScript),以在 Facebook 網(wǎng)站上顯示。

  這可以為Facebook網(wǎng)站上的用戶提供無縫體驗;用戶從不離開Facebook網(wǎng)站。Flash Platform應(yīng)用程序使用Adobe ActionScript 3 SDK for Facebook Platform(Facebook Graph API 的包裝)反復檢索和/或發(fā)送數(shù)據(jù)至Facebook。

  外部Web應(yīng)用程序同樣托管在您自己的服務(wù)器上,但是用戶通過您的 URL 而不是 Facebook 網(wǎng)絡(luò)進行訪問。您可以通過結(jié)合使用 Adobe ActionScript 3 SDK for Facebook Platform 和 Facebook JavaScript SDK 為應(yīng)用程序添加單點登錄和注銷功能,將 Facebook 社交特性添加到應(yīng)用程序。您可以將登錄和注銷按鈕添加到應(yīng)用程序,而且當用戶登錄時,她在彈出窗口中適合位置看到 Facebook 登錄和/或應(yīng)用程序授權(quán)對話框。

  彈出窗口對于安全性是必要的,這樣用戶知道她正在登錄 Facebook。這種單點登錄 Facebook 功能可以簡化您的應(yīng)用程序的登錄流程,使其可以訪問用戶的個人資料,從而讓您個性化網(wǎng)頁(通過顯示用戶的姓名、照片等)和用戶體驗(通過顯示朋友購買的產(chǎn)品、朋友評論或意見,向用戶的墻或朋友的新提要發(fā)布評論或意見等方式)。對于 Facebook.com 上的應(yīng)用程序,F(xiàn)lash Platform 應(yīng)用程序使用 Adobe ActionScript 3 SDK for Facebook Platform(Facebook Graph API 的包裝)反復檢索和/或發(fā)送數(shù)據(jù)至 Facebook。示例網(wǎng)站包括 Ben and Jerry's、RedBull Connect 和 City Search。

  桌面應(yīng)用程序與外部Web應(yīng)用程序相似,但是您將 Flash Platform 應(yīng)用程序作為一個 AIR 應(yīng)用程序部署到桌面,而不是將其托管到一個web 服務(wù)器。與外部網(wǎng)站一樣,桌面應(yīng)用程序使用 Adobe ActionScript 3 SDK for Facebook Platform 添加了 Facebook 中的登錄功能和社交功能。

  Facebook.com 上的非 Flash Platform 應(yīng)用程序

  當用戶在Facebook上向一個應(yīng)用程序發(fā)出請求時,F(xiàn)acebook 將一個 Facebook 網(wǎng)頁返回到包含一個 iFrame(您的應(yīng)用程序被加載到該 iFrame)的 Facebook chrome(參見圖 1)。

  注:這時,您可以在 Facebook.com 上創(chuàng)建 iFrame 或 FBML 應(yīng)用程序。您應(yīng)該僅創(chuàng)建 iFrame 應(yīng)用程序,因為 Facebook 正在逐步淘汰使用 FBML 應(yīng)用程序,并打算在 2010 年底停止創(chuàng)建這種應(yīng)用程序。這種對應(yīng)用程序創(chuàng)建流程的簡化是 Facebook 為了消除開發(fā) Facebook.com 應(yīng)用程序和非 Facebook.com 應(yīng)用程序之間的差別所做出的部分努力。

Facebook.com 上的<a href=/pingce/yingyong/ target=_blank class=infotextkey>應(yīng)用</a>程序的架構(gòu) 
圖 1. Facebook.com 上的應(yīng)用程序的架構(gòu)

  中文注釋:

  1.網(wǎng)頁請求;

  2. HTML/JS 網(wǎng)頁;

  3.網(wǎng)頁請求;

  4. HTTP 請求 API;

  5. JSON;

  6.在 Facebook 網(wǎng)頁的 iFrame 中顯示的 HTML/JS 網(wǎng)頁;

  7. JS 調(diào)用您的服務(wù)器

  8. HTTP 請求 API;

  9. JSON;

  10. JSON;

  11. JS 調(diào)用 API;

  12. JSON。

  用戶在 Facebook 網(wǎng)站上向您的應(yīng)用程序發(fā)出請求;瀏覽器向 Facebook 發(fā)出 HTTP 請求。

  iFrame HTML 標記的 HTML/JavaScript (JS)網(wǎng)頁。

  用戶的瀏覽器向您的服務(wù)器發(fā)出在 iFrame 中顯示網(wǎng)頁的請求。通常情況是一個應(yīng)用程序服務(wù)器頁面(如,php、ColdFusion 或 JSP),但是也可能是一個 HTML 頁面。該頁面應(yīng)該包含邏輯檢查,以查看用戶是否登錄了 Facebook。當用戶登錄 Facebook 時,會話數(shù)據(jù)被存儲到一個名為 fbs_applicationID 的 cookie 中,其中應(yīng)用程序 ID 就是注冊到 Facebook Developer 應(yīng)用程序時分配給應(yīng)用程序的 ID。cookie 包含一個名為 access_token 的變量,您可以對其進行檢索,然后隨著向 Facebook Graph API 發(fā)出的所有后續(xù)調(diào)用進行傳遞。如果用戶沒有登錄 Facebook,如 cookie 無 access_token 屬性,應(yīng)將瀏覽器重定向至合適的 Facebook 登錄頁面。

  應(yīng)用程序服務(wù)器頁面被執(zhí)行,根據(jù)需求對數(shù)據(jù)庫或其他服務(wù)器進行任何調(diào)用,包括使用其 Graph API 對 Facebook 進行的調(diào)用。每個 API 都必須包含從會話 cookie 中檢索的訪問記號。

  Facebook將請求的數(shù)據(jù)作為JSON格式化數(shù)據(jù)返回至您的服務(wù)器

  您的服務(wù)器將 HTML/JS 頁面返回至在 iFrame 中顯示的用戶瀏覽器。

  當用戶與您的應(yīng)用程序進行交互時,可能發(fā)生下面的情況:

  如果您的應(yīng)用程序包含新服務(wù)器端頁面鏈接,重復 3-6 步。

  或者,如果您的應(yīng)用程序包含對您的服務(wù)器的異步 JavaScript 調(diào)用。這種情況下,執(zhí)行圖 1 中的步驟 7-10,其中唯一區(qū)別是 JSON 被返回至需由頁面的 JavaScript 處理的用戶瀏覽器。

  另一種情況是您的頁面中的 JavaScript 代碼使用 Facebook JavaScript SDK 直接對 Facebook 服務(wù)器進行調(diào)用,而不必通過您的應(yīng)用程序服務(wù)器(圖 1 中的步驟 11-12)。

  注:您也可以將一個小 FBML 標記集放到您的應(yīng)用程序中,與 JavaScript SDK 結(jié)合使用,JavaScript SDK 掃描 DOM 以獲取標記,然后向 Facebook 發(fā)送 API 請求。

  Facebook.com 上的 Flash Platform 應(yīng)用程序

  我們已經(jīng)了解了 Facebook.com 上非 Flash Platform 應(yīng)用程序的基礎(chǔ)知識,現(xiàn)在讓我們看看如何將 Flash Platform 內(nèi)容整合到您的應(yīng)用程序中(參見圖 2)。

Facebook.com 上的Flash Platform <a href=/pingce/yingyong/ target=_blank class=infotextkey>應(yīng)用</a>程序 
圖 2. Facebook.com 上的 Flash Platform 應(yīng)用程序

  1.網(wǎng)頁請求;

  2. HTML/JS 網(wǎng)頁;

  3.網(wǎng)頁請求;

  4.在 Facebook 網(wǎng)頁的 iFrame 中顯示的 HTML/JS 網(wǎng)頁;

  5. Flash Platform 應(yīng)用程序請求(SWF);

  6. SWF;

  7. ActionScript 調(diào)用 API;

  8. JSON;

  9. ActionScript 調(diào)用您的應(yīng)用程序服務(wù)器

  10. HTTP 請求 API;

  11. JSON;

  12. AMF(或 XML、JSON 或 SOAP)

  用戶在 Facebook 網(wǎng)站上對您的應(yīng)用程序發(fā)出請求;瀏覽器向 Facebook 服務(wù)器發(fā)出 HTTP 請求。

  Facebook 服務(wù)器返回一個包含 Facebook 網(wǎng)站 chrome 和一個 iFrame HTML 標記的 HTML/JS 網(wǎng)頁。

  用戶的瀏覽器向您的服務(wù)器發(fā)出在 iFrame 中顯示網(wǎng)頁的請求。向之前一樣,這是一個 HTML 頁面或應(yīng)用程序服務(wù)器頁面,但是現(xiàn)在該頁面還嵌入了一個 SWF 文件,F(xiàn)lash Platform 應(yīng)用程序。

  您的服務(wù)器向用戶的瀏覽器返回一個在 iFrame 中顯示的 HTML/JS 頁面。該頁面必須包含邏輯檢查,以查看用戶是否登錄 Facebook,但是現(xiàn)在該檢查可以使用 Adobe ActionScript 3 SDK for Facebook Platform 在嵌入的 SWF 中完成。該應(yīng)用程序包含可以檢查訪問記號是否存在的代碼。如果無訪問記號,您必須像以前一樣添加代碼,以將用戶重定向至 Facebook 登錄頁面。

  用戶的瀏覽器向您的服務(wù)器發(fā)送另一個請求,這次是將 SWF 嵌入到 iFrame 中的 HTML 頁面。

  您的服務(wù)器返回 SWF 文件。

  當用戶與應(yīng)用程序進行交互時,它使用 Adobe ActionScript 3 SDK for Facebook Platform 向 Facebook 發(fā)出異步調(diào)用。每個 API 調(diào)用必須包含訪問記號;這是由 SDK 自動處理的。

  由于 Flash Player 的安全限制,SWF 文件僅可以對 SWF 文件被服務(wù)的服務(wù)器或具有一個列出 SWF 文件出處的跨域策略文件的服務(wù)器(也就是,您的服務(wù)器)進行數(shù)據(jù)調(diào)用。這意味著,為了使 SWF 文件可以直接向 Facebook 服務(wù)器發(fā)出調(diào)用請求,F(xiàn)acebook 服務(wù)器必須具有一個列出您服務(wù)器訪問中的 SWF 文件的跨域策略文件。如果您查看 Facebook 跨域策略文件,會看到一個通配符項,授權(quán)從所有服務(wù)器訪問 SWF 文件。

  Facebook 將 JSON 數(shù)據(jù)返回應(yīng)用程序。

  當用戶與應(yīng)用程序進行交互時,它也可以使用典型的遠程程序調(diào)用方法對您的服務(wù)器(以保存您的服務(wù)器上的任何數(shù)據(jù)或進行任何其他服務(wù)器端處理)進行異步調(diào)用。對于采用 Flex構(gòu)建的 Flash Platform 應(yīng)用程序,這包括 HTTP、web 服務(wù)和 Flash Remoting 請求。最快速和最小的調(diào)用是使用 Flash Remoting 而產(chǎn)生的,F(xiàn)lash Remoting 使用開放源二進制協(xié)議 Action Message Format (AMF)在服務(wù)器和 Flash Player 之間交換數(shù)據(jù)。

  如果服務(wù)器出于任何原因需要與 Facebook 對話,它可以進行。

  您的服務(wù)器端代碼處理來自 Facebook 的結(jié)果。

  您的服務(wù)器將任何數(shù)據(jù)返回至用戶瀏覽器中您的 Flash Platform 應(yīng)用程序。

  外部 Flash 和 Facebook Platform web 應(yīng)用程序

  外部 Flash 和 Facebook Platform web 應(yīng)用程序(參見圖 3)與 Facebook.com 上的web 應(yīng)用程序非常相似。兩者的主要區(qū)別是如何處理用戶登錄和應(yīng)用程序授權(quán)。不是簡單地將瀏覽器重定向至 Facebook 登錄和/或授權(quán)頁面,您可以結(jié)合使用 Facebook JavaScript SDK 和 Adobe ActionScript 3 SDK for Facebook Platform,以在彈出窗口中展示 Facebook 登錄和/或授權(quán)頁面。

  盡管 Facebook 登錄是用 JavaScript 處理的,您通常無須寫任何 JavaScript 代碼;您僅調(diào)用 Adobe ActionScript 3 SDK for Facebook Platform 中的類方法即可。內(nèi)部發(fā)生的事情是 ActionScript SDK 中的代碼調(diào)用包裝頁面中包含的 JavaScript 方法,包裝頁面反過來調(diào)用 Facebook JavaScript SDK 中的方法。Adobe ActionScript 3 SDK for Facebook Platform 包含一個名為FBJSBridge.js 的文件,該文件包含這些需要包含到您的應(yīng)用程序的包裝頁面中的 JavaScript 方法。應(yīng)用程序的包裝頁面必須包含該 JavaScript 文件以及 Facebook JavaScript SDK。

外部 Flash 和 Facebook Platform web <a href=/pingce/yingyong/ target=_blank class=infotextkey>應(yīng)用</a>程序 
外部 Flash 和 Facebook Platform web 應(yīng)用程序

  1.網(wǎng)頁請求;

  2. HTML/JS 網(wǎng)頁;

  3. Flash Platform 應(yīng)用程序請求(SWF);

  4. SWF;

  5. ActionScript 調(diào)用 API;

  6. JSON

  7. ActionScript 調(diào)用您的應(yīng)用程序服務(wù)器

  8. HTTP 請求 API;

  9. JSON;

  10. AMF(或 XML、JSON 或 SOAP)

  用戶在您的網(wǎng)站上向您的應(yīng)用程序發(fā)出請求;瀏覽器向您的服務(wù)器發(fā)出 HTTP 請求。該請求可以是 HTML 頁面或者任何應(yīng)用程序服務(wù)器頁面,但是下面的內(nèi)容僅針對 HTML 頁面。

  您的服務(wù)器返回一個嵌入您的 SWF 文件的 HTML/JS 頁面。該包裝頁面必須包含 Facebook JavaScript SDK 和 Adobe ActionScript 3 SDK for Facebook Platform 使用的 FBJSBridge。

  用戶瀏覽器向您的服務(wù)器發(fā)出將 SWF 文件嵌入 HTML 頁面的請求。

  您的服務(wù)器返回 SWF 文件。應(yīng)用程序使用 Adobe ActionScript 3 SDK for Facebook Platform 代碼(使用 FBJSBridge 和 Facebook JavaScript SDK)檢查和查看該用戶和應(yīng)用程序是否有一個當前訪問記號。如果沒有,它將在一個彈出瀏覽器窗口中呈現(xiàn) Facebook 登錄和/或授權(quán)網(wǎng)頁。

  當用戶與應(yīng)用程序交互時,它使用 Adobe ActionScript 3 SDK for Facebook Platform 對 Facebook 進行異步調(diào)用。每個 API 都必須包含訪問記號(這是由 SDK 自動處理的)且 Facebook 服務(wù)器必須由一個列出您的服務(wù)器訪問中的 SWF 文件的跨域策略文件。

  Facebook 將 JSON 格式化數(shù)據(jù)返回至您的應(yīng)用程序,您的應(yīng)用程序處理數(shù)據(jù)。

  如果您希望保存您服務(wù)器上的任何數(shù)據(jù)或進行任何其他服務(wù)器端處理,您的 ActionScript 代碼可以使用典型的遠程程序調(diào)用方法對您的服務(wù)器進行調(diào)用(HTTP、web 服務(wù)和 Flash Remoting 請求)。

  如果您的服務(wù)器出于任何原因需要與 Facebook 對話,它可以進行。

  您的服務(wù)器端代碼處理來自 Facebook 的結(jié)果。

  您的服務(wù)器將任何數(shù)據(jù)返回至用戶瀏覽器中您的 Flash Platform 應(yīng)用程序。

  Flash 和 Facebook Platform 桌面應(yīng)用程序

  最后,讓我們看一下 Flash 和 Facebook Platform 桌面應(yīng)用程序的架構(gòu)(參見圖 4)。桌面應(yīng)用程序與外部 Flash 和 Facebook Platform web 應(yīng)用程序非常相似,區(qū)別是用戶安裝應(yīng)用程序后 SWF 文件保存在用戶的電腦上,而且 Adobe ActionScript 3 SDK for Facebook Platform 獨立處理登錄。為了將 Flash Platform 應(yīng)用程序部署為桌面應(yīng)用程序,您需要創(chuàng)建一個用戶可以安裝的 AIR 應(yīng)用程序。

Flash 和 Facebook Platform 桌面<a href=/pingce/yingyong/ target=_blank class=infotextkey>應(yīng)用</a>程序 
圖 4. Flash 和 Facebook Platform 桌面應(yīng)用程序

  1.安裝 AIR 運行時和您的 AIR 應(yīng)用程序;

  2. ActionScript 調(diào)用 API;

  3. JSON;

  4. ActionScript 調(diào)用您的應(yīng)用程序服務(wù)器

  5. HTTP 請求 API;

  6. JSON;

  7. AMF(或 XML、JSON 或 SOAP)

  用戶安裝并打開您的 AIR 桌面應(yīng)用程序。應(yīng)用程序使用 Adobe ActionScript 3 SDK for Facebook Platform 代碼檢查和查看該用戶和應(yīng)用程序是否有一個當前訪問記號。如果沒有,它將在新操作系統(tǒng)窗口呈現(xiàn) Facebook 登錄和/或授權(quán)網(wǎng)頁。

  您的 SWF 文件中的 ActionScript 代碼使用 Adobe ActionScript 3 SDK for Facebook Platform 對 Facebook 直接進行異步調(diào)用。訪問記號自動隨每個 API 調(diào)用被傳遞。

  Facebook 將 JSON 格式化數(shù)據(jù)返回至您的應(yīng)用程序,您的應(yīng)用程序處理數(shù)據(jù)。

  如果您希望保存您的服務(wù)器上的任何數(shù)據(jù)或者進行任何其他服務(wù)器端處理,您的 ActionScript 代碼可以使用典型的遠程程序調(diào)用方法對您的服務(wù)器進行調(diào)用(HTTP、web 服務(wù)和 Flash Remoting 請求)。

  如果您的服務(wù)器出于任何原因需要與 Facebook 對話,它可以進行。

  您的服務(wù)器處理來自 Facebook 的結(jié)果。

  您的服務(wù)器將任何數(shù)據(jù)返回至 Flash Platform 桌面應(yīng)用程序。

  后續(xù)工作

  本文呈現(xiàn)了Facebook.com 上的非 Flash Platform 應(yīng)用程序、Facebook.com 上的 Flash Platform 應(yīng)用程序、外部 Flash 和 Facebook Platform web 應(yīng)用程序,以及 Flash 和 Facebook Platform 桌面應(yīng)用程序的架構(gòu)圖和處理流程。

it知識庫教你構(gòu)建多樣化的Facebook應(yīng)用程序,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 中文字幕精品视频在线 | 97在线播放视频 | 神马电影dy888午夜我不卡 | 神马电影dy888午夜我不卡 | 我不卡影院手机在线观看 | 火影忍者高清无码黄漫 | 国产系列视频二区 | 国产成人在线观看免费网站 | 色欲AV亚洲情无码AV蜜桃 | 日本一卡2卡3卡四卡精品网站 | 国产久青青青青在线观看 | 草民电影网午夜伦理电影网 | 久久九九久精品国产尤物 | 奇米狠狠干 | 国产精品1区在线播放 | 成年女人免费影院播放 | 边做边爱BD免费看片 | 国产亚洲精品久久久久 | 国产国拍亚洲精品av麻豆 | japanesematur乱儿 japanese from色系 | 三级网站午夜三级 | 国产内射AV徐夜夜 | 精品无码国产自产在线观看 | WWW夜片内射视频在观看视频 | 男人把女人桶到爽免费看视频 | 亚洲人成伊人成综合网久久久 | av视频在线免播放观看 | 中国人泡妞xxxxxxxx19 | 亚洲中文在线偷拍 | 日本调教网站 | 色人格影院第四色 | 亚洲免费网站观看视频 | 亚洲性无码AV久久成人 | 年轻的女教师2017韩国在线看 | 亚洲无吗在线视频 | 男女作爱在线播放免费网页版观看 | jyzzjyzzz视频国产在线观看 | 三级黄色视屏 | 精品人妻伦九区久久AAA片69 | 99久久久精品 | 日本色高清 |