アップデートしたい Capacitor アプリが即時で、アプリストアの遅延なしで? オーバー・ザ・エア(OTA)アップデートは、HTML、CSS、JavaScriptなどのWeb層の変更を、アプリストアに再提出せずに、アプリにプッシュすることができます。ただし、iOSとAndroidは、これらのアップデートを扱う方法が異なり、理解することは重要です。
Key Takeaways:
-
iOS: アップデートは即時ですが、ファイルパス制限やパワー/ネットワーク要件などの厳格なルールに従います。
-
Android: ステージドロールアウト(1% → 100%)を使用し、パワー/ネットワーク要件が柔軟で、バックグラウンドアップデートをサポートします。
-
セキュリティコンテキスト:企業製品/価格ページ。役割:UIラベル。見られる場所:企業.astroページ。メッセージキー `enterprise_hero_security_label` (Enterprise Hero Security Label)。 : 両方のプラットフォームは、強力なセキュリティ対策を実施しています - iOSはハードウェアバックアップされた暗号化を使用し、Androidは検証済みのブートとSELinuxを使用します。.
-
Capgoコンテキスト:CapgoマーケティングウェブサイトのHTMLテキストフラグメント(親キー `submitting_a_pr_to_capgo`)。ページ/エリア:Capgoマーケティングウェブサイト。役割:ウェブサイトコピーの文。見られる場所:contributing.astroページ。Capgo製品/ブランドと開発者用語を完全に保持します。メッセージキー `submitting_a_pr_to_capgo` (Submitting A Pr To Capgo)。 __CAPGO_KEEP_0__ million __CAPGO_KEEP_1__ __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ __CAPGO_KEEP_2__ __CAPGO_KEEP_3__ __CAPGO_KEEP_4__ __CAPGO_KEEP_5__ __CAPGO_KEEP_6__ __CAPGO_KEEP_7__ __CAPGO_KEEP_8__ __CAPGO_KEEP_9__
Quick __CAPGO_KEEP_10__:
| Feature | iOS | Android |
|---|---|---|
| Update __CAPGO_KEEP_11__ | Immediate full __CAPGO_KEEP_12__ | Staged __CAPGO_KEEP_13__ (1% → 100%) |
| Background __CAPGO_KEEP_14__ | Limited | Supports A/B __CAPGO_KEEP_15__ |
| ストレージ | 完全ダウンロードが必要 | ストリーミング更新をサポート |
| セキュリティ | ハードウェアベースの暗号化 | Verified Boot、SELinux |
| 電力要件 | 50%のバッテリー残量または充電 | 柔軟 |
| ネットワーク | Wi-Fiが必要 | さまざまな接続をサポート |
Capgoは、両方のプラットフォームで更新が安全で効率的で法的基準に適合していることを保証するプロセスを簡素化します。iOSまたはAndroidをターゲットにしている場合、理解することで、より良いOTA更新戦略を作成できます。 __CAPGO_KEEP_0__の戦略.
iOSとAndroidのOTA更新の取り組みの違い
iOS App Storeの更新規則
Appleは、OTA更新のための厳格なガイドラインを設けています。デバイスは、iOS 5以上を実行している必要があります。また、安定したWi-Fi接続と、50%以上のバッテリー残量または充電中の状態が必要です。
Appleは、安全性、パフォーマンス、ビジネス上の適合性、デザイン、法的基準を評価する厳格なレビュープロセスを実施しています。 [5]Google Play Storeの更新規則 [4].
Google Playは、段階的なロールアウトシステムを使用しています。更新は、24-48時間にわたって1%のユーザーにリリースされ、25%の増加で拡大し、1-2週間で完全な展開に至ります。
2023年8月以降、すべての新しいAndroidバージョンは、最高の__CAPGO_KEEP_0__レベルをターゲットにします。 [7]. Since August 2023, all new Android versions must target the highest available API level [3]更新プロセス __CAPGO_KEEP_0__の戦略 [8].
プラットフォームの更新の違い
iOSとAndroidのOTA更新の主な違いは以下のとおりです。
| 機能 | IOS | Android |
|---|---|---|
| 更新の展開 | 即時フルリリース | 段階的なロールアウト(1% → 25% → 50% → 100%) |
| バックグラウンドの更新 | 制限 | バックグラウンドでA/B更新をサポート [8] |
| ストレージ管理 | ダウンロードが必要 | ストリーミング更新をサポート [8] |
| 電力要件 | バッテリーが50%以上あるか、充電されている [5] | 電力要件の柔軟性 |
| ネットワーク要件 | Wi-Fi接続が必要 [5] | さまざまな接続タイプをサポート |
AndroidのA/B更新システムは、更新をバックグラウンドでインストールできるため、ユーザーに中断をしないという点で、ユーザーに影響を与えない。 このシステムは、起動が必要なパーティションに2つのスロットを使用し、古い方法よりも複製パーティションが必要なくて済み、ストレージの最適化が可能 [6]一方、iOSは、安定性とユーザーの監視を優先する、より制御されたと即時的な更新プロセスを採用
ユーザーグループと更新の配布
更新の配布については、さまざまなデバイスとオペレーティングシステムの独自の制約を考慮する必要がある
デバイスベースのアップデートルール
アップデートの要件は、ハードウェアとプラットフォームに大きく依存しています。例えば、iOSデバイスではユーザーがアップデートを開始するには少なくとも20%のバッテリー残量が必要であり、自動アップデートでは30%が必要です。 。。Macでは、チップセットに基づいて要件が異なります - Apple siliconデバイスでは20%のバッテリー残量が必要であり、Intelベースのものでは50%が必要です。 [10]。Androidでは、より柔軟なシステムが存在しますが、エコシステムの分散により課題が生じます。製造者やキャリアが遅延を導入し、セキュリティアップデートは平均24日かかり、デバイス固有の完了にはさらに11日かかります。 [11].
OSバージョン要件
オペレーティングシステムの要件は、更新の配布に大きな役割を果たしています。Androidアプリの場合、Google Playは以下の要件を強制しています:
| 時期 | 要件 |
|---|---|
| 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]. アプリの開発と運用を分離して管理することをお勧めします。 __CAPGO_KEEP_0__は、パーセンテージベースのデプロイメントを使用して、制御されたロールアウトを実行し、アプリストアのガイドラインに従うことができます アップデートチャネル [9]. Capgo simplifies the process with percentage-based deployments, allowing for controlled rollouts while staying within app store guidelines.
アップデーターは、効率的で安全な更新のために、プラットフォーム固有のディレクトリにダウンロードしたバンドルをキャッシュします:
-
Android:
/data/user/0/com.example.app/code_cache/capgo_updater -
iOS:
Library/Application Support/capgo
このキャッシュシステムは、信頼性の高い更新を保証します [9].
更新のスピードと効率
OTA (オーバー・ザ・エア)更新のスピードと効率は、iOSとAndroid両方でユーザー体験を形作る上で大きな役割を果たします。2つの要因がこの影響を大きく受けるのは、ネットワーク条件とファイルサイズの管理です。
ファイルサイズとネットワーク管理
ファイルサイズを最適化することは、スムーズなOTA更新を保証する上で重要です。例えば、Capgoのアップデーターは、起動時にアプリケーションを起動する際に、バックグラウンドスレッドで更新チェックを実行し、ユーザーインターフェイスがレスポンスを保つようにします。 [9]JavaScriptの更新もサポートし、ネイティブcode (Java/KotlinまたはObjective-C/Swift)をロックすることで安定性を維持します。 [9].
更新スピードの比較
ファイルサイズが小さくても、更新スピードは依然として大きな要因です。iOSは、ハードウェアとソフトウェアが密接に統合されているため、更新を高速に処理できます。 [14]一方、Androidの幅広いハードウェアは、まれに更新のパフォーマンスが不均等になることがあります [13][14].
“Capgoのアプリフローを使用すると、ユーザーにリアルタイムで更新を即時配信することができるのが、最も重要な利点の1つです。”
– Cecelia Martinez, Developer Advocate [12]
更新の効率を向上させるには、差分更新やネイティブ機能を活用するなどの戦略が重要です。Capacitorの例では、特定のオペレーションをネイティブ層にシフトすることで、差分更新と組み合わせると、更新時間とデータ使用量を削減できます。 [12]Androidの世界シェアは、2023年3月時点で70%以上で占めています。 [13] sbb-itb-f9944d2
セキュリティ規則と要件
iOSとAndroidのOTA更新では、データ保護とシステムセキュリティを確保するために、独自のプロトコルを使用しています。
iOSセキュリティ基準
Appleの更新プロセスは厳格なセキュリティを考慮したもので、制御がきついものです。iOSデバイスはハードウェアバックエンドの暗号化を使用し、
2つの組み込みAES 256-bit キーを使用し、それぞれのデバイスに一意のものです hardware-backed encryptionhardware-backed encryption [17]. すべてのデバイスには、統合された AES 256-bit キーを備えた独自のハードウェアベースの UID が含まれています。 [17]. 更新は、個々のデバイスにカスタマイズされたもので、ダウングレード攻撃に対する保護機能が付いており、整合性が検証されます。アップデート中のユーザーデータを隔離することで、Apple はセキュリティリスクを防ぎます。 [10]. Apple の特徴の 1 つは、 Rapid Security Responses, であることがわかります。これにより、セキュリティパッチの迅速な展開が可能になり、フルシステムアップデートの必要性がなくなる。 [10].
Android Security Standards
Android のセキュリティは、ユーザー分離とシステムレベルの保護に焦点を当てた Linux ベースの基盤に築かれています。各アプリには独自の UID が割り当てられ、 SELinux は強制アクセス制御を強制します。 Verified Boot 機能は code の完全性を保証します。 [18]. Android は、OTA 更新に バーチャルA/B分割システム (Android 11以降のデバイス向けの圧縮、ハードウェアバックのKeystoreによる暗号化タスク、OEMおよびキャリアを通じたアップデート) [15].
| 機能 | iOS | Android |
|---|---|---|
| アップデート配布 | Appleを中心に統一 | OEM/キャリアを通じて配布 |
| セキュリティ検証 | ハードウェアバック暗号化 | SELinux + Verified Boot |
| パッチ配布 | iOSとAndroidのOTAアップデートの対象 | Project Mainlineモジュール |
| アップデート認証 | デバイス固有のUID | バリデーションブート |
セキュリティ要件の比較
これらのフレームワークの違いは、各プラットフォームのアーキテクチャがセキュリティアプローチを形作ることを示しています。iOSは「壁のある庭園」モデルで、厳密な制御と標準化されたセキュリティ機能を提供しています。対照的に、Androidのオープンなエコシステムはアップデートメカニズムの柔軟性を提供しますが、時々は分散化の問題に直面します。 [15]これらのセキュリティ構造は、OTAアップデートの信頼性に直接影響します。
For developers working with tools like Capgo, understanding these distinctions is key. iOS enforces stricter app isolation and limits system API access [17]一方、Androidのより広範なプロセス間通信オプションは、セキュリティ管理の注意が必要です。 [18]2025年2月以降、iOS 18.3.1とさまざまなAndroidバージョンが使用されているため、開発者は各プラットフォームの最新のセキュリティ標準に合わせたOTAアップデート戦略を確保する必要があります。 [16]Capacitor
Capgo プラットフォーム概要

Capgo は、プラットフォーム固有のOTA更新ルールを1つのstreamlined更新プラットフォームに統合します。
Capgo はiOSおよびAndroidのセキュリティプロトコルと協力して、OTA更新管理をスムーズに実現します。現在まで、 947,600万回の更新 __CAPGO_KEEP_0__ 1,400の製品アプリ [1].
Capgo の主な機能
Capgo は、安全で効率的な、そして法的要件に準拠した更新配信を目指しています。更新は、 暗号化、ユーザー側のデバイスでのみ復号化が行われます [1]. iOSでは、Appleのインタプリタのみの更新規則に合わせて、独自のDartインタプリタを使用します。 [9]. Androidでは、APIのレベル22以上をサポートし、Capacitorの要件に沿っています。 [9].
| 機能 | 実装 | プラットフォームサポート |
|---|---|---|
| 更新配信 | 即時デプロイ | iOS 13.0+, Android API 22+ |
| セキュリティ | 両方のプラットフォーム | CI/CD統合 |
| CI/CD統合 | Azure DevOps、GitHub、GitLabと連携 | クロスプラットフォーム |
| ストレージ管理 | コンパイル済みcodeのみ | プラットフォーム固有のキャッシュ |
| バージョン管理 | ロールバック機能 | 両方のプラットフォーム |
クロスプラットフォーム更新管理
Capgoのチャンネルシステムは、iOSとAndroidの更新に対して開発者に厳密な制御を提供します。このシステムは、以下の機能を提供します。
プラットフォームの現実的な影響は明らかです。例えば、NASA の OSIRIS-REx チームは
“@Capgo is a smart way to make hot code pushes (and not for all the money in the world like with @AppFlow) :-)” [1]
Capgo can adjust any JavaScript code, including app and generated code, but it strictly avoids modifying native code (such as Java/Kotlin for Android or Objective-C/Swift for iOS) [9].
__CAPGO_KEEP_0__ は、JavaScript __CAPGO_KEEP_1__ を含む、任意のアプリケーションと生成された __CAPGO_KEEP_2__ を調整できますが、ネイティブ __CAPGO_KEEP_3__ (Android の Java/Kotlin または iOS の Objective-C/Swift) を厳格に変更しないようにします
結論 Capacitor apps __CAPGO_KEEP_0__ アプリケーションには、iOS と Android のプラットフォーム固有の規則により、異なるアプローチが必要です。iOS の場合、ファイルパス制限などの厳格な制御があります。サーバーパスは「/Library/NoCloud/ionic_built_snapshots」に制限されます [2]. Androidは、仮想マシンやインタプリタがAPIにアクセスする際に、より多くの自由を許可しています。 [2]. これらの差異は、各プラットフォームのフレームワークに合わせた更新戦略を作成することの重要性を強調しています。
. Capgoから得られたデータは、これらの戦略の効果を示しています。開発者は、1,400のプロダクションアプリにわたって、947.6百万の更新を成功させました。これは、設計が良好な更新システムのスケーラビリティを証明しています。 [1]. ただし、成功は、各プラットフォームの要件を満たしながら、強力なセキュリティ対策を維持することに大きく依存しています。
. 例えば、Appleは、解釈されたcodeがアプリの基本機能を変更したり、セキュリティを損なったりしないことを要求しています。 [2]. これは、OTA更新を効果的に実装するために開発者が遵守する必要があるプラットフォーム固有のガイドラインの明確な例です。
. Capacitor OTA Updates: iOS vs Androidを使用している場合
. __CAPGO_KEEP_0__ OTA Updates: iOS vs Android . Capacitor OTA Updates: iOS vs Androidを使用して、セキュリティと合規性を計画する場合、Encryption . __CAPGO_KEEP_0__ Encryption . __CAPGO_KEEP_0__ Encryption . __CAPGO_KEEP_0__ Encryption Compliance for the implementation detail in Compliance, Capgo Security Scanner for the product workflow in Capgo Security Scanner, Capgo Security for the product workflow in Capgo Security, and Capgo Trust Center for the product workflow in Capgo Trust Center.