본문 바로가기

OM

에어 배포 (badge.swf)

Flex Builder 3 설치후
Adobe\Flex Builder 3\sdks\3.0.0\samples\badge 폴더를 보면

badge===============================================================================================

AC_RunActiveContent.js
AIRBadge.as
badge.fla
badge.swf
default_badge.html
readme.txt
red_badge.html
test.jpg

=====================================================================================================

이 있다.

필요한 파일==========================================================================================

AC_RunActiveContent.js : 플래시 플레이어 버젼 확인 및 임베딩
badge.swf : 에어 어플리케이션을 설치해주는 링크를 가진 플래시 파일
default_badge.html : badge.swf를 임베딩하는 html파일 (이름은 바꿔도 됨)

=====================================================================================================

위에 보이는 필요한 파일들을 웹서버에 업로드 해준다. (참고로 그대로 올릴 시 test.jpg를 업로드 하지 않으면 badge.swf에서 파일오류를 일으킨다. AIRBadge.as를 살펴보자.)
그리고 default_badge.html에서 badge.swf으로 넘기는 파라미터(FlashVars)를 수정해 준다.

default_badge.html===================================================================================

'flashvars','appname=HelloAIR&appurl=http://도메인/경로/HelloAIR.air&airversion=1.0&imageurl=test.jpg'

=====================================================================================================

** 파라미터
appname       : 에어 어플리케이션 이름
appurl           : 에어 어플리케이션의 패키지 파일(.air)의 웹 서버 링크
airversion      : 에어 런타임 환경의 버젼
imageurl        : badge에 표시할 설치 아이콘 이미지
buttoncolor     : 설치 버튼의 색을 hex 컬러 값으로 지정
messagecolor : 버튼 밑에 나타나는 설치정보 관련 메시지 폰트 색깔 지정

파라미터 외에도 수정할 부분이 있으면 적당히 수정해 준다.
파라미터를 수정할 때에는 appurl가 중요하다.
파라미터를 받는 badge.swf의 소스파일을 보면

AIRBadge.as=========================================================================================

...(생략)
_appURL = validateURL(encodeURI(parameters["appurl"]));


 // Validate URL: only allow HTTP, HTTPS scheme or relative path
 // Return null if not a valid URL
private static function validateURL(url:String):String {
   if (url && url.length > 0) {
    var schemeMarker:int = url.indexOf(":");
    if (schemeMarker < 0) {
     schemeMarker = url.indexOf("%3a");
    }
    if (schemeMarker < 0) {
     schemeMarker = url.indexOf("%3A");
    }
    if (schemeMarker > 0) {
     var scheme:String = url.substr(0, schemeMarker).toLowerCase();
     if (scheme != "http" && scheme != "https" && scheme != "ftp") {
      url = null;
     }
    }
   }
   return url;
  }

=====================================================================================================

부분이 있다.
appurl에는 도메인, 경로를 정확히 적어주자.
여기까지가 필수.
필요하다면 badge.fla, AIRBadge.as를 수정해서 다운로드 받는 화면을 더 이쁘게 꾸며줄 수 있다.