| Adobe AIR |
|
|
Web ページからの AIR アプリケーションのインストールと実行シームレスインストール機能では、SWF ファイルを Web ページに埋め込むことができます。これにより、ユーザはブラウザから AIR アプリケーションをインストールできます。ランタイムがインストールされていない場合は、シームレスインストール機能によってランタイムがインストールされます。シームレスインストール機能を使用すると、AIR ファイルをコンピュータに保存せずに AIR アプリケーションをインストールできます。Flex SDK には、badge.swf ファイルが含まれています。このファイルを使用すると、シームレスインストール機能を簡単に使用できます。詳しくは、badge.swf ファイルを使用した AIR アプリケーションのインストールを参照してください。 シームレスインストール機能では、SWF ファイルを Web ページに埋め込むことができます。これにより、ユーザはブラウザから AIR アプリケーションをインストールできます。ランタイムがインストールされていない場合は、シームレスインストール機能によってランタイムがインストールされます。シームレスインストール機能を使用すると、AIR ファイルをコンピュータに保存せずに AIR アプリケーションをインストールできます。AIR SDK には、badge.swf ファイルが含まれています。このファイルを使用すると、シームレスインストール機能を簡単に使用できます。詳しくは、badge.swf ファイルを使用した AIR アプリケーションのインストールを参照してください。 シームレスインストールの badge.swf のカスタマイズについてSDK に付属している badge.swf ファイルの使用に加え、ブラウザページで使用できる独自の SWF ファイルを作成できます。カスタム SWF ファイルは、次の方法でランタイムと対話できます。
これらの機能はすべて、adobe.com: air.swf にホストされている SWF ファイル内の API を呼び出して使用できます。この節では、badge.swf ファイルの使用とカスタマイズ方法、および独自の SWF ファイルから air.swf API を呼び出す方法について説明します。 また、ブラウザで実行中の SWF ファイルは、LocalConnection クラスを使用して実行されている AIR アプリケーションと通信できます。詳しくは、アプリケーション間通信を参照してください。 重要: この節で説明する機能(および air.swf ファイルの API)を使用するには、エンドユーザが Adobe® Flash® Player 9 アップデート 3 を Web ブラウザでインストールしている必要があります。インストールされている Flash Player のバージョンを確認し、Flash Player の必要なバージョンがインストールされていない場合は、ユーザに代替のインターフェイスを提供するコードを作成できます。例えば、古いバージョンの Flash Player がインストールされている場合は、(badge.swf ファイルまたは air.swf API を使用してアプリケーションをインストールするのではなく)AIR ファイルのダウンロードバージョンへのリンクを提供します。
badge.swf ファイルを使用した AIR アプリケーションのインストールFlex SDK には、badge.swf ファイルが含まれています。このファイルを使用すると、シームレスインストール機能を簡単に使用できます。badge.swf では、ランタイムと AIR アプリケーションを Web ページのリンクからインストールできます。Web サイトに配布するための badge.swf ファイルとそのソースコードが提供されます。 AIR SDK には、badge.swf ファイルが含まれています。このファイルを使用すると、シームレスインストール機能を簡単に使用できます。badge.swf では、ランタイムと AIR アプリケーションを Web ページのリンクからインストールできます。Web サイトに配布するための badge.swf ファイルとそのソースコードが提供されます。 AIR SDK には、badge.swf ファイルが含まれています。このファイルを使用すると、シームレスインストール機能を簡単に使用できます。badge.swf では、ランタイムと AIR アプリケーションを Web ページのリンクからインストールできます。Web サイトに配布するための badge.swf ファイルとそのソースコードが提供されます。 この節に示す手順では、アドビ システムズ社が提供する badge.swf ファイルのパラメータの設定について説明します。また、カスタマイズ可能な badge.swf ファイルのソースコードも提供します。 Web ページへの badge.swf ファイルの埋め込み
また、badge.swf ファイルを編集および再コンパイルすることもできます。詳しくは、badge.swf ファイルの変更を参照してください。 Web ページのシームレスインストールリンクからの AIR アプリケーションのインストールページにシームレスインストールリンクを追加すると、SWF ファイル内のリンクをクリックして AIR アプリケーションをインストールできます。
badge.swf ファイルの変更AIR SDK では、badge.swf ファイルのソースファイルが提供されます。次のファイルは、SDK の src フォルダに含まれています。
Flash CS3 を使用して、badge.fla ファイルの仮想インターフェイスを再デザインできます。 AIRBadge クラスで定義される AIRBadge() コンストラクタ関数は、http://airdownload.adobe.com/air/browserapi/air.swf にホストされている air.swf ファイルを読み込みます。air.swf ファイルには、シームレスインストール機能を使用するためのコードが含まれています。 onInit() メソッド(AIRBadge クラス内)は、air.swf ファイルが正常に読み込まれると呼び出されます。 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 変数が、読み込んだ air.swf ファイルのメインクラスに設定されます。このクラスには、badge.swf ファイルがシームレスインストール機能を呼び出す際にアクセスする次のパブリックメソッドが含まれています。
url および runtimeVersion の設定は、コンテナの HTML ページの FlashVars 設定を通じて SWF ファイルに渡されます。 インストール時にアプリケーションが自動的に起動する場合は、LocalConnection 通信を使用して、インストールされたアプリケーションの呼び出し時に badge.swf ファイルと通信させることができます。詳しくは、アプリケーション間通信を参照してください。 また、air.swf ファイルの getApplicationVersion() メソッドを呼び出して、アプリケーションがインストールされているかどうかを確認することもできます。このメソッドは、アプリケーションのインストールプロセスの前、またはインストールの開始後に呼び出すことができます。詳しくは、AIR アプリケーションがインストールされているかどうかの Web ページからの確認を参照してください。 air.swf ファイルの読み込みair.swf ファイルの API を使用する独自の SWF ファイルを作成し、ブラウザ内の Web ページからランタイムおよび AIR アプリケーションを操作できます。air.swf ファイルは、http://airdownload.adobe.com/air/browserapi/air.swf にホストされています。SWF ファイルから air.swf API を参照するには、air.swf ファイルを 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/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() メソッドは、コンピュータ上のランタイムのステータスに基づいて、次のストリング値のいずれか 1 つを返します。
getStatus() メソッドは、必要なバージョンの Flash Player(バージョン 9 アップブレード 3)がブラウザにインストールされていない場合、エラーをスローします。 AIR アプリケーションがインストールされているかどうかの Web ページからの確認SWF ファイルでは、http://airdownload.adobe.com/air/browserapi/air.swf から読み込んだ air.swf ファイルの getApplicationVersion() メソッドを呼び出して、AIR アプリケーション(対応するアプリケーション ID と発行者 ID を持つ)がインストールされているかどうかを確認できます。詳しくは、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.
}
}
getApplicationVersion() メソッドには、次のパラメータがあります。
getApplicationVersion() メソッドは、必要なバージョンの Flash Player(バージョン 9 アップブレード 3)がブラウザにインストールされていない場合、エラーをスローします。 ブラウザからの 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() メソッドは、マウスのクリックなどのユーザイベントのイベントハンドラで呼び出されたときにのみ動作できます。 installApplication() メソッドは、必要なバージョンの Flash Player(バージョン 9 アップブレード 3)がブラウザにインストールされていない場合、エラーをスローします。 Macintosh でアプリケーションのアップデートバージョンをインストールするには、アプリケーションディレクトリにインストールするための適切なシステム権限(アプリケーションでランタイムをアップデートする場合は管理権限も)が必要です。Windows では、管理権限が必要です。 また、air.swf ファイルの getApplicationVersion() メソッドを呼び出して、アプリケーションが既にインストールされているかどうかを確認することもできます。このメソッドは、アプリケーションのインストールプロセスの開始前、またはインストールの開始後に呼び出すことができます。詳しくは、AIR アプリケーションがインストールされているかどうかの Web ページからの確認を参照してください。実行中のアプリケーションは、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() メソッドは、air.swf ファイルの最上位レベルで定義されます(ユーザインターフェイス SWF ファイルのアプリケーションドメインに読み込まれます)。このメソッドを呼び出すと、AIR で指定されたアプリケーションが起動します(アプリケーションがインストール済みで、アプリケーション記述ファイルの allowBrowserInvocation 設定でブラウザ呼び出しが許可されている場合)。このメソッドのパラメータは次のとおりです。
launchApplication() メソッドは、マウスのクリックなどのユーザイベントのイベントハンドラで呼び出されたときにのみ動作できます。 launchApplication() メソッドは、必要なバージョンの Flash Player(バージョン 9 アップブレード 3)がブラウザにインストールされていない場合、エラーをスローします。 アプリケーション記述ファイルで allowBrowserInvocation エレメントが false に設定されている場合、launchApplication() メソッドを呼び出してもアプリケーションは起動されません。 アプリケーションを起動するためのユーザインターフェイスを示す前に、air.swf ファイルで getApplicationVersion() メソッドを呼び出す必要があります。詳しくは、AIR アプリケーションがインストールされているかどうかの Web ページからの確認を参照してください。 ブラウザ呼び出し機能によりアプリケーションが呼び出されると、アプリケーションの NativeApplication オブジェクトは BrowserInvokeEvent オブジェクトを送出します。詳しくは、ブラウザによる呼び出しを参照してください。 ブラウザ呼び出し機能を使用する場合は、ブラウザによる呼び出しで説明しているセキュリティ上の影響を考慮してください。 実行中のアプリケーションは、LocalConnection クラスを使用してブラウザで SWF コンテンツと通信できます。詳しくは、アプリケーション間通信を参照してください。 |