AIRNovel:自動更新機能、わかったこと

「片輪車と雪女」お買い上げ頂いた方はこちらで簡単に解説してます。


~ ここから技術話 ~
※「自動アップデートの設定方法」知識が必要な話です。

AIRNovel、と云うかAdobe AIRソフトの更新で、AIR 2.5をまたぐ更新のやり方が判ったので説明してみようかと。

AIRは現状、おおまかに
AIR2.0まで(AIR 1.1、1.5、1.5.1、1.5.2、1.5.3、2.0)と、
AIR2.5以降(AIR 2.5、2.6、2.7……)の二通り有ります。

これは主に更新記述ファイルアプリケーション記述ファイルのバージョン表記のタグ名の変更が大きいです。
アプリケーション記述ファイル
AIR1.5.2ならこんな感じ。

<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/1.5.2">
   <id>com.fc2.blog38.famibee.airupd</id>
   <version>1.0</version>


AIR2.6ならこんな感じ。

<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/2.6">
   <id>com.fc2.blog38.famibee.airupd</id>
   <versionNumber>2.0</versionNumber>


※versionLabelというのも増えましたが、省略可能なので割愛。


サーバーに設置する更新記述ファイルも似たようなノリで記述します。
更新記述ファイルのバージョンは「1.0」と「2.5」のみ。

<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
   <version>2.0</version>
   <url>http://xxx.jp/yyy/zzz.air</url>
   <description><![CDATA[New version includes:
2.0
   * tst:テスト2
1.0
   * tst:テスト]]></description>
</update>


<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5">
   <versionNumber>2.0</versionNumber>
   <url>http://xxx.jp/yyy/zzz.air</url>
   <description><![CDATA[New version includes:
2.0
   * tst:テスト2
1.0
   * tst:テスト]]></description>
</update>



さて、そのままでは「AIR2.0まで」から「AIR2.5以降」へと更新することが出来ません。

更新記述ファイルに工夫が必要です。以下の二つが必要です。
●「AIR2.0まで」から「AIR2.5以降」へ移行用
●今までのように「AIR2.5以降」から「AIR2.5以降」への更新用

後者は前述の通りです。
前者は以下のように、混ぜる感じに書きます。

<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5">
   <version>2.0</version>
   <url>http://xxx.jp/yyy/zzz.air</url>
   <description><![CDATA[New version includes:
2.0
   * tst:テスト2
1.0
   * tst:テスト]]></description>
</update>


これだけで更新できます。


注意として、
AIR 1.5.3 以降では、アプリケーション記述ファイルには エレメントが含まれています。AIR 1.5.2 以前を使用して開発されたバージョンのアプリケーションがある場合は、このエレメントを使用する必要があります。詳しくは、publisherIDを参照してください。
とのこと。
publisherIDに詳細が説明されています。

要はAIR 1.5.2 以前を使用してビルドされたソフトの更新の場合のみアプリケーション記述ファイルに「<publisherID>~調べた値~</publisherID>」を追加。


現行配布ソフトのビルドFlex SDKが古く「AIR 2.5」に対応していない場合、最新Flex SDKで現状AIRバージョン(1.5.2とか)によるビルドを行なったバージョンを、最初に一つ挟む必要があります。

その為、冒頭の「片輪車と雪女」では以下のように中間バージョンを挟んでいます。

ソフトVer |AIRバージョン       |ビルドしたFlex SDK  |※swf-version
-------------------------------------------
Ver 1.22 |現行最新(AIR 1.5.2)   |AIR2.5未満のFlex SDK |10
Ver 1.23 |中間バージョン(AIR 1.5.2)|flex_sdk_4.5.0.20967 |10
Ver 1.25 |目標(AIR 2.6)      |flex_sdk_4.5.0.20967 |11(指定を省略推奨)

※swf-version
flex_sdk_4.5.0.20967でswfをビルドする際の「-swf-version」コンパイルスイッチ。
-swf-version 10
という感じで指定。




「片輪車と雪女」中間バージョンのソース_upd1to2.zipミラー)を公開します。
プロジェクト名、ファイル名、署名ファイルなどはご自分のプロジェクトに合わせて変更してください。
スポンサーサイト
プロフィール

ふぁみべぇ

Author:ふぁみべぇ
 →メアド(四角を@に)

カテゴリ
リンク
検索フォーム
最新記事
月別アーカイブ