メインコンテンツにジャンプします。

Testing Capacitor OTA Updates with Mock Scenarios

Learn how to effectively test OTA updates in Capacitor apps to ensure reliability and enhance user satisfaction.

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

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

コンテンツマーケター

Testing Capacitor OTA Updates with Mock Scenarios

CapacitorのOTAアップデートは、 Capacitor アプリを迅速に修正して機能を追加することができるため、開発者にとって便利なツールです。ただし、更新を適切にテストすることは、クラッシュ、データの喪失、機能の不具合を防ぐために不可欠です。

ここで重要な点を知っておく必要があります。

  • なぜ重要か: 不可靠な更新はユーザーの信頼とアプリのパフォーマンスに悪影響を及ぼす可能性があります。
  • 安全にテストする方法: 実際の状況を模倣するためのモックテストを使用して、ネットワークの遅延やファイルの破損などの状況をシミュレートします。
  • 必要なツール: Node.js, Capacitor CLI, and Capgo CLI for managing updates.
  • Capacitor: 正常のアップデート、インストールの失敗、ネットワークの問題。
  • 監視するメトリクス: ダウンロード率、インストールの成功率、バージョンの正確さ。

ツールを使ってCapgoをテストすることで、更新がSmooth、Secure、Reliableになることを確認することができます。Mockテストでは、 82%の成功率、アプリが安定しながら、更新を迅速に提供できることを示しました。

テスト環境の準備

このセクションでは、環境をセットアップするために必要な主なツールとステップについて説明します。

必要なソフトウェア

テスト Capacitor OTA アップデート, 以下のツールが必要です:

ソフトウェア 目的 バージョン要件
Node.js 実行環境 最新のLTSバージョン
Capacitor CLI アプリ開発 Capacitor 8
Capgo CLI オーバー・ザエア(OTA)管理 最新バージョン

Install the Capgo CLI by running:

npx @capgo/cli init

インストール後、プロジェクトを設定して、実際の環境と同様のシミュレーションを実行します。

テストプロジェクトの設定

プロダクション環境を再現するテストプロジェクトを作成します。 Capgo のチャンネルシステムを使用して、テストシナリオを分離します。

「私たちはアジャイル開発を実践しています。@Capgoは、ユーザーに継続的に提供するmission-criticalなものです!」 - Rodrigo Mantica [1]

Capgoは、テストアップデートを安全に保証するために、端末間の暗号化を提供します。環境は、クラウドベースのものか、自社で管理するものかの選択が可能です。

OTA機能の追加

オーバー・ザー・エア(OTA)アップデートを実装するには、以下の3つのステップを実行してください。

CapgoのCI/CDツールは、自動テストをスムーズに実行します。プラットフォームとして GitHubアクション, GitLab CI, および Jenkins がサポートされています。これにより、デプロイメント前にさまざまな環境でアップデートをテストできます。チャネルシステムは、さまざまなテストシナリオを管理するために特に役立ちます。

“Capgoは、@AppFlowのような金銭的制約なしにホットcodeプッシュを実行するための賢い方法です :-)” - NASAのOSIRIS-REx [1]

テストの制御をより高めるには、Capgoの分析機能を実行中の情報に基づいて統合してください。

テストシナリオの作成

テストシナリオを設定して、OTAアップデートの信頼性を確保します。実際のアプローチについては、以下に示します。

通常のアップデートのテスト

標準のアップデートプロセスを確認して基準を確立する

capgo build && capgo deploy --channel beta

これらの重要な指標に焦点を当てて

  • ダウンロード完了率
  • インストール成功率
  • アップデートのタイミング
  • バージョン確認

更新が壊れた場合のテスト

シナリオをシミュレートして、エラー処理と復旧の評価を行う

テストケース セットアップ ページ/エリア: Capgo Builder / ネイティブクラウドビルド製品ページ。役割: セクションサブタイトルまたはタグライン。メッセージキー `native_build_builder_setup_eyebrow` (Native Build Builder Setup Eyebrow)。|ページ/エリア: Capgo Builder / ネイティブクラウドビルド製品ページ。役割: 短いUIラベルまたはナビゲーションアイテム。ページnative-build.astroに表示される。メッセージキー `native_build_v2_strip_setup_k` (Native Build V2 Strip Setup K)。
期待される結果は何か? バンドルチェックサムを変更する アップデートを拒否する
不完全なファイル アップデートの途中で中断する 前のバージョンを保持する
バージョンが一致しない 互換性のないバージョンを展開する インストールをブロックする

これらのテスト用に別のチャネルを使用して干渉を避ける。次に、悪いネットワーク状況をシミュレートして、どのようにアプリがそれらを処理するかを確認する。

ネットワーク問題のテスト

挑戦的なネットワーク状況下でアップデートがどのように機能するかをテストする:

  • バンド幅を3Gの速度に制限する (約 750 Kbps)
  • 航空モードをオンにします 更新中
  • 完全な切断をシミュレート オフラインの動作と再接続機能を確認するために

Capgoのシステムは、遅いまたは不安定なネットワークの影響を最小限に抑えるために、更新の変更された部分のみをダウンロードします。組み込まれたリトライ機構は、自動的に切断された接続を処理します。

これらのシナリオを以下の設定で構成できます

capgo deploy --channel test --network-condition slow

Capgoのリアルタイム分析を使用して進行状況を追跡することができます。すべてのテストは、トラブルシューティング中でもセキュリティが維持されるように、エンドツーエンドの暗号化を維持しています。

更新テストの管理

テストケースの実行

テストケースを分離して整理するために、別々のテストチャンネルを設定します。

# Create test channels
capgo channel create beta-test
capgo channel create staging-test

構造化されたアプローチで各テストケースを追跡することができます

テストフェーズ モニターする指標 成功基準
ダウンロード 転送速度、完了率 100%のダウンロード成功
インストール メモリ使用量、インストール時間 インストール時間 30秒未満
アクティベーション アプリ再起動時間、バージョンチェック 正しいバージョンがアクティブ化されている

Capgoのツールは、以下のメトリクスを一貫して効果的に監視することができます。

アップデートの監視

Capgoの分析ダッシュボードでは、更新パフォーマンスに関する洞察を提供します:

  • ダウンロードのさまざまなネットワーク条件下における完了率
  • デバイスタイプごとに分類されたインストール成功率
  • ユーザーが新しいバージョンに切り替える速度を示すタイムライン
  • アップデートプロセス中のエラーの頻度

「@CapgoにデプロイされたOTAはほぼすべてのユーザーが数分以内に最新バージョンにアップデートされることがわかりました。」- colenso [1]

リアルタイムエラー追跡のために、以下のコマンドを使用してください:

capgo monitor --channel beta-test --verbose

結果の確認

期待どおりに機能していることを確認するには、以下を確認してください:

  • バージョンの正確性 CapacitorのOTAアップデートをモックシナリオでテストする
capgo version --check --channel beta-test
  • データの整合性、ローカルストレージとキャッシュされたコンテンツ
  • パフォーマンスメトリック、アプリ起動時間、メモリ使用量、ネットワークアクティビティ、バッテリー消費量

問題が発生した場合、Capgoのロールバック機能により、前の安定版バージョンに戻すことが簡単になります。この機能により、問題を解決することができますが、テストプロセスを中断したり、テスト環境の安定性を損なうことはありません。

一般的な問題の修正

更新の復旧

オーバー・ザ・エア(OTA)アップデートが失敗した場合、計画を立てることが重要です。ユーザーに失敗を通知し、自動的にデバイスを最後の安定版バージョンに戻すためのフォールバックメソッドを使用します。確認するために、テストプロセスにこれらの復旧手順を含めるようにしてください。

// Example of a fallback implementation:
const handleUpdateFailure = async () => {
   await notifyUsers("Update failed – reverting to a stable version");
   await revertToLastStableVersion();
   logFailureMetrics();
}

復旧に加えて、更新が順調に進むように、インストール問題を解決することに焦点を当ててください。

インストール問題

インストール問題は、デバイスのストレージが限られている場合やネットワーク接続が不安定な場合に発生することがよくあります。この問題を解決するには、進歩的なアップデートを使用して、必要な変更のみをダウンロードするようにしてください。このアプローチにより、ストレージとネットワーク関連の問題のリスクが軽減されます。前期のテストフェーズで特定されたネットワーク条件とストレージ制限の下で、更新をテストすることを確認してください。

データの競合は、更新の信頼性を維持するもう一つの重要な側面です。

データの競合

データの競合が発生するのは、既存のスキーマに変更を加える更新が含まれる場合です。 これらの問題を回避するには、厳格なバージョン管理を実装し、スキーマの移行計画とテストを実施し、エラー追跡機能と共にロールバックオプションを含めます。 ステージドロールアウトまたはベータチャンネルを使用して、これらのシナリオを制御された環境でテストし、更新がすべてのユーザーに到達する前に問題を捕捉して修正することができます。

概要

影響の評価

グローバルでOTA更新テストは82%の成功率を達成し、両方のアプリの信頼性とユーザーの満足度を向上させました。 [1].

モックテストは、特にネットワークの切断、データの移行、ストレージの制限などの挑戦的なシナリオで役立ちます。 これらの条件を再現することで、開発チームは、さまざまな環境で更新が信頼性を持って動作することを保証できます。この方法的なアプローチは、ユーザーの採用を促す一貫した更新を提供するのに役立ちます。 Capgo

Capgo

__CAPGO_KEEP_0__ Live Update Dashboard インターフェイス テストの利点は、プラットフォームであるCapgoでさらに高められます。。 Capgo は、OTA更新テストを簡素化する高度な検証ツールと、安全で効率的な更新を提供するために証明されたテスト結果を統合することでOTA更新テストを簡素化します。 Capgo のチャンネルシステムは、ベータテストとステージドロールアウトをサポートし、更新を完全に検証する前にフルデプロイメントに適した更新を提供します。 Capgo の詳細な分析、エラー追跡、グローバルCDNパフォーマンスなどの機能により、5MBのバンドルに対して114msのダウンロード速度を実現します。 [1].

Capgo も、エンドツーエンド暗号化と即時ロールバックオプションを提供し、アプリの安定性を保証します。これらの機能は、750のプロダクションアプリをサポートし、23.5万の更新を実行しました。 [1].

Testing Capacitor OTA Updates with Mock Scenarios から続きます。

__CAPGO_KEEP_0__ を使用している場合 Testing Capacitor OTA Updates with Mock Scenarios __CAPGO_KEEP_0__ を使用してネイティブプラグインの作業を計画する場合、__CAPGO_KEEP_0__ プラグインディレクトリと接続します。 Capgo プラグインディレクトリ Capgo プラグイン Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, __CAPGO_KEEP_1__ プラグインの追加または更新 イオニック エンタープライズ プラグイン代替 イオニック エンタープライズ プラグイン代替の製品ワークフローについて Capgo ネイティブ ビルド Capgo ネイティブ ビルドの製品ワークフローについて

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

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

ウェブ層のバグが生じた場合、__CAPGO_KEEP_0__を通じて修正を配信し、数日間待つ必要のないアプリストアの承認を待つのではなく、ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路を通じて行われる。

コンテキスト: Capgoのマーケティングウェブサイト。役割: サポートする説明文またはメタ説明文。見つかった場所: コンポーネント GetStarted.astro。Capgoの製品/ブランド名と開発者用語をそのまま保存する。

マーティンから人間のサポート

Capgo gives you the best insights you need to create a truly professional mobile app.