注: Marketplace の承認後にアプリの名称を変更した場合、再度承認を申請する必要があります。
ホスト型アプリの更新
アプリは一般的な Web キャッシュのルールに従います。起動時間を短縮するため、HTML5 AppCache などの高度な機能を任意で使用することも可能です。その場合、アプリが使用する通常のリソースを更新するにあたって特別に考えることはありません。
しかし、Open Web Apps ではマニフェストの扱いが異なります。マニフェストの一部内容の変更はユーザによる承認を必要とします。Web ランタイムの実装によっては、更新が行われたどうかをはっきり分かる形で確認できない可能性もあります。
この問題に巧みに対処する方法は、アプリマニフェスト内で version
項目を使うことです。そうすれば、後で navigator.mozApps.getInstalled()
関数の戻り値を検査することでバージョンを確認できます。ユーザのブラウザにインストールされているバージョンが最新でない場合は、navigator.mozApps.install()
を使って更新を実行できます。
Web ランタイムは version
の値を使いませんので、任意の形式のバージョン番号を付与することが可能です。
なお、エラーやその他の問題を引き起こす可能性のあるマニフェストへの変更は、Firefox Marketplace へマニフェストを登録した場合、自動的に判別されます。 致命的なエラーが見つかった場合、アプリの掲載が中止される可能性もあります。さほど重要でないエラーについては、アプリの再審査を求められるでしょう。
パッケージ型アプリの更新
パッケージ型アプリ はホスト型アプリと更新プロセスが異なります。パッケージ型アプリを更新するには、アプリの新バージョンの ZIP ファイルを Firefox Marketplace へアップロードします。その後、その更新されたアプリは審査を受け、Marketplace へ公開されます。これが Firefox OS 搭載スマートフォン上での更新の引き金となります。ユーザ自身が Settings アプリを使って更新を確認することも可能です。
パッケージ型アプリの更新プロセスに関する詳細を知りたければ、以下の項目を参照してください。
パッケージ型アプリの更新に関する詳細
パッケージ型アプリの更新プロセスについてより詳しく説明します。特にあなたが独自のアプリマーケットプレイスを実装している場合、これらのことについて知りたいと思うでしょう。
- 更新されたパッケージ型アプリが公開されると、ミニ・マニフェスト が更新された ZIP ファイルを指すように更新されます (ミニ・マニフェストはメインのアプリマニフェストとは別物です)。
ETag
ヘッダが変更され、これが Firefox OS 搭載スマートフォン上での更新の引き金となります。 - Firefox OS はスマートフォン上で 1 日 1 回アプリの変更有無を確認します。その際、まずミニ・マニフェストの URL に問い合わせを行い、次にミニ・マニフェスト内の
package_path
項目に書かれた URL に問い合わせを行います。これはApp
オブジェクト のcheckForUpdate()
メソッドを使って行われます。Firefox OS はETag
ヘッダの変更によってアプリが更新されたことを認識します。それから ZIP ファイルが変更されているかどうかを確認します。 - Firefox OS はアプリの更新をまとめて確認します。