| Adobe AIR |
|
|
AIR アプリケーションプロパティの設定AIR アプリケーションには、その構成要素であるファイルなどのアセットに加えて、アプリケーション記述ファイルが必要です。アプリケーション記述ファイルは、AIR アプリケーションの基本プロパティを定義する XML ファイルです。 AIR アプリケーションを開発する場合、Adobe® AIR™ プロジェクトごとにアプリケーション記述ファイルを作成する必要があります。サンプルの記述ファイル descriptor-sample.xml は、インストールした Adobe® AIR™ の samples ディレクトリにあります。 アプリケーション記述ファイルの構造アプリケーション記述ファイルには、アプリケーションの名前、バージョン、著作権情報など、アプリケーション全体に影響するプロパティが含まれています。アプリケーション記述ファイルには任意の名前を付けることができます。ADT を使用してアプリケーションをパッケージ化すると、アプリケーション記述ファイルは application.xml という名前に変更されて、AIR パッケージ内の特別なディレクトリに格納されます。Flash CS3 のデフォルトの設定を使用して AIR ファイルを作成すると、アプリケーション記述ファイルは application.xml という名前に変更されて、AIR パッケージ内の特別なディレクトリに格納されます。 <?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/1.1">
<id>com.example.HelloWorld</id>
<version>2.0</version>
<filename>Hello World</filename>
<name>Example Co. AIR Hello World</name>
<description>
<text xml:lang="en">This is a example.</text>
<text xml:lang="fr">C'est un exemple.</text>
<text xml:lang="es">Esto es un ejemplo.</text>
</description>
<copyright>Copyright (c) 2006 Example Co.</copyright>
<initialWindow>
<title>Hello World</title>
<content>
HelloWorld-debug.swf
</content>
<systemChrome>none</systemChrome>
<transparent>true</transparent>
<visible>true</visible>
<minimizable>true</minimizable>
<maximizable>false</maximizable>
<resizable>false</resizable>
<width>640</width>
<height>480</height>
<minSize>320 240</minSize>
<maxSize>1280 960</maxSize>
</initialWindow>
<installFolder>Example Co/Hello World</installFolder>
<programMenuFolder>Example Co</programMenuFolder>
<icon>
<image16x16>icons/smallIcon.png</image16x16>
<image32x32>icons/mediumIcon.png</image32x32>
<image48x48>icons/bigIcon.png</image48x48>
<image128x128>icons/biggestIcon.png</image128x128>
</icon>
<customUpdateUI>true</customUpdateUI>
<allowBrowserInvocation>false</allowBrowserInvocation>
<fileTypes>
<fileType>
<name>adobe.VideoFile</name>
<extension>avf</extension>
<description>Adobe Video File</description>
<contentType>application/vnd.adobe.video-file</contentType>
<icon>
<image16x16>icons/avfIcon_16.png</image16x16>
<image32x32>icons/avfIcon_32.png</image32x32>
<image48x48>icons/avfIcon_48.png</image48x48>
<image128x128>icons/avfIcon_128.png</image128x128>
</icon>
</fileType>
</fileTypes>
</application>
アプリケーション記述ファイルの例を次に示します。 <?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/1.1">
<id>com.example.HelloWorld</id>
<version>2.0</version>
<filename>Hello World</filename>
<name>Example Co. AIR Hello World</name>
<description>
<text xml:lang="en">This is a example.</text>
<text xml:lang="fr">C'est un exemple.</text>
<text xml:lang="es">Esto es un ejemplo.</text>
</description>
<copyright>Copyright (c) 2006 Example Co.</copyright>
<initialWindow>
<title>Hello World</title>
<content>
HelloWorld-debug.html
</content>
<systemChrome>none</systemChrome>
<transparent>true</transparent>
<visible>true</visible>
<minimizable>true</minimizable>
<maximizable>false</maximizable>
<resizable>false</resizable>
<width>640</width>
<height>480</height>
<minSize>320 240</minSize>
<maxSize>1280 960</maxSize>
</initialWindow>
<installFolder>Example Co/Hello World</installFolder>
<programMenuFolder>Example Co</programMenuFolder>
<icon>
<image16x16>icons/smallIcon.png</image16x16>
<image32x32>icons/mediumIcon.png</image32x32>
<image48x48>icons/bigIcon.png</image48x48>
<image128x128>icons/biggestIcon.png</image128x128>
</icon>
<customUpdateUI>true</customUpdateUI>
<allowBrowserInvocation>false</allowBrowserInvocation>
<fileTypes>
<fileType>
<name>adobe.VideoFile</name>
<extension>avf</extension>
<description>Adobe Video File</description>
<contentType>application/vnd.adobe.video-file</contentType>
<icon>
<image16x16>icons/avfIcon_16.png</image16x16>
<image32x32>icons/avfIcon_32.png</image32x32>
<image48x48>icons/avfIcon_48.png</image48x48>
<image128x128>icons/avfIcon_128.png</image128x128>
</icon>
</fileType>
</fileTypes>
</application>
アプリケーション記述ファイルでのプロパティの定義アプリケーション記述ファイルのルートには、次の複数の属性を持つ application プロパティがあります。 <application version="1.0" xmlns="http://ns.adobe.com/air/application/1.1"> xmlns デフォルトの XML 名前空間として定義する AIR 名前空間です。この名前空間は、AIR のメジャーリリースごとに異なります(マイナーパッチには影響されません)。名前空間の最後のセグメント(「1.0」など)は、アプリケーションに必要なランタイムバージョンを示します。 minimumPatchLevel オプション。minimumPatchLevel 属性では、AIR アプリケーションに最低必要な、Adobe AIR のパッチレベルを指定します。通常、AIR アプリケーションに必要な AIR のバージョンを指定するには、単にアプリケーション記述ファイルに名前空間を定義します。名前空間は AIR のメジャーリリース(1.0 や 1.1 など)ごとに変更されます。パッチリリースに伴う名前空間の変更はありません。パッチリリースには、限られたフィックスのセットだけが含まれ、API の変更は含まれません。通常、アプリケーションに必要なパッチリリースをアプリケーションが指定することはありません。ただし、アプリケーションの問題がパッチリリースのフィックスによって修復される場合があります。このような場合は、アプリケーションで minimumPatchLevel 属性の値を指定し、アプリケーションのインストール前にパッチを適用できます。AIR アプリケーションのインストーラを実行すると、必要なバージョンやパッチがあれば、ダウンロードしてインストールするよう要求されます。minimumPatchLevel 属性の値を指定するアプリケーションエレメントの例を次に示します。 <application version="1.0"
xmlns="http://ns.adobe.com/air/application/1.1"
minimumPatchLevel="5331">
基本アプリケーション情報の定義次のエレメントでは、アプリケーション ID、バージョン、名前、ファイル名、説明および著作権情報を定義します。 <id>com.example.samples.TestApp</id>
<version>2.0</version>
<filename>TestApp</filename>
<name>
<text xml:lang="en">Hello AIR</text>
<text xml:lang="fr">Bonjour AIR</text>
<text xml:lang="es">Hola AIR</text>
</name>
<description>An MP3 player.</description>
<copyright>Copyright (c) 2008 YourCompany, Inc.</copyright>
id アプリケーション ID と呼ばれる、アプリケーション固有の識別ストリングです。属性値には、次の文字のみを使用できます。
値の長さは 1 ~ 212 文字です。このエレメントは必須です。 通常、id ストリングには、逆 DNS ドメインアドレス、Java™ のパッケージ名やクラス名、または OS® X の Universal Type Identifier を並べた、ドット区切りの階層構造を使用します。DNS に似た形式は必須ではありません。また、AIR では、名前と実際の DNS ドメインとの関連付けは作成されません。 version アプリケーションのバージョン情報を指定します(ランタイムのバージョンとは関係ありません)。version ストリングは、アプリケーション定義の指示子です。AIR は、version ストリングを解釈しません。したがって、バージョン「3.0」はバージョン「2.0」より新しいとは見なされません。例えば、「1.0」、「.4」、「0.5」、4.9」、「1.3.4a」のように指定します。このエレメントは必須です。 filename アプリケーションのインストール時に、アプリケーションのファイル名(拡張子なし)として使用するストリングです。ランタイムでは、アプリケーションファイルから AIR アプリケーションを起動します。name の値を指定しない場合、filename がインストールフォルダの名前としても使用されます。このエレメントは必須です。 filename プロパティには、任意の Unicode(UTF-8)文字を含めることができますが、次の文字は使用できません。これらの文字は、各種のファイルシステムで使用が禁止されています。
filename の値の末尾にピリオドを付けることはできません。 name (オプション、ただし推奨)AIR アプリケーションインストーラに表示されるタイトルです。 1 つのテキストノードを指定した場合(複数の text エレメントを指定しない場合)、システム言語に関係なしに、この名前が AIR アプリケーションインストーラで使用されます。 <name>Test Application</name> AIR 1.0 アプリケーション記述スキーマでは、1 つの単純なテキストノードのみを名前として定義できます。複数の text エレメントを定義することはできません。 AIR 1.1 では、複数の言語を name エレメントに指定できます。例えば、次の例では 3 つの言語(英語、フランス語、スペイン語)を指定しています。 <name>
<text xml:lang="en">Hello AIR</text>
<text xml:lang="fr">Bonjour AIR</text>
<text xml:lang="es">Hola AIR</text>
</name>
各テキストエレメントの xml:lang 属性は、RFC4646(http://www.ietf.org/rfc/rfc4646.txt)に定義された言語コードを指定します。 AIR アプリケーションインストーラでは、ユーザのオペレーティングシステムのユーザインターフェイス言語と最も近い名前が使用されます。例えば、アプリケーション記述ファイルの name エレメントの値として en(英語)が含まれているとします。オペレーティングシステムのユーザインターフェイス言語が en(英語)になっている場合は、AIR アプリケーションインストーラで名前 en が使用されます。システムのユーザインターフェイス言語が en-US(アメリカ英語)の場合にも名前 en が使用されます。一方、ユーザインターフェイス言語が en-US で、アプリケーション記述ファイルに en-US と en-GB の両方が定義されている場合は、AIR アプリケーションインストーラで en-US が使用されます。システムのユーザインターフェイス言語と一致する名前がアプリケーションに定義されていない場合、AIR アプリケーションインストーラではアプリケーション記述ファイルに定義された最初の name の値が使用されます。 name エレメントが指定されていない場合、AIR アプリケーションインストーラではアプリケーション名として filename が表示されます。 name エレメントは、AIR アプリケーションインストーラで使用されるアプリケーションのタイトルを定義するだけです。AIR 1.1 アプリケーションインストーラは、複数の言語(繁体字中国語、簡体字中国語、英語、フランス語、ドイツ語、イタリア語、日本語、韓国語、ブラジル語、ポルトガル語、ロシア語およびスペイン語)をサポートしています。AIR アプリケーションでは、システムのユーザインターフェイス言語に基づいて、アプリケーションとタイトルおよび説明以外のテキスト用として、表示された言語が選択されます。この言語の選択は、アプリケーション記述ファイルの設定とは関係なく行われます。 name エレメントでは、実行中のインストール済みアプリケーションの言語は定義しません。複数言語アプリケーションの開発について詳しくは、AIR アプリケーションのローカライズを参照してください。 description (オプション)AIR アプリケーションインストーラに表示される、アプリケーションの説明です。 1 つのテキストノードを指定した場合(複数の text エレメントを指定しない場合)、システム言語に関係なく、この説明が AIR アプリケーションインストーラで使用されます。 <description>This is a sample AIR application.</description> AIR 1.0 アプリケーション記述スキーマでは、1 つの単純なテキストノードのみを名前として定義できます。複数の text エレメントを定義することはできません。 AIR 1.1 では、複数の言語を description エレメントに指定できます。例えば、次の例では 3 つの言語(英語、フランス語、スペイン語)を指定しています。 <description>
<text xml:lang="en">This is a example.</text>
<text xml:lang="fr">C'est un exemple.</text>
<text xml:lang="es">Esto es un ejemplo.</text>
</description>
各テキストエレメントの xml:lang 属性は、RFC4646(http://www.ietf.org/rfc/rfc4646.txt)に定義された言語コードを指定します。 AIR アプリケーションインストーラでは、ユーザのオペレーティングシステムのユーザインターフェイス言語と最も近い説明が使用されます。例えば、アプリケーション記述ファイルの description エレメントの値として en(英語)が含まれているとします。オペレーティングシステムのユーザインターフェイス言語が en(英語)になっている場合は、AIR アプリケーションインストーラで名前 en が使用されます。システムのユーザインターフェイス言語が en-US(アメリカ英語)の場合にも名前 en が使用されます。一方、システムのユーザインターフェイス言語が en-US で、アプリケーション記述ファイルに en-US と en-GB の両方が定義されている場合は、AIR アプリケーションインストーラで en-US が使用されます。システムのユーザインターフェイス言語と一致する名前がアプリケーションに定義されていない場合、AIR アプリケーションインストーラではアプリケーション記述ファイルに定義された最初の description の値が使用されます。 複数言語アプリケーションの開発について詳しくは、AIR アプリケーションのローカライズを参照してください。 copyright (オプション)AIR アプリケーションの著作権情報です。Macintosh では、インストールしたアプリケーションのバージョン情報ダイアログボックスに著作権情報が表示されます。Macintosh では、アプリケーションの Info.plist ファイルの「NSHumanReadableCopyright」フィールドにも著作権情報が表示されます。 インストールフォルダおよびプログラムメニューフォルダの定義インストールフォルダおよびプログラムメニューフォルダは、次のプロパティ設定で定義します。 <installFolder>Acme</installFolder> <programMenuFolder>Acme/Applications</programMenuFolder> installFolder (オプション)デフォルトのインストールディレクトリのサブディレクトリを指定します。 Windows では、デフォルトのインストールサブディレクトリは Program Files ディレクトリです。Macintosh では、/Applications ディレクトリです。例えば、installFolder プロパティが「Acme」に設定されていて、アプリケーションの名前が「ExampleApp」である場合、アプリケーションは、Windows では C:¥Program Files¥Acme¥ExampleApp に、Macintosh では /Applications/Acme/Example.app にそれぞれインストールされます。 ネストされたサブディレクトリを指定する場合は、次に示すように、スラッシュ(/)をディレクトリの区切り文字として使用します。 <installFolder>Acme/Power Tools</installFolder> installFolder プロパティには、任意の Unicode(UTF-8)文字を含めることができます。ただし、各種のファイルシステムでフォルダ名として使用できない文字は除きます(使用できない文字の一覧については、上記の filename プロパティを参照してください)。 installFolder プロパティはオプションです。installFolder プロパティを指定しない場合、アプリケーションは、name プロパティに基づいて、デフォルトのインストールディレクトリのサブディレクトリにインストールされます。 programMenuFolder (オプション)Windows オペレーティングシステムのすべてのプログラムメニューに表示するアプリケーションへのショートカットの位置を指定します(現在、この設定は他のオペレーティングシステムでは無視されます)。このプロパティの値に使用できる文字の制限は installFolder プロパティと同じです。この値の末尾文字としてスラッシュ(/)は使用しないでください。 初期アプリケーションウィンドウのプロパティの定義ランタイムは、AIR アプリケーションの読み込み時に、initialWindow エレメントの値を使用してアプリケーションの初期ウィンドウを作成します。次に、content エレメントで指定された SWF ファイルまたは HTML ファイルをウィンドウに読み込みます。 次に initialWindow エレメントの例を示します。 <initialWindow>
<content>AIRTunes.html</content>
<title>AIR Tunes</title>
<systemChrome>none</systemChrome>
<transparent>true</transparent>
<visible>true</visible>
<minimizable>true</minimizable>
<maximizable>true</maximizable>
<resizable>true</resizable>
<width>400</width>
<height>600</height>
<x>150</x>
<y>150</y>
<minSize>300 300</minSize>
<maxSize>800 800</maxSize>
</initialWindow>
ルートコンテンツファイルが読み込まれるウィンドウのプロパティは、initialWindow エレメントの子エレメントで設定します。 contentcontent エレメントには、アプリケーションのメインコンテンツファイルの URL を指定します。このファイルは SWF ファイルまたは HTML ファイルのいずれかです。URL は、アプリケーションのインストールフォルダのルートを基準に指定します(ADL を使用して AIR アプリケーションを実行する場合は、アプリケーション記述ファイルを含むフォルダを基準とする URL を指定します。ADL の root-dir パラメータを使用すると、別のルートディレクトリを指定できます)。 注意: content エレメントの値は URL として扱われるので、コンテンツファイル名の文字は、RFC 1738FC 1738 で定義されたルールに従って URL エンコードする必要があります。例えば、空白文字は、%20 としてエンコードする必要があります。
title (オプション)ウィンドウのタイトルです。 systemChrome (オプション)この属性を standard に設定すると、オペレーティングシステムによって提供される標準のシステムクロムが表示されます。none に設定した場合、システムクロムは表示されません。実行時にシステムクロムの設定を変更することはできません。 transparent (オプション)アプリケーションウィンドウでアルファブレンドをサポートする場合は、true に設定します。透明なウィンドウは、描画に時間がかかり、より多くのメモリを必要とする場合があります。実行時に透明設定を変更することはできません。 重要: transparent を true に設定できるのは、systemChrome が none の場合に限られます。
visible (オプション)作成したメインウィンドウを直ちに表示する場合は、true に設定します。デフォルト値は false です。 最初はメインウィンドウを非表示のままにしておくことで、ウィンドウの位置やサイズ、およびウィンドウ内のコンテンツのレイアウトに対する変更が表示されないようにすることができます。ウィンドウを表示する場合は、ウィンドウの activate() メソッドを呼び出すか、visible プロパティを true に設定します。詳しくは、ネイティブウィンドウの操作を参照してください。 x、y、width、height (オプション)アプリケーションのメインウィンドウの初期領域です。これらの値を設定しない場合、ウィンドウサイズは、ルート SWF ファイルの設定またはオペレーティングシステム(HTML の場合)によって決定されます。 minSize、maxSize (オプション)ウィンドウの最小サイズおよび最大サイズです。これらの値を設定しない場合、ウィンドウの最小サイズおよび最大サイズはオペレーティングシステムによって決定されます。 minimizable、maximizable、resizable (オプション)ウィンドウの最小化、最大化およびサイズ変更が可能かどうかを指定します。これらの設定のデフォルト値は true です。 注意: Mac OS X などのオペレーティングシステムでは、ウィンドウの最大化がサイズ変更操作として行われるため、ウィンドウのズームまたはサイズ変更を防ぐために、maximizable と resizable の両方を false に設定する必要があります。
アイコンファイルの指定icon プロパティでは、アプリケーションで使用するアイコンファイルを指定します。アイコンの指定は必須ではありません。icon プロパティを指定しない場合、オペレーティングシステムによってデフォルトのアイコンが表示されます。 アイコンファイルのパスは、アプリケーションのルートディレクトリを基準に指定します。アイコンファイルは PNG 形式である必要があります。次のすべてのアイコンサイズを指定できます。 <icon>
<image16x16>icons/smallIcon.png</image16x16>
<image32x32>icons/mediumIcon.png</image32x32>
<image48x48>icons/bigIcon.png</image48x48>
<image128x128>icons/biggestIcon.png</image128x128>
</icon>
特定のサイズに対応するエレメントが存在する場合、ファイル内のイメージは指定どおりのサイズになります。一部のサイズしか存在しない場合、アイコンの使用に合わせて、最も近いサイズのイメージがオペレーティングシステムによって拡大または縮小されます。 注意: 指定したアイコンは、AIR パッケージに自動的には追加されません。アプリケーションをパッケージ化する際には、アイコンファイルが適切な相対場所に格納されている必要があります。
最適な結果を得るためには、使用可能なサイズごとにイメージを用意します。また、アイコンが 16 ビットおよび 32 ビットのカラーモードで適切に表示されることを確認します。 アプリケーションアップデート用のカスタムユーザインターフェイスの提供AIR では、デフォルトのインストールダイアログを使用して、アプリケーションのインストールおよびアップデートを行います。ただし、アプリケーションアップデート用の独自のユーザインターフェイスを提供できます。アプリケーション自体でアップデートプロセスを処理することを指定するには、customUpdateUI エレメントを true に設定します。 <customUpdateUI>true</customUpdateUI> インストールされているバージョンのアプリケーションで customUpdateUI エレメントが true に設定されているときに、ユーザが新しいバージョンの AIR ファイルをダブルクリックするか、シームレスインストール機能を使用してアプリケーションのアップデートをインストールすると、デフォルトの AIR アプリケーションインストーラではなく、インストールされているバージョンのアプリケーションがランタイムによって起動されます。その後、アプリケーションロジックでアップデート操作の続行方法を決定できます(アップグレードを続行するには、AIR ファイルとインストールされているアプリケーションのアプリケーション ID および発行者 ID が一致している必要があります)。 注意: customUpdateUI のメカニズムが機能するのは、アプリケーションがインストール済みで、ユーザがアップデートを含む AIR インストールファイルをダブルクリックするか、シームレスインストール機能を使用してアプリケーションのアップデートをインストールする場合だけです。アップデートのダウンロードおよびインストールは、customUpdateUI が true かどうかにかかわらず、独自のアプリケーションロジックとカスタム UI (必要な場合)を使用して行うことができます。
詳しくは、AIR アプリケーションのアップデートを参照してください。 アプリケーションのブラウザ呼び出しの許可次の設定を指定すると、ブラウザ呼び出し機能を介して(ユーザが Web ブラウザ内のページのリンクをクリックして)インストール済みの AIR アプリケーションを起動できるようになります。 <allowBrowserInvocation>true</allowBrowserInvocation> デフォルト値は false です。 この値を true に設定する場合は、ブラウザによる呼び出しで説明しているセキュリティ上の影響を考慮してください。 詳しくは、Web ページからの AIR アプリケーションのインストールと実行を参照してください。 ファイルの種類による関連付けの宣言fileTypes エレメントを使用すると、AIR アプリケーションを関連付けることができるファイルの種類を宣言できます。AIR アプリケーションをインストールすると、宣言済みのファイルの種類がすべてオペレーティングシステムに登録されます。また、これらのファイルの種類が別のアプリケーションに関連付けられていない場合は、AIR アプリケーションに関連付けられます。ファイルの種類と他のアプリケーションとの関連付けを上書きするには、実行時に NativeApplication.setAsDefaultApplication() メソッドを使用します(ユーザの権限で実行することをお勧めします)。 注意: ランタイムメソッドで管理できるのは、アプリケーション記述子で宣言されたファイルの種類の関連付けだけです。
<fileTypes>
<fileType>
<name>adobe.VideoFile</name>
<extension>avf</extension>
<description>Adobe Video File</description>
<contentType>application/vnd.adobe.video-file</contentType>
<icon>
<image16x16>icons/AIRApp_16.png</image16x16>
<image32x32>icons/AIRApp_32.png</image32x32>
<image48x48>icons/AIRApp_48.png</image48x48>
<image128x128>icons/AIRApp_128.png</image128x128>
</icon>
</fileType>
</fileTypes>
fileTypes プロパティはオプションです。このプロパティが存在する場合は、任意の数の fileType エレメントをプロパティに含めることができます。 追加した fileType 宣言ごとに、name エレメントと extension エレメントが必要になります。複数の拡張子について同じ名前を使用できます。ファイルの種類は、拡張子によって一意に識別されます(拡張子は先頭のピリオドなしで指定します)。description エレメントはオプションで、オペレーティングシステムのユーザインターフェイスを介してユーザに表示されます。contentType プロパティもオプションですが、このプロパティを設定すると、ある状況下でファイルを開くのに最適なアプリケーションをオペレーティングシステムが特定できるようになります。この値はファイルコンテンツの MIME タイプである必要があります。 ファイル拡張子には、アプリケーションアイコンエレメントと同じ形式のアイコンを指定できます。このアイコンファイルも AIR インストールファイルに含める必要があります(アイコンファイルは自動的にはパッケージ化されません)。 ファイルの種類が AIR アプリケーションに関連付けられている場合、ユーザが該当する種類のファイルを開くたびにその AIR アプリケーションが起動されます。アプリケーションが既に実行されている場合、AIR は実行中のインスタンスに InvokeEvent オブジェクトを送出します。実行されていない場合、AIR はまずアプリケーションを起動します。どちらの場合も、NativeApplication オブジェクトによって送出された InvokeEvent オブジェクトからファイルへのパスを取得できます。このパスを使用してファイルを開くことができます。 |