2010年4月22日 星期四

FlashDevelop 上發布Air Project相關事項

一.設定讓FlashDevelop Air API Auto Complete
    在Project Properties/compiler Option/SWC Include Lib
    加入air swc的路徑
    C:\Program Files\Adobe\Adobe Flash CS4\AIK1.5\frameworks\libs\air\airglobal.swc
    C:\Program Files\Adobe\Adobe Flash CS4\AIK1.5\frameworks\libs\air\servicemonitor.swc

二.產生AIR
1.當設定的Project為AIR
   在Project目錄下會有兩個bat檔CreateCertificate.bat與PackageApplication.bat
2.CreateCertificate.bat 產生認證檔
    編輯
   1.設定Flex SDK路徑
      set PATH=%PATH%;C:\flex_sdk_4\bin
   2.設定這認證pfx檔案的,名字,密碼與輸出檔名
set NAME=MyName
set PASSWORD=MyPassword
set CERTIFICATE=MyName.pfx
這在產生air檔案時,會需要這帳號密碼確認
   3.修改完,執行,即會產生一個pfx檔
3.PackageApplication.bat 封裝AIR
    編輯
    1.設定Flex SDK路徑
set PATH=%PATH%;C:\flex_sdk_4\bin
    2.指定要使用的數位認證檔
       set CERTIFICATE=MyName.pfx
    3.設定要輸出的檔案路徑
       set AIR_FILE=air/FlexTest1.air
    4.執行,即產生AIR檔
4.注意
  若在封裝AIR檔案發生錯誤
  如application.xml error 102:invaid namespace
  請確認,系統安裝的AIRSDK版本,與application.xml
  namespace設定的版本是否相符

三.發布到網頁
1.下載 Badge Sample
Adobe Badge Sample
http://download.macromedia.com/pub/developer/air/badge_install_samples.zip
2.修改網頁參數
   1.flaVar參數
appname:AIR App名稱(需URL encode,也就是經過escape過)
appurl:要下載的air檔案網址
airversion:要跑這個air的 runtime版本需求
imageurl:(非必填)要放到badge內的圖片路徑
buttoncolor:(非必填)按鈕顏色,預設為000000
messagecolor:(非必填)訊息文字顏色,預設為000000

   2.<noscript>內放當不支援flash player時,要提供顯示的文字連結內容

3.手動讓Web Server認得AIR檔案
  在Apache 的http.conf 加入
  <IfModule>
   AddType application/vnd.adobe.air-application-installer-package+zip .air
   </IfModule>
4.若使用Flash Player Detection Kit,可以讓使用者在站上就直接更新flash player
http://www.adobe.com/products/flashplayer/download/detection_kit/
5.執行程序
在網站上點badge安裝時
系統會先檢查,是否有Air RunTime,如果沒有會自動安裝下載
結束後,自動安裝應用程式
若已經安裝過,會檢查版本是否有更新過,如無,則可直接開啟程式
若有新版,則會安裝新版本
6.資料來源
http://www.adobe.com/devnet/air/articles/air_badge_install.html

四.安裝AIR runtime到Ubuntu上
1.下載
     http://airdownload.adobe.com/air/lin/download/1.5/AdobeAIRInstaller.bin
2.設定為可執行檔
     chmod +x AdobeAIRInstaller.bin
3.安裝
     sudo ./AdobeAIRInstaller.bin

五.AIR 自動Update機制
1.AIR Project的Application.xml內設定了這個app的版本
   安裝到client上,client上以這作為已安裝版本依據
2.在發布新的air更新檔,同時要放置一個updateInfo.xml到網站上
   當作一個版本比對的參考,只要有更新AIR版本,就要修改這份XML內容
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
<version>1.0</version>
            <url>http://192.168.11.80/air/myApp.air</url>
    <description>
  <text xml:lang="en_US">AIR AutoUpdate</text>
  <text xml:lang="zh_TW">AIR 自動更新</text>
  </description>
</update>
3.當使用者在執行其已安裝的app時,會去連線檢查
server上updateInfo.xml內的版本跟本機的是否一致
如有新版,則自動更新
4.所以,在你的AIR App程式內
需要利用ApplicationUpdater 這Class來載入Server上的updateInfo.xml
讀取版本資料來做比對,並做更新下載




六.另外需要注意的是,在FlashDevelop上開啟AIR Project在Property OutPut的設定上,需使用預定的Run Custom Command,也就是執行
C:\flex_sdk_4.1\bin\adl.exe;application.xml bin
如果只是當作一般SWF輸出到Tab上,AIR相關API會失效

沒有留言: