APIの説明・サンプル(assetモジュールアップデート機能)

Caed3.0.0より、assetモジュールアップデートの機能が追加されました。

assetモジュールアップデート機能の利用方法

assetモジュールアップデート機能はアプリケーションのインストール・アンインストールを行わずにアプリケーションを
アップデートする機能です。

開発者(あるいはエンドユーザー)が指定したURLに新しいassetモジュールを配置しておくと、アプリケーションが
バックグラウンドで自動的にアップデートを行い、アプリの次回起動時に新しいassetモジュールがロードされます。

利用手順

アプリケーションの初版を作成する時の作業

ソースコードに asset モジュールを更新するためのアップデートサーバーの格納URLを登録する処理を追加してください。

register-update-module-directoryプロシージャを呼び出して、アップデートするassetモジュールを配置する
サーバーのディレクトリのURLを登録します。

例) || Register {self.register-bt.add-event-handler     {on Action do         {register-update-module-directory             {url "http://www.xxxxx.com/Update/Caede/AppDemo"}         }     } } 

新しいバージョンを作成する時の作業

Eclipse上でassetモジュールを作成した後、アップデートサーバーにCDLファイル、assetモジュール、
アップデートモジュール情報ファイルを配置します。

1. Eclipse上でソースコードを修正した後、[Caedeアプリケーションに変換]で新しいモジュールを作成します。

2. 以下のディレクトリをzipファイルにしてください。

– Androidアプリを作成する場合

Android/assets/android-native-web

– iOSアプリを作成する場合

iOS/assets/ios-native-web

3. アップデートサーバー用CDL(caede-licese-1.dat)ファイルを用意します。
アップデートサーバー用CDLファイルの発行については弊社にお問い合わせください。

4. 以下のファイルをアプリケーションからアクセスできるサーバーに配置します。

– アップデートサーバー用CDL(caede-licese-1.dat)ファイル
CDLファイルはサーバーのルートディレクトリに配置してください。

– 2.で作成したzipファイル(android-native-web.zipまたはios-native-web.zip)
「アプリケーションの初版を作成する時の作業」の例の場合は以下の場所に配置します。

android-native-web.zip) http://www.xxxxx.com/Update/Caede/AppDemo/android-native-web.zip  ios-native-web.zip) http://www.xxxxx.com/Update/Caede/AppDemo/ios-native-web.zip 

– アップデートモジュール情報ファイル(update.xml)
update.xmlにはアップデートモジュールのバージョン情報を記載します。
zipファイルと同じディレクトリに配置してください。
update.xmlのフォーマットは以下の通りです。

< ?xml version="1.0" encoding="utf-8"? >   <caedeUpdate>   <rev>1</rev> </caedeUpdate> 

revは正の数値であれば何でも構いません(“20140929″のような日付でも可)。
新しいバージョンをリリースした場合は必ずインクリメントしなければなりません。

この後、端末上でアプリを起動するとバックグラウンドで自動的にアップデートが行われ、
アプリの次回起動時にサーバーに配置したassetモジュールがロードされます。

注意事項

assetモジュールのアップデートはアプリケーションの起動時にバックグラウンドで
行われるため、すぐには反映されません。
update.xmlのrevの値は必ず正の数値を指定してください。不正な値が入っていた
場合アップデートは行われません。
Caede SDKのバージョンアップを行った場合は、アプリケーション自体を再インストール
する必要があります。
これはSDKのバージョンアップによりassetモジュールのAPIとアプリケーション本体
のAPIの互換性がなくなるためです。SDKバージョンの異なるassetモジュールが配置
されていた場合アップデートは失敗します。
なおアップデートが失敗するのはマイナーバージョン以上のバージョンアップの時
(3.0.0から3.1.0など)です。
マイナーバージョン未満の場合(3.0.0から3.0.1など)はAPIの互換性があるため失敗
しません。