初めてのAIRネタです。
以前Airアプリをリリース後に重大なバグが見つかってしまい、インストールした人全員に再インストールをしてもらわなければいけないという事態に陥ったことがあります。
「自動アップデート機能」を実装しておけば~!って思ってましたが、当時は知識もなく、時間も無かったため、結局実装できず。
しかし、時間に少し余裕の出来た今、アップデート機能を導入してみました!
ライブラリを使うとたった1行できるようですね。
当時実装しておけば、あんな苦労は。。。
ということで、実装手順を以下に説明します。
- ライブラリのダウンロード
- バージョン管理用XMLの作成
- AIRのソースに下記の1行を追加
- 開発しているAIRの設定ファイル(xxxxx-app.xml)を編集
下記サイトより、「AirAutoUpadate」をダウンロードしてきます。
http://www.libspark.org/wiki/AirAutoUpdater
以下のようなXMLを作成する。
バージョンと対象のAirファイルのパスを指定する。
<version>
<version>0.90</version>
<url>http://rontan.sakura.ne.jp/gadget/gadget.air</url>
</version>
<jirox:AirAutoUpdater url="http://rontan.sakura.ne.jp/gadget/version.xml"/>
ただし、jioxのネームスペースを指定するため、WindowedApplication タグに 「xmlns:jirox=”net.jirox.*”」と追加する必要あり
最新のバージョンを設定する。また、アップデート機能をONにする。
<version>0.91</version>
<customUpdateUI>true</customUpdateUI>
これだけでOK!
あとはそれぞれ所定の場所にアップしてあげるだけ。
更新する際は、バージョン管理用XMLとAIRの設定ファイルのバージョンを変更してあげれば、自動的にバージョンを判定してアップデートの確認をしてくれます。
ちなみに、バージョン管理用XMLとAIRの設定ファイルのバージョンが違うと、以下のようにエラーが発生してしまうようです。
以上でお終いですが、現在のバージョンが正しく取得できず空欄になる場合があります。
その場合は、AIRの設定ファイルのバージョンを確認してみてください。
ライブラリとAIRのネームスーペースのバージョンが違うと正しく取得できないようです。
<application xmlns="http://ns.adobe.com/air/application/1.0">
末尾のバージョンが1.1になっている場合は、1.0に直してみてください。
正しく取得できるようになるはずです。
参考サイト:
http://d.hatena.ne.jp/haru-komugi/20080713/1215955004
http://coelacanth.heteml.jp/site/flash_as3/article_3
http://d.hatena.ne.jp/sukesam/20080506/1210075556
http://app.blog.livedoor.jp/coelacanth_blog/tb.cgi/55143959
Pingback: flabaka - AirAutoUpdaterを実装してみた()