Cordova クライアント・アプリケーションのダイレクト・アップデート
ダイレクト・アップデートでは、更新された Web リソースを、デプロイされたクライアント・アプリケーションに直接送信します。
ターゲット・プラットフォームの条件次第で、組織は、新しいアプリケーション・バージョンをアプリケーション・ストアやマーケットにアップロードする必要がありません。 ダイレクト・アップデート機能を使用すると、ベンダー (Apple/Google) のアプリケーション・ストアのレビュー・プロセスを介さずに、アプリケーション Web リソース (HTML、JavaScript、および CSS) を迅速に更新できます。
ダイレクト・アップデートは、Web リソースが MobileFirst Server にデプロイされる際に自動的にアクティブ化されます。アクティブ化されると、保護リソースへのすべての要求に適用されます。ダイレクト・アップデート機能を使用し、かつ Web リソース・チェックサム機能が使用可能になっていると、新規のチェックサム・ ベースが各ダイレクト・アップデートで確立されます。
ダイレクト・アップデートはネイティブ・コードの更新を目的とするものではありません。
サポートされているプラットフォーム
ダイレクト・アップデートは iOS および Android の Cordova アプリケーションに対してのみ使用可能です。
前提条件
MobileFirst Server は、フィックスパックを使用してアップグレードされた場合、引き続きダイレクト・アップデートを適切に配布します。ただし、最近ビルドされたダイレクト・アップデート・アーカイブ (.zip ファイル) がアップロードされた場合、古いクライアントへのアップデートを一時停止することがあります。その理由は、アーカイブに cordova-plugin-mfp プラグインのバージョンが含まれるためです。このアーカイブをモバイル・クライアントに提供する前に、 サーバーはクライアントのバージョンをプラグインのバージョンと比較します。2 つのバージョンが十分に近い (3 つの最上位桁が同じである) 場合、ダイレクト・アップデートが正常に行われます。それ以外の場合、MobileFirst Server は何もメッセージを出さずに更新をスキップします。バージョンの不一致の 1 つの解決策は、元の Cordova プロジェクトにあるものと同じバージョンの cordova-plugin-mfp をダウンロードし、ダイレクト・アップデート・アーカイブを再生成することです。
増分ダイレクト・アップデートおよび完全ダイレクト・アップデート
- アプリケーションの Web リソースのビルドが、現在デプロイされているアプリケーションのビルドの 1 つだけ前である場合、増分 アップデートを受け取ります。 最終デプロイメント以降に変更された Web リソースのみがダウンロードされて更新されます。
- アプリケーションの Web リソースのビルドが、現在デプロイされているアプリケーションのビルドの 2 つ以上前である場合、完全 なアップデートを受け取ります。
セキュアなダイレクト・アップデートと非セキュアなダイレクト・アップデート
セキュアなダイレクト・アップデートが機能するためには、ユーザー定義の鍵ストア・ファイルを MobileFirst Server にデプロイし、マッチングする公開鍵のコピーをクライアント・アプリケーションに組み込みます。 クライアントが公開鍵を使用して構成されていない場合、 MobileFirst Server はダイレクト・アップデートの署名にデフォルトのサーバー鍵ストアを使用しますが、署名のマッチングは実施しません。
セキュアなダイレクト・アップデートが有効になっている場合にアーカイブの署名の暗号漏えいが発生した場合、 クライアントはアップデートを一時停止します。このような障害は、サーバー・ログにレポートされます。
セキュアなダイレクト・アップデートの実装について詳しくは、 クライアント・サイドでのセキュア・ダイレクト・アップデートの実装を参照してください。
開発、テスト、実動でのダイレクト・アップデート
開発とテストの目的で、開発者は通常、単にアーカイブを開発サーバーにアップロードすることにより、ダイレクト・アップデートを使用します。 このプロセスは簡単に実装できる一方で、あまり安全ではありません。 このフェーズでは、組み込み MobileFirst 自己署名証明書から抽出された内部 RSA 鍵ペアが使用されます。
ただし、実際の実動または実動前テストのフェーズの場合、アプリケーションをアプリケーション・ストアに公開する前に、セキュア・ダイレクト・アップデートを実装することを強くお勧めします。セキュア・ダイレクト・アップデートでは、実際の CA 署名サーバー証明書から抽出される RSA 鍵ペアが必要です。
セキュア・ダイレクト・アップデートを実装するためには、ユーザー定義の鍵ストアを MobileFirst Server にデプロイし、マッチングする公開鍵をクライアント・アプリケーションにコピーします。セキュアなダイレクト・アップデートの実装について詳しくは、 クライアント・サイドでのセキュア・ダイレクト・アップデートの実装を参照してください。
詳しくは、ダイレクト・アップデートのライフサイクルを参照してください。
ダイレクト・アップデートのデータ転送速度
最適な状態で、1 つの MobileFirst Server は 1 秒あたり 250 MB の速度でデータをクライアントにプッシュできます。さらに高速なデータ・プッシュが必要な場合は、クラスターまたは CDN サービスを考慮してください。
詳しくは、CDN からのダイレクト・アップデート要求の処置を参照してください。