|
Flash CS4 리소스 |
웹 페이지에서 AIR 응용 프로그램 설치 및 실행연속 설치 기능을 사용하면 웹 페이지에 SWF 파일을 포함할 수 있습니다. 이렇게 하면 사용자가 브라우저에서 AIR 응용 프로그램을 설치할 수 있습니다. 런타임이 설치되지 않은 경우 연속 설치 기능이 런타임을 설치합니다. 연속 설치 기능을 사용하여 사용자는 AIR 파일을 자신의 컴퓨터에 저장하지 않고 AIR 응용 프로그램을 설치할 수 있습니다. 연속 설치 기능을 쉽게 사용할 수 있게 해주는 badge.swf 파일이 AIR SDK에 포함되어 있습니다. 자세한 내용은 badge.swf 파일을 사용하여 AIR 응용 프로그램 설치를 참조하십시오. 연속 설치 기능을 사용하는 방법에 대한 데모는 웹을 통한 AIR 응용 프로그램 배포(http://www.adobe.com/go/learn_air_qs_seamless_install_kr) 퀵 스타트 샘플 기사를 참조하십시오. 연속 설치 badge.swf 사용자 정의SDK와 함께 제공되는 badge.swf 파일을 사용하지 않고 고유 SWF 파일을 만들어 브라우저 페이지에 사용할 수도 있습니다. 사용자 정의 SWF 파일은 다음과 같은 방법으로 런타임과 상호 작용할 수 있습니다.
이러한 모든 기능은 adobe.com에 있는 SWF 파일(air.swf)의 API를 호출하여 제공됩니다. 이 단원에서는 badge.swf 파일을 사용하고 사용자 정의하는 방법과 사용자 고유의 SWF 파일에서 air.swf API를 호출하는 방법에 대해 설명합니다. 브라우저에서 실행되는 SWF 파일은 LocalConnection 클래스를 사용하여 실행 중인 AIR 응용 프로그램과 통신할 수도 있습니다. 자세한 내용은 응용 프로그램 간 통신을 참조하십시오. 중요: 이 단원에 설명된 기능 및 air.swf 파일의 API를 사용하려면 최종 사용자의 Windows 또는 Mac OS 웹 브라우저에 Adobe® Flash® Player 9 업데이트 3이 설치되어 있어야 합니다. Linux에서 연속 설치 기능을 사용하려면 Flash Player 10 버전 10,0,12,36 이상이 필요합니다. 코드를 작성하여 Flash Player의 설치된 버전을 확인하고 필요한 버전의 Flash Player가 설치되어 있지 않은 경우 사용자에게 대체 인터페이스를 제공할 수 있습니다. 예를 들어 이전 버전의 Flash Player가 설치되어 있는 경우 badge.swf 파일이나 air.swf API를 사용하여 응용 프로그램을 설치하는 대신 다운로드된 버전의 AIR 파일에 대한 링크를 제공할 수 있습니다.
badge.swf 파일을 사용하여 AIR 응용 프로그램 설치연속 설치 기능을 쉽게 사용할 수 있게 해주는 badge.swf 파일이 AIR SDK에 포함되어 있습니다. badge.swf는 웹 페이지의 링크에서 런타임 및 AIR 응용 프로그램을 설치할 수 있습니다. 웹 사이트에 배포할 수 있도록 badge.swf 파일 및 소스 코드가 제공됩니다. 이 단원의 지침에서는 Adobe에서 제공하는 badge.swf 파일의 매개 변수를 설정하는 방법에 대한 정보를 제공합니다. 또한 사용자 정의할 수 있는 badge.swf 파일에 대한 소스 코드를 제공합니다. 웹 페이지에 badge.swf 파일 포함
badge.swf 파일을 편집하여 다시 컴파일할 수도 있습니다. 자세한 내용은 badge.swf 파일 수정을 참조하십시오. 웹 페이지의 연속 설치 링크에서 AIR 응용 프로그램 설치페이지에 연속 설치 링크가 추가되면 사용자는 SWF 파일의 링크를 클릭하여 AIR 응용 프로그램을 설치할 수 있습니다.
badge.swf 파일 수정AIR SDK는 badge.swf 파일의 소스 파일을 제공합니다. 이러한 파일은 SDK의 samples/badge 폴더에 포함되어 있습니다.
Flash CS3 또는 Flash CS4를 사용하여 badge.fla 파일의 시각 인터페이스를 다시 설계할 수 있습니다. AIRBadge 클래스에 정의되어 있는 AIRBadge() 생성자 함수는 http://airdownload.adobe.com/air/browserapi/air.swf에 있는 air.swf 파일을 로드합니다. air.swf 파일에는 연속 설치 기능을 사용하기 위한 코드가 포함됩니다. air.swf 파일이 성공적으로 로드되면 AIRBadge 클래스의 onInit() 메서드가 호출됩니다. private function onInit(e:Event):void {
_air = e.target.content;
switch (_air.getStatus()) {
case "installed" :
root.statusMessage.text = "";
break;
case "available" :
if (_appName && _appName.length > 0) {
root.statusMessage.htmlText = "<p align='center'><font color='#"
+ _messageColor + "'>In order to run " + _appName +
", this installer will also set up Adobe® AIR™.</font></p>";
} else {
root.statusMessage.htmlText = "<p align='center'><font color='#"
+ _messageColor + "'>In order to run this application, "
+ "this installer will also set up Adobe® AIR™.</font></p>";
}
break;
case "unavailable" :
root.statusMessage.htmlText = "<p align='center'><font color='#"
+ _messageColor
+ "'>Adobe® AIR™ is not available for your system.</font></p>";
root.buttonBg_mc.enabled = false;
break;
}
}
이 코드는 로드된 air.swf 파일의 기본 클래스에 전역 _air 변수를 설정합니다. 이 클래스에는 badge.swf 파일이 연속 설치 기능을 호출하기 위해 액세스하는 다음 공용 메서드가 포함됩니다.
url 및 runtimeVersion의 설정은 컨테이너 HTML 페이지의 FlashVars 설정을 통해 SWF 파일에 전달됩니다. 설치 시 응용 프로그램이 자동으로 시작되는 경우 LocalConnection 통신을 사용하여 badge.swf 파일 호출 시 설치된 응용 프로그램이 이 파일과 통신하도록 만들 수 있습니다. 자세한 내용은 응용 프로그램 간 통신을 참조하십시오. 응용 프로그램이 설치되어 있는지 여부를 확인하기 위해 air.swf 파일의 getApplicationVersion() 메서드를 호출할 수도 있습니다. 응용 프로그램 설치 프로세스가 시작되기 전이나 설치가 시작된 후에 이 메서드를 호출할 수 있습니다. 자세한 내용은 AIR 응용 프로그램이 설치되어 있는지 웹 페이지에서 확인을 참조하십시오. air.swf 파일 로드브라우저의 웹 페이지에서 런타임 및 AIR 응용 프로그램과 상호 작용하기 위해 air.swf 파일의 API를 사용하는 고유 SWF 파일을 만들 수 있습니다. air.swf 파일은 http://airdownload.adobe.com/air/browserapi/air.swf에 있습니다. SWF 파일에서 air.swf API를 참조하려면 SWF 파일과 같은 응용 프로그램 도메인에 air.swf 파일을 로드합니다. 다음 코드에서는 로드하는 SWF 파일의 응용 프로그램 도메인에 air.swf 파일을 로드하는 예제를 보여 줍니다. var airSWF:Object; // This is the reference to the main class of air.swf
var airSWFLoader:Loader = new Loader(); // Used to load the SWF
var loaderContext:LoaderContext = new LoaderContext();
// Used to set the application domain
loaderContext.applicationDomain = ApplicationDomain.currentDomain;
airSWFLoader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
airSWFLoader.load(new URLRequest("http://airdownload.adobe.com/air/browserapi/air.swf"),
loaderContext);
function onInit(e:Event):void
{
airSWF = e.target.content;
}
air.swf 파일이 로드되면(Loader 객체의 contentLoaderInfo 객체가 init 이벤트를 전달하면) 모든 air.swf API를 호출할 수 있습니다. 이러한 API에 대해서는 다음 단원에서 설명합니다. 참고: AIR SDK와 함께 제공되는 badge.swf 파일은 air.swf 파일을 자동으로 로드합니다. badge.swf 파일을 사용하여 AIR 응용 프로그램 설치를 참조하십시오. 이 단원의 지침은 air.swf 파일을 로드하는 고유 SWF 파일을 만드는 데 적용됩니다.
런타임이 설치되어 있는지 확인SWF 파일은 http://airdownload.adobe.com/air/browserapi/air.swf에서 로드된 air.swf 파일의 getStatus() 메서드를 호출하여 런타임이 설치되어 있는지 여부를 확인할 수 있습니다. 자세한 내용은 air.swf 파일 로드를 참조하십시오. air.swf 파일이 로드되면 SWF 파일은 air.swf 파일의 getStatus() 메서드를 다음과 같이 호출할 수 있습니다. var status:String = airSWF.getStatus(); getStatus() 메서드는 컴퓨터에 있는 런타임의 상태에 따라 다음 문자열 값 중 하나를 반환합니다.
필요한 버전의 Flash Player, 즉 버전 9 업데이트 3 이상(Windows 및 Mac OS) 또는 버전 10(Linux)이 브라우저에 설치되어 있지 않은 경우 getStatus() 메서드에서 오류가 발생합니다. AIR 응용 프로그램이 설치되어 있는지 웹 페이지에서 확인SWF 파일은 http://airdownload.adobe.com/air/browserapi/air.swf에서 로드된 air.swf 파일의 getApplicationVersion() 메서드를 호출하여 응용 프로그램 ID와 배급자 ID가 일치하는 AIR 응용 프로그램이 설치되어 있는지 여부를 확인할 수 있습니다. 자세한 내용은 air.swf 파일 로드를 참조하십시오. air.swf 파일이 로드되면 SWF 파일은 air.swf 파일의 getApplicationVersion() 메서드를 다음과 같이 호출할 수 있습니다. var appID:String = "com.example.air.myTestApplication";
var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1";
airSWF.getApplicationVersion(appID, pubID, versionDetectCallback);
function versionDetectCallback(version:String):void
{
if (version == null)
{
trace("Not installed.");
// Take appropriate actions. For instance, present the user with
// an option to install the application.
}
else
{
trace("Version", version, "installed.");
// Take appropriate actions. For instance, enable the
// user interface to launch the application.
}
}
getApplicationVersiom() 메서드의 매개 변수는 다음과 같습니다.
필요한 버전의 Flash Player, 즉 버전 9 업데이트 3 이상(Windows 및 Mac OS) 또는 버전 10(Linux)이 브라우저에 설치되어 있지 않은 경우 getApplicationVersion() 메서드에서 오류가 발생합니다. 브라우저에서 AIR 응용 프로그램 설치SWF 파일은 http://airdownload.adobe.com/air/browserapi/air.swf에서 로드된 air.swf 파일의 installApplication() 메서드를 호출하여 AIR 응용 프로그램을 설치할 수 있습니다. 자세한 내용은 air.swf 파일 로드를 참조하십시오. air.swf 파일이 로드되면 SWF 파일은 air.swf 파일의 installApplication() 메서드를 다음과 같이 호출할 수 있습니다. var url:String = "http://www.example.com/myApplication.air"; var runtimeVersion:String = "1.0"; var arguments:Array = ["launchFromBrowser"]; // Optional airSWF.installApplication(url, runtimeVersion, arguments); installApplication() 메서드는 사용자의 컴퓨터에 지정한 응용 프로그램을 설치합니다. 이 메서드의 매개 변수는 다음과 같습니다.
마우스 클릭과 같은 사용자 이벤트에 대한 이벤트 핸들러에서 호출될 때만 installApplication() 메서드가 작동할 수 있습니다. 필요한 버전의 Flash Player, 즉 버전 9 업데이트 3 이상(Windows 및 Mac OS) 또는 버전 10(Linux)이 브라우저에 설치되어 있지 않은 경우 installApplication() 메서드에서 오류가 발생합니다. Mac OS에서는 업데이트된 버전의 응용 프로그램을 설치하려면 사용자에게 응용 프로그램 디렉토리에 설치할 수 있는 적절한 시스템 권한이 필요하며 응용 프로그램이 런타임을 업데이트하는 경우 관리 권한이 필요합니다. Windows에서는 사용자에게 관리 권한이 필요합니다. 응용 프로그램이 설치되어 있는지 여부를 확인하기 위해 air.swf 파일의 getApplicationVersion() 메서드를 호출할 수도 있습니다. 응용 프로그램 설치 프로세스가 시작되기 전이나 설치가 시작된 후에 이 메서드를 호출할 수 있습니다. 자세한 내용은 AIR 응용 프로그램이 설치되어 있는지 웹 페이지에서 확인을 참조하십시오. 응용 프로그램이 실행되면 LocalConnection 클래스를 사용하여 브라우저의 SWF 내용과 통신할 수 있습니다. 자세한 내용은 응용 프로그램 간 통신을 참조하십시오. 브라우저에서 설치된 AIR 응용 프로그램 시작브라우저 호출 기능을 사용하여 대상 응용 프로그램이 브라우저에서 시작되게 하려면 해당 응용 프로그램 설명자 파일에 다음 설정이 포함되어야 합니다. <allowBrowserInvocation>true</allowBrowserInvocation> 응용 프로그램 설명자 파일에 대한 자세한 내용은 AIR 응용 프로그램 속성 설정을 참조하십시오. 브라우저의 SWF 파일은 http://airdownload.adobe.com/air/browserapi/air.swf에서 로드된 air.swf 파일의 launchApplication() 메서드를 호출하여 AIR 응용 프로그램을 시작할 수 있습니다. 자세한 내용은 air.swf 파일 로드를 참조하십시오. air.swf 파일이 로드되면 SWF 파일은 air.swf 파일의 launchApplication() 메서드를 다음과 같이 호출할 수 있습니다. var appID:String = "com.example.air.myTestApplication"; var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1"; var arguments:Array = ["launchFromBrowser"]; // Optional airSWF.launchApplication(appID, pubID, arguments); launchApplication() 메서드는 사용자 인터페이스 SWF 파일의 응용 프로그램 도메인에 로드되는 air.swf 파일의 최상위 수준에 정의되어 있습니다. 이 메서드를 호출하면 응용 프로그램이 설치되어 있으며 응용 프로그램 설명자 파일의 allowBrowserInvocation 설정을 통해 브라우저 호출이 허용된 경우 AIR이 지정한 응용 프로그램을 시작합니다. 이 메서드의 매개 변수는 다음과 같습니다.
마우스 클릭과 같은 사용자 이벤트에 대한 이벤트 핸들러에서 호출될 때만 launchApplication() 메서드가 작동할 수 있습니다. 필요한 버전의 Flash Player, 즉 버전 9 업데이트 3 이상(Windows 및 Mac OS) 또는 버전 10(Linux)이 브라우저에 설치되어 있지 않은 경우 launchApplication() 메서드에서 오류가 발생합니다. 응용 프로그램 설명자 파일에서 allowBrowserInvocation 요소가 false로 설정된 경우 launchApplication() 메서드를 호출해도 효과가 없습니다. 응용 프로그램을 시작하는 사용자 인터페이스를 표시하기 전에 air.swf 파일에서 getApplicationVersion() 메서드를 호출할 수 있습니다. 자세한 내용은 AIR 응용 프로그램이 설치되어 있는지 웹 페이지에서 확인을 참조하십시오. 브라우저 호출 기능을 통해 응용 프로그램을 호출하면 응용 프로그램의 NativeApplication 객체가 BrowserInvokeEvent 객체를 전달합니다. 자세한 내용은 브라우저 호출을 참조하십시오. 브라우저 호출 기능을 사용하는 경우 브라우저 호출에 설명된 보안 문제를 고려해야 합니다. 응용 프로그램이 실행되면 LocalConnection 클래스를 사용하여 브라우저의 SWF 내용과 통신할 수 있습니다. 자세한 내용은 응용 프로그램 간 통신을 참조하십시오. |