Top > MyPage
 

Adobe Airアプリケーションのオートアップデート

Airアプリのオートアップデート

Airアプリケーションを実行したとき、サーバー上に新しいバージョンのアプリが上がっていたらアップデートしたい。それを自動化する方法を紹介します。

AirAutoUpdaterについて

AirにはUpdaterという、オンラインでアップデートするためのクラス(flash.desktop.Updater)がある。が、しかし、これを使うように1から実装するのは結構な手間である。

そこで、Updaterを簡便に使えるようにしたライブラリAirAutoUpdaterをつかいます。

作者による紹介

  • まず、 AirAutoUpdater.swc をダウンロードして、AirAutoUpdaterをつかいたいプロジェクトのlibsディレクトリに置きます。
  • プロジェクトのmxmlのルートタグにネームスペースjxを追加設定して、jx:AirAutoUpdaterタグでこのプロジェクトのairファイルのバージョン管理をするxmlのurlを設定する。airアプリを起動したとき、このファイルに記述されたバージョンとアプリケーション定義ファイルに記述されたバージョンを比較して、サーバーにあるファイルの方が新しいバージョンならダウンロードの通知が出る。
    <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" \
        xmlns:jx="net.jirox.*">
    <jx:AirAutoUpdater url="http://www.chikkun.com/und/airVersion.xml"/>
    
  • アプリケーション定義ファイル(アプリケーション名-app.xmlというファイルが、プロジェクトのルートにあるはず)のversionを適宜書き換える。customUpdateUIタグはコメントアウトされていたらコメントをはずして、値をtrueにする。
  • mxmlでurlを指定したバージョン管理ファイルは次に示す構成で作成して、サーバーにアップする。バージョンはサーバーにアップする最新のairのバージョンにする。
    <version>
        <!-- 最新のバージョン -->
        <version>0.2</version>
        <!-- 最新のバージョンのairファイルのURL -->
        <url>http://www.chikkun.com/und/staffSave.air</url>
    </version> 
    
  • あとはバージョン管理ファイルで指定した場所にairファイルを間違いなく置いておいて、ファイルのバージョンが挙がったら、バージョン管理ファイルの方のバージョンも書き換えるのを忘れなければ、airを起動したとき、新しいバージョンがあれば、アップデートが実行されます。

古いバージョンのサンプルをインストールすると、サーバーに新しいバージョンがあるので、アップデータが実行されます。ベーシック認証がかかった場所なので、それに注意してください。