メインコンテンツにジャンプ

Capacitor OTAアップデート: iOSとAndroidの対象

iOSとAndroidのOTAアップデート戦略の違いを探り、展開、セキュリティ、ユーザー要件に焦点を当てます。

マーティン・ドナディュー

マーティン・ドナディュー

コンテンツマーケター

Capacitor OTA Updates: iOS と Android への対象

アプリを即時更新したい Capacitor アプリを即時更新できるようにしたい? アプリのウェブ層 (HTML、CSS、JavaScript) に変更をプッシュして、アプリストアへの再提出を回避したい。

オーバー・ザ・エア (OTA) の更新は、アプリストアへの再提出を回避して、アプリのウェブ層に変更をプッシュすることができる。

  • iOS と Android は、OTA の更新を扱う方法が異なり、理解することは重要である。重要なポイント:

  • iOS: 即時更新が可能だが、ファイルパス制限や電源/ネットワークの要件に従う必要がある。

  • Android: Both platforms enforce strong security measures - iOS relies on hardware-backed encryption, while Android uses Verified Boot and __CAPGO_KEEP_0__.

  • Capgo947.6 million updates globally with tools for efficient, secure, and compliant deployments. Quick Comparison:

Feature

iOS Android Update Deployment
Immediate full release iOSはハードウェアバックアップされた暗号化に依存し、AndroidはVerified BootとSELinuxを使用する。 ステージングロールアウト (1% → 100%)
バックグラウンドアップデート 制限 A/B更新をサポート
ストレージ フルダウンロードが必要 ストリーミング更新をサポート
セキュリティ ハードウェアバックアップ Verified Boot, SELinux
パワーリクエスト 50%のバッテリーまたは接続 Flexible
Network Wi-Fiが必要 さまざまな接続をサポート

Capgoは、両方のプラットフォームで更新が安全、効率的、法令に適合するように、プロセスを簡素化します。iOSまたはAndroidをターゲットにしている場合、iOSとAndroidの違いを理解することで、より良いOTA 更新戦略.

iOSとAndroidがOTA更新をどのように取り扱っているか

iOSとAndroidは、OTA(オーバー・ザ・エア)更新の管理に取り組む際、技術的な実行と承認プロセスにおいて異なるアプローチを取っています。

iOS App Storeの更新規則

Appleは、OTA更新に厳格なガイドラインを設けています。デバイスは、iOS 5以上を実行していること、Wi-Fi接続が安定していること、またはバッテリー残量が50%以上あるか、充電されている必要があります。 [5]Appleは、安全性、パフォーマンス、ビジネス上の適合性、デザイン、法的基準を評価する厳格なレビュープロセスを実施しています。 [4].

Google Play Storeの更新規則

Google Playでは、段階的なロールアウトシステムを使用します。アップデートは、24~48時間にわたって1%のユーザーに小規模なリリースを開始し、次に25%の増加で拡大し、1~2週間で完全な展開に達します。 [7]2023年8月以降、すべての新しいAndroidバージョンは、最高のAPIレベルを対象としている必要があります。 [3]Androidでは、ストリーミングアップデートを使用しており、これによりアップデートプロセス中に余分なストレージスペースが必要になる必要性が減ります。 プラットフォームアップデートの差異 [8].

iOSとAndroidのOTAアップデートの主な違いは以下のとおりです。

機能

iOS Android アップデートの展開
即時フルリリース 段階的なロールアウト(1% → 25% → 50% → 100%) __CAPGO_KEEP_0__
バックグラウンド更新 制限 バックグラウンドでA/B更新をサポート [8]
ストレージ管理 フルダウンロードが必要 ストリーミング更新をサポート [8]
パワーリーク 最低50%のバッテリーまたは充電 [5] 柔軟なパワーリーク
ネットワークリーク Wi-Fi接続が必要 [5] さまざまな接続タイプをサポート

AndroidのA/Bアップデートシステムは、ユーザーに影響を与えずにバックグラウンドでアップデートをインストールできる点で特に優れています。このシステムは、古い方法と比較してストレージを最適化するために、起動クリティカルパーティション用に2つのスロットを使用します。 [6]. 一方、iOSはより制御された即時アップデートプロセスを採用しています。安定性とユーザーの監視を優先しています。

ユーザーグループとアップデート配布

アップデート配布戦略では、さまざまなデバイスとオペレーティングシステムの独自の制約を考慮する必要があります。

デバイスベースのアップデートルール

アップデートの要件は、ハードウェアとプラットフォームに依存しています。たとえば、iOSデバイスでは、ユーザーがアップデートを開始するには少なくとも20%のバッテリー残量が必要であり、自動アップデートでは30%が必要です。 . マックでは、チップセットに基づいて要件が異なります。Appleシリコンデバイスでは20%のバッテリー残量が必要ですが、Intelベースのデバイスでは50%が必要です。. Androidでは、より柔軟なシステムが採用されていますが、エコシステムの分散化により課題が生じています。メーカーとキャリアは遅延を導入し、セキュリティアップデートは平均24日かかり、デバイス固有の完了にはさらに11日かかります。 [10]OSバージョン要件 [11].

オペレーティングシステムの要件は、アップデートが配布される方法に大きな役割を果たします。Androidアプリの場合、Google Playは以下を強制します。

タイムフレーム

__CAPGO_KEEP_0__ 要件
2024年8月31日以降 新規アプリはAndroid 14 (API 34+)をターゲットにします
現在 既存のアプリはAndroid 13 (API 33+)をターゲットにします
レガシーアプリ Android 12以下をターゲットにしているアプリは既存のOSバージョンに準拠する必要があります

iOSの場合、AppleはRapid Security Response (RSR)を使用して、最新のOSバージョンに直接重要なパッチを配信しています [10]CapgoはiOS 13.0+およびAndroid APIレベル22+を実行しているデバイスと互換性があります [9].

アップデート戦略結果

Androidの Project Treble 7日間の時間を削減したセキュリティアップデート [11].開発と運用を分離して、更新を効果的に管理することをお勧めします。 アップデートチャンネル [9].Capgoは、パーセンテージベースのデプロイメントを使用して、制御されたロールアウトを実行し、アプリストアのガイドラインに従うことができます。

アップデータは、プラットフォーム固有のディレクトリにダウンロードしたバンドルをキャッシュすることで、効率的かつ安全な更新を実現します:

  • Android: /data/user/0/com.example.app/code_cache/capgo_updater

  • iOS: Library/Application Support/capgo

このキャッシュシステムは、信頼性の高い更新を実現します [9].

アップデートのスピードと効率

iOSとAndroid両方でユーザー体験を形作る上で、OTA(オーバー・ザ・エア)アップデートのスピードと効率は大きな役割を果たします。2つの要因が大きな影響を与えます:ネットワーク条件とファイルサイズの管理

ファイルサイズとネットワーク管理

ファイルサイズを最適化することは、Smooth OTAアップデートのために重要です。たとえば、Capgoのアップデータは、起動時にアプリケーションをバックグラウンドで更新チェックし、ユーザーインターフェイスをレスポンスを保つことができます [9]. iOSとJava/KotlinやObjective-C/Swiftと同様に、codeをロックして安定性を維持することもサポートされています。 [9].

アップデートスピード比較

ファイルサイズが小さい場合でも、更新速度は依然として大きな要素です。iOSはハードウェアとソフトウェアが密接に統合されているため、更新を高速に処理できます。 [14]一方、Androidの幅広いハードウェアは、まれに更新のパフォーマンスが不均等になることがあります。 [13][14].

“Instantly deploying live updates to users is one of the most critical benefits of Appflow, Ionic’s mobile CI/CD platform.”
– Cecelia Martinez, Developer Advocate [12]

To improve update efficiency, strategies like differential updates and leveraging native functionality are key. Capacitor, for example, shifts certain operations to the native layer. When paired with differential updates, this approach cuts down both update times and data usage [12]. Considering Android’s dominant market share - over 70% globally as of March 2023 [13] アップデートの効率を向上させるには、差分更新やネイティブ機能を活用するなどの戦略が重要です。__CAPGO_KEEP_0__は、例えば、特定のオペレーションをネイティブ層にシフトします。このアプローチを差分更新と組み合わせると、更新時間とデータ使用量を削減できます。

Androidの世界的なシェアは2023年3月時点で70%を超えています。

sbb-itb-f9944d2

セキュリティ規則と要件

iOS セキュリティ基準

Appleのアップデートプロセスは厳格なセキュリティを考慮したもので、制御がきつい iOSデバイスはハードウェアバックアップの暗号化を使用ハードウェアバックアップの暗号化では、各デバイスごとに2つの組み込みAES 256ビットキー [17]各デバイスには、組み込みAES 256ビットキーと統合されたハードウェアベースのUID [17]アップデートは、個別のデバイスにカスタマイズされたもので、ダウングレード攻撃に対する対策を含む [10]アップデートの際にユーザーデータを分離することで、セキュリティリスクを防ぐ AppleのRapid Security Responses [10].

セキュリティパッチを迅速に展開できる

Android セキュリティ基準 Androidは、ユーザー分離とシステムレベルの保護に焦点を当てたLinuxベースのセキュリティを構築している 強制アクセス制御を実施します。Verified Boot機能は__CAPGO_KEEP_0__の完全性を確保します。 Verified Boot 機能はcodeの完全性を確保します。 [18]OTA更新では、Androidは仮想A/Bパーティションシステムを使用し、Android 11以降のデバイスでは圧縮を使用し、ハードウェアバックのKeystoreを使用して暗号化タスクを実行し、OEMおよびキャリアを通じて更新を配信します。 機能 iOS [15].

Android 更新配布 Appleを中心に統一されています。
OEMおよびキャリアを通じて配布されています。 Verified Boot iOS
セキュリティ検証 ハードウェアバックアップの暗号化 SELinux + Verified Boot
パッチ配信 迅速なセキュリティ対応 Project Mainline モジュール
更新認証 デバイス固有のUID Verified Boot

セキュリティ要件の比較

iOS と Android のフレームワークの違いは、それぞれのプラットフォームのアーキテクチャがセキュリティアプローチを形作ることを強調しています。iOS は「壁のある庭園」というモデルで動作し、厳密な制御と標準化されたセキュリティ機能を提供しています。対照的に、Android のオープンなエコシステムは、更新メカニズムの柔軟性を提供しますが、時々は分散化の問題に直面します。 [15]これらのセキュリティ構造は、OTA 更新の信頼性に直接影響します。

開発者がツールのようなCapgoと一緒に作業している場合、理解することは重要です。iOSは厳格なアプリ隔離とシステムAPIへのアクセスを強制します [17]一方、Androidのより広いプロセス間通信オプションは、注意深いセキュリティ管理を必要とします [18]2025年2月以降、iOS 18.3.1とさまざまなAndroidバージョンが使用されている場合、開発者は各プラットフォームの最新のセキュリティ標準に沿ったOTA更新戦略を確保する必要があります。 [16]__CAPGO_KEEP_0__

Capgo __CAPGO_KEEP_0__ Live Update ダッシュボード インターフェイス

Capgoは、プラットフォーム固有のOTA更新ルールを一つの簡素化された更新プラットフォームに統合します。

iOSとAndroidのセキュリティプロトコルと協力して、Capgoは、OTA更新管理をスムーズに実現します。現在まで、Capgoは

By working with iOS and Android security protocols, Capgo ensures seamless OTA update management. To date, it has delivered 1,400の製品アプリを通じて __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ [1].

Capgo キー機能

Capgo は、セキュアで効率的な、そして法的要件に準拠した配信を実現するために、更新の課題を解決することに重点を置いています。 更新はエンドツーエンド暗号化で保護されており、ユーザデバイス上での暗号化解除のみが許可されています。iOSの場合、Appleのインタプリタのみでの更新規則に沿ったカスタムDartインタプリタを使用しています。 [1]Androidの場合、__CAPGO_KEEP_0__レベル22以上をサポートしており、これは__CAPGO_KEEP_1__の要件に沿ったものです。 [9]. On Android, it supports API level 22 and above, in line with Capacitor’s requirements [9].

実装 プラットフォームサポート 更新配信
即時デプロイ iOS 13.0+、Android __CAPGO_KEEP_0__ 22+ API focuses on solving update challenges with secure, efficient, and compliant delivery. Updates are protected with end-to-end encryption, and decryption happens only on user devices. For iOS, it uses a custom Dart interpreter to align with Apple’s interpreter-only update rule. On Android, it supports API level 22 and above, in line with __CAPGO_KEEP_1__’s requirements.
セキュリティ 端末間の暗号化 両方のプラットフォーム
CI/CD統合 Azure DevOps、GitHub、GitLabと互換性があります クロスプラットフォーム
ストレージ管理 コンパイル済みのcodeのみ プラットフォーム固有のキャッシュ
バージョン管理 ロールバック機能 両方のプラットフォーム

クロスプラットフォームのアップデート管理

Capgoのチャンネルシステムは、iOSとAndroidのアップデートを開発者が厳密に制御できるようにします。このシステムにより、

  • iOSとAndroid用の別々のアップデートチャンネル

  • アップロード 区別されたバンドル オプションでクロスチャンネルリンク

  • ネイティブcodeの変更を自動検出 [9]

プラットフォームの現実的な影響は明らかです。たとえば、NASAの OSIRIS-REx チームが共有した

“@Capgoは、@AppFlowのような金銭的には全ての金額を払ってもできないようなホットcodeプッシュのスマートな方法です :-)” [1]

Capgoは、iOSとAndroidの両方のネイティブcodeを含む、任意のJavaScriptcode、アプリ、生成されたcodeを調整できますが、ネイティブcode (Java/KotlinのAndroidやiOSのObjective-C/Swift) を厳格に変更しない [9].

Conclusion

__CAPGO_KEEP_0__ アプリのための Capacitor アプリ プラットフォーム固有のルールにより、iOSとAndroidのためのOTA更新には異なるアプローチが必要です。iOSでは、ファイルパス制限などの厳格な制御が存在し、サーバーパスは「/Library/NoCloud/ionic_built_snapshots」に制限されます。 [2]一方、Androidではより多くの自由が許可され、仮想マシンやインタプリタがAPIにアクセスする制限が少なくなっています。 [2]これらの差異は、各プラットフォームのフレームワークに合わせた更新戦略を作成することの重要性を強調しています。

プラットフォームのようなCapgoから得られたデータは、これらの戦略の効果を示しています。開発者は、1,400の生産アプリにわたって、947.6百万の更新を成功させました。これは、設計が良好な更新システムのスケーラビリティを証明しています。 [1]ただし、成功は各プラットフォームの要件を満たしながら、強力なセキュリティ対策を維持することに大きく依存しています。

たとえば、Appleは、解釈されたcodeがアプリの基本機能を変更したり、セキュリティを損なったりしないことを要求しています。 [2]このルールは、プラットフォーム固有のガイドラインに従って、有効なOTA更新を実装する開発者のために明確な覚え書きです。

Capacitor OTA Updates: iOSとAndroidをターゲットにする

__CAPGO_KEEP_0__を使用している場合 Capacitor iOSとAndroidへのOTA更新 __CAPGO_KEEP_0__ セキュリティと法的要件の計画のために接続する 暗号化 __CAPGO_KEEP_0__ 暗号化の実装詳細 法的適合性 __CAPGO_KEEP_0__ 法的適合性の実装詳細 Capgo セキュリティスキャナー Capgo セキュリティスキャナーの製品ワークフロー Capgo セキュリティ Capgo セキュリティの製品ワークフロー Capgo トラストセンター Capgo トラストセンターの製品ワークフロー

Capacitor アプリのリアルタイム更新

ウェブ層のバグが生じた場合、Capgo を使用して修正を配信し、数日間待つ必要のないアプリストアの承認の待ち時間を避けることができます。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビューのパスを通ることになります。

スタートする

ブログの最新記事

Capgo は、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。