すべてのプロダクト
Search
ドキュメントセンター

Mobile Platform as a Service:オフラインパッケージの概要

最終更新日:Mar 01, 2026

従来の HTML5 技術はネットワーク状態に影響されやすく、HTML5 ページのパフォーマンスが低下する可能性があります。オフラインパッケージは、HTML5 の利点を維持しながら、この問題に対処します。

オフラインパッケージは、HTML、JavaScript、CSS ファイルなどの静的リソースをバンドルした圧縮ファイルです。オフラインパッケージを事前にローカルデバイスにダウンロードできます。クライアントがパッケージを開くと、ローカルデバイスから直接リソースを読み込むため、ネットワーク状態が HTML5 ページに与える影響を最小限に抑えることができます。

HTML5 オフラインパッケージを使用すると、以下の利点があります。

  • ユーザーエクスペリエンスの向上:静的リソースをアプリケーションに埋め込んでリリースします。ユーザーが初めてアプリケーションを開くとき、ネットワーク経由でこれらのリソースをダウンロードする必要がなく、すぐにアプリケーションの使用を開始できます。

  • 動的更新の有効化:新しいバージョンや緊急修正をリリースする際に、変更されたリソースをオフラインパッケージに配置します。構成を更新することで、アプリケーションは自動的に更新をダウンロードします。これにより、アプリストアのレビュープロセスを経る必要がないため、ユーザーはより早く更新を受け取ることができます。

オフラインパッケージの仕組み

このセクションでは、以下のトピックを含め、オフラインパッケージの仕組みについて説明します。

オフラインパッケージの構造

オフラインパッケージは、.amr フォーマットの圧縮ファイルです。.amr 拡張子を .zip に変更してファイルを解凍すると、HTML リソースと JavaScript コードが含まれていることがわかります。HTML5 コンテナーがこれらのリソースを読み込んだ後、WebView でレンダリングできます。

例えば、次の図は iOS システム上の一般的なリソースプランのフォルダ構造を示しています。

  • 第 1 レベルのフォルダ:20150901 のような、一般的なリソースプランの ID を表します。

  • 第 2 レベルのフォルダとそのサブディレクトリには、カスタムリソースファイルが含まれています。すべてのフロントエンドファイルを 1 つのフォルダに保存します。フォルダには、/www のようなカスタム名を付けることができます。また、オフラインパッケージがデフォルトで開くメインエントリファイル (例:/www/index.html) を設定します。

    xxx

オフラインパッケージの種類

HTML5 開発では、Zepto や FastClick などの基本的な共通ライブラリを頻繁に使用します。アプリの WebView では、キャッシュの信頼性が低い場合があります。一部のデバイスモデルでは、アプリを閉じるとキャッシュが自動的にクリアされます。HTML5 ページのパフォーマンスをさらに向上させるには、グローバルオフラインパッケージを使用します。グローバルオフラインパッケージは、一連の共通リソースを特別なアプリパッケージにバンドルし、クライアントに送信します。

オフラインパッケージは、次の種類に分類されます。

  • グローバルオフラインパッケージ:複数のアプリケーションで共有できるパブリックリソースが含まれています。

  • プライベートオフラインパッケージ:単一のアプリケーションでのみ使用できます。

グローバルオフラインパッケージを使用する場合、システムは HTML5 ページにアクセスするたびに、このパッケージからの読み取りを試みます。パッケージにリクエストされたリソースが含まれている場合、システムはネットワークからではなく、パッケージから直接リソースを取得します。したがって、グローバルオフラインパッケージメカニズムの主な目的は、共通ライブラリの使用を管理することです。

幅広いクライアントカバー率と汎用性を確保するために、このパッケージは通常、少なくとも月に 1 回更新されます。オフラインパッケージのサイズも厳密にコントロールされます。

レンダリングプロセス

HTML5 コンテナーがリソースをリクエストするとき、ローカルリソースとオンラインリソースの両方に同じ URL を使用してアクセスします。

HTML5 コンテナーはまずリクエストをインターセプトします。リクエストがインターセプトされた後、次のいずれかが発生します。

  • ローカルリソースがリクエストを満たすことができる場合、HTML5 コンテナーはローカルリソースを使用します。

  • ローカルリソースがリクエストを満たすことができない場合、HTML5 コンテナーはオンラインリソースを使用します。

したがって、WebView はリソースがローカルかオンラインかを認識しません。

オフラインパッケージのダウンロードは、その構成に依存します。

  • [ダウンロードタイミング][Wi-Fi のみ] に設定されている場合、オフラインパッケージは Wi-Fi ネットワーク上でのみバックグラウンドで自動的にダウンロードされます。

  • [ダウンロードタイミング][すべてのネットワークでダウンロード] に設定されている場合、オフラインパッケージは Wi-Fi 以外のネットワークでも自動的にダウンロードされ、ユーザーデータを消費します。このオプションは注意して使用してください。

  • オフラインパッケージのダウンロードが完了する前にユーザーがアプリを開いた場合、アプリはフォールバックアドレスにリダイレクトしてオンラインページを表示します。フォールバック機能は、オフラインパッケージのダウンロードが完了していないケースを処理します。オフラインパッケージが公開されると、対応するオンラインバージョンも CDN に公開されます。オンラインバージョンのフォルダ構造は、オフラインパッケージと同じです。フォールバックアドレスは、オフラインパッケージ情報とともにローカルデバイスに送信されます。オフラインパッケージのダウンロードが完了していない場合、クライアントはページリクエストをインターセプトし、対応する CDN アドレスにリダイレクトします。これにより、アプリはいつでもオンラインページとオフラインページを切り替えることができます。

离线包简介

オフラインパッケージの実行モード

オフラインパッケージを開くには、次の手順を実行します。

  1. パッケージ情報をリクエストします。クライアントはサーバーにオフラインパッケージ情報をリクエストし、ローカルデータベースに保存します。オフラインパッケージ情報には、パッケージのダウンロードアドレスとバージョン番号が含まれます。

  2. オフラインパッケージをダウンロードします。クライアントはサーバーからモバイルフォンにオフラインパッケージをダウンロードします。

  3. オフラインパッケージをインストールします。クライアントは、ダウンロードフォルダから携帯電話のインストールフォルダにパッケージをコピーします。

仮想ドメイン名

仮想ドメイン名は、オフラインアプリケーションでのみ機能する独自のコンテナーメカニズムです。ページがクライアントに保存された後、WebView は file スキームを使用してローカルデバイスからアクセスします。しかし、その場合、ユーザーはアドレスバーにファイルパスを見ることができます。これにより、次の問題が発生します。

  • ユーザーエクスペリエンス。ユーザーがファイルアドレスを見ると、公開されているアドレスが安全でない、または見慣れないと感じる可能性があります。

  • セキュリティ。file プロトコルにはローカルパスが直接含まれます。これは、どのユーザーでもファイルパスを見ることができることを意味し、セキュリティリスクを生み出します。

説明

これらの理由から、ファイルパスを直接使用してアクセスする代わりに、仮想ドメイン名メカニズムを使用してください。仮想ドメイン名は、URL スキーム仕様に準拠した HTTPS ドメインアドレスです (例:https://xxxxxxx.HTML5app.example.com)。仮想ドメイン名の親ドメイン (例:example.com) は、お客様が登録したドメイン名である必要があります。

仮想ドメイン名の標準フォーマットは次のとおりです。

https://{appid}.HTML5app.example.com.

関連リンク

オフラインパッケージの生成