Development, Mobile, Updates

Comment fonctionne la mise à jour en direct dans Capgo

Capgo 라이브 업데이트의 기술적 구현에 대해 자세히 살펴보고, iOS와 Android 양쪽 플랫폼에서의 내부 동작 메커니즘을 이해합니다.

Comment fonctionne la mise à jour en direct dans Capgo

Capgoのライブアップデートについて

ライブアップデートは、Capacitorアプリの最も強力な機能の1つで、アプリストアの提出なしでリアルタイムアップデートを可能にします。Capgoがこの機能をどのように実装しているか詳しく見ていきましょう。

主要なコンセプト

Capacitorアプリは2つの主要なレイヤーで構成されています:

  1. Webレイヤー: WebViewで読み込まれるHTML、CSS、JavaScriptファイルを含む
  2. ネイティブレイヤー: プラットフォーム固有のコード(AndroidのJava/Kotlin、iOSのSwift)を含む

Capgoのライブアップデートシステムは、アプリバイナリにコンパイルされていないウェブレイヤーを実行時に置き換えることで動作します。

技術的な実装

Capacitorのサーバーパス

Capgoは2つの重要なパスを管理します:

  • 現在のサーバーパス: 現在WebViewで読み込まれているファイルを指す
  • 次のサーバーパス: 次回のアプリ再起動時に読み込まれるファイルを指す

Android実装

Androidでは、Capgoは以下を通じてパスを管理します:

[[CODE_BLOCK]]

iOS実装

iOSでは、パスは以下を通じて管理されます:

[[CODE_BLOCK]]

セキュリティ対策

Capgoは、エンドツーエンド暗号化を通じて軍事グレードのセキュリティを実装し、開発からデプロイメントまでアプリのアップデートを完全に安全に保ちます。当社の暗号化システムは、従来のコード署名を超えて真のゼロ知識セキュリティを提供します。

エンドツーエンド暗号化アーキテクチャ

  1. エンドツーエンド暗号化(E2EE): すべてのアップデートバンドルは、開発環境を離れる前にAES-256-GCM暗号化を使用して暗号化されます。この軍事グレードの暗号化により、アプリのアップデートは配信プロセス全体を通じて完全にプライベートかつ安全に保たれます。

  2. ゼロ知識アーキテクチャ: 他のOTAアップデートソリューションがアップデートの署名のみを行うのとは異なり、Capgoは真のゼロ知識暗号化を採用しています:

    • アップデートの内容はアップロード前に暗号化される
    • Capgoサーバーは暗号化されたデータのみを保存
    • 復号化はエンドユーザーのデバイスでのみ行われる
    • 中間者がアップデート内容にアクセスできない
  3. セキュアなキー管理:

    • 暗号化キーはCI/CD環境で安全に生成・保存される
    • 秘密鍵はCapgoのサーバーに触れることはない
    • 各アプリバージョンで固有の暗号化キーを使用可能
    • セキュリティ強化のためのキーローテーションをサポート

暗号化システムの詳細については、こちらのガイドをご覧ください:Capgoライブアップデートのエンドツーエンド暗号化

アップデートセキュリティプロセス

  1. アップロード前の暗号化:

    • アップデートはCI/CDパイプラインで暗号化される
    • 各ファイルは個別に暗号化される
    • メタデータも完全なプライバシーのために暗号化される
  2. セキュアなストレージ:

    • 暗号化されたバンドルはCapgoのグローバルCDNに保存される
    • プレーンテキストデータは一切サーバーに触れない
    • サーバー侵害の場合でもデータは安全に保たれる
  3. セキュアな配信:

    • アップデートは暗号化されたチャネルを通じて配信される
    • 各アプリインスタンスが暗号化の整合性を検証する
    • 復号化失敗時の自動リトライメカニズム
  4. クライアントサイドセキュリティ:

    • インストール前にアップデートが検証される
    • 復号化失敗時は自動ロールバック
    • アプリの保護されたストレージでのセキュアなキー保管

この包括的なセキュリティアプローチにより、以下に対するアプリのアップデートの保護を確保します:

  • 中間者攻撃
  • サーバーサイドの侵害
  • 不正な変更
  • リプレイ攻撃
  • コンテンツの改ざん

アップデートライフサイクル

Capgoのアップデートプロセスはデフォルトで自動化されるように設計されています。自動プロセスは以下のように機能します:

1. 自動アップデートチェック

プラグインは以下の状況で自動的にアップデートをチェックします:

  • アプリ起動時

この動作はautoUpdate設定によって制御されます:

[[CODE_BLOCK]] getLatest()を使用して手動でもチェックできます。

2. 自動ダウンロード

新しいバージョンが検出され、autoUpdateが有効な場合:

  1. ダウンロードが自動的に開始される
  2. 進行状況が内部的に追跡される
  3. ダウンロード失敗時は各アプリ起動時に自動リトライ

CapacitorJSアプリのための即時更新

CapacitorJSアプリに即座に更新、修正、機能をプッシュし、アプリストアの遅延を回避します。Capgoでシームレスな統合、エンドツーエンドの暗号化、リアルタイムの更新を体験してください。

今すぐ始めよう

最新のニュース

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