メインコンテンツへスキップ

OTAアップデートに Capgo ドキュメントを使う方法

Capacitor アプリに安全な Over-the-Air アップデートを実装する方法を、Capgo の包括的なドキュメントとステップバイステップのガイドで学びましょう。

OTA アップデートに Capgo ドキュメントを活用する方法 Capgo ブログ イラスト

より高速な より速く、 ストアの審査待ちなしで実現しませんか? Capgo ユーザーに安全な Over-the-Air (OTA) アップデートを即座に配信できます。アプリストアの審査をスキップして、アプリを簡単に最新の状態に保ちましょう。

要点:

  • Capgo とは? アプリの Live Update 向けオープンソース Capacitor プラットフォーム。
  • なぜOTAアップデートなのか? 時間を節約し、UX を向上させ、バグをすばやく修正。
  • 始め方
    • インストール Capgo プラグイン: npm install @capgo/capacitor-updater
    • API キーを使用してアプリを設定します。
    • 「production」や「beta」などのチャンネルを使って、対象を絞ったロールアウトができます。
  • 高度な機能: エンドツーエンド暗号化、エラーハンドリング、CI/CD連携。

Capgoのドキュメント(capgo.app/docs)では、セットアップ、セキュリティ、トラブルシューティングの手順を順を追って説明しています。インストールから高度な設定まで、シームレスなアップデートのための頼れるガイドです。

Capgo、Live update 用の CapacitorJs プラグイン

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

Capgoドキュメントの使い方

OTAアップデートの作業では、ドキュメントを効果的に活用することが不可欠です。Capgo のドキュメントでは、Capacitor アプリにライブアップデートを統合するための詳細なガイドを提供しています。

ドキュメントの場所

Capgo のドキュメントは以下からアクセスできます capgo.app/docs [1]。目的別にセクションが整理されています:

セクション 目的 主要トピック
スタートガイド 初期セットアップ インストール手順、 API キーの設定
設定 基本設定 プラグイン設定、環境構築
API リファレンス 技術的詳細 メソッド、パラメータ、戻り値
セキュリティ セキュリティ対策 暗号化設定、署名検証
トラブルシューティング トラブルシューティング よくある問題、診断ツール

重要な用語と概念

よく目にする主要な用語は以下の通りです:

  • チャンネル: これらはバージョン配信を制御するためのアップデートストリームです。例えば、異なるユーザーグループ向けに「production」「beta」「staging」チャンネルを設定できます。 [4].
  • アップデートポリシー: アップデートの配信と適用方法を定義します。自動ダウンロード、インストールタイミング、ユーザーへのプロンプトなどのオプションがあります。 [1].
  • App State リスナー: アプリがフォアグラウンドかバックグラウンドかを追跡するコンポーネントです。 [4].
  • Bundle: アセット、code の変更、設定の更新など、アプリの新バージョンを含むパッケージ化されたアップデートファイルです。 [4].

Code のサンプルとチュートリアル

ドキュメントには、統合を簡単にするための code のサンプルが用意されています。以下は TypeScript/JavaScript を使用した基本的な例です。

import { CapacitorUpdater } from '@capgo/capacitor-updater'

// Initialize the updater
await CapacitorUpdater.notifyAppReady()

より高度なユースケースについては、ドキュメントに実例も掲載されています [2][3]、例えば:

  • A/B テスト用のチャンネル切り替え
  • ユーザープロンプト付きのカスタムアップデートフロー
  • エラーハンドリングとロールバックの実装
  • CI/CDパイプラインへのアップデート統合

各チュートリアルでは、パフォーマンス面の考慮点やセキュリティ面も取り上げており、適切な判断に役立ちます。ドキュメントは最新の機能とベストプラクティスを反映するため、頻繁に更新されています。 [1].

実装の詳細については、次のセットアップガイドを確認してください。

OTAアップデートのセットアップ

Capgo でOTAアップデートをセットアップして、デプロイプロセスを効率化しましょう。スムーズに設定するには、以下の手順とヒントに従ってください。

基本的なセットアップ手順

まず、Capacitor プロジェクトに Capgo プラグインをインストールしてください:

npm install @capgo/capacitor-updater
npx cap sync

次に、 capacitor.config.json ファイルを Capgo API キー:

{
  "plugins": {
    "CapacitorUpdater": {
      "autoUpdate": true,
      "apiKey": "YOUR_API_KEY_HERE"
    }
  }
}

次に、アプリのメインファイルで updater を初期化し、アップデートを検知できるようにします:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.notifyAppReady();

これが完了したら、異なるアップデートストリームを管理するための channel を設定できます。

Update Channel の設定

デプロイ要件に合わせて、 アップデートチャネル を整理しましょう:

チャンネルタイプ 目的 ユースケース
プロダクション 安定版リリース 一般ユーザー向け
ステージング リリース前テスト QAチームとベータテスター
ベータ 機能テスト アーリーアダプター

特定のチャンネルにアップデートをアップロードするには、次を使用します: Capgo CLI:

npx @capgo/cli upload -c production

アップデート方法

Capgo では、アップデートを処理する主な方法が2つあります:

自動アップデート 自動アップデートを有効にするには、次を設定します: autoUpdate: true 設定に追加してください。これにより、開発者の追加作業なしでバックグラウンドにアップデートが適用されます。

手動アップデート より細かく制御するには、アップデートを手動で管理できます。以下のパターンを使用して、アップデートの確認と適用を行ってください。

// Check for updates
const update = await CapacitorUpdater.download();

// Install when ready
if (update) {
  await CapacitorUpdater.set(update);
}

重要なアップデートの場合、続行する前にユーザーにプロンプトを表示できます。

if (update.version > currentVersion) {
  const userConsent = await showUpdatePrompt();
  if (userConsent) {
    await CapacitorUpdater.set(update);
  }
}

カスタムIDとチャネルを使用して、特定のユーザーグループをターゲットにすることもできます。

await CapacitorUpdater.setCustomId('beta-tester-123');
await CapacitorUpdater.setChannel('beta');

最後に、エラーハンドリングとロールバックオプションを含めることを忘れないでください。

try {
  await CapacitorUpdater.set(update);
} catch (error) {
  await CapacitorUpdater.reset(); // Revert to the last working version
  console.error('Update failed:', error);
}

これらの手順で、OTAアップデートシステムは準備完了です。高度な設定を探索して、アップデートプロセスをさらにカスタマイズしてください。

sbb-itb-f9944d2

詳細設定

あなたの Capgo OTA更新 セットアップを、追加のセキュリティ対策と柔軟な更新設定で強化します。これらのオプションにより、アプリストアのガイドラインを遵守しながら、安全でスムーズな更新体験を実現します。

セキュリティ機能

Capgo は、強力なセキュリティプロトコルにより、更新バンドルを保護し、ユーザーに安全に配信します。プラットフォームは、すべての更新に対して公開鍵暗号方式によるエンドツーエンドの暗号化を使用します [1]。以下は、主要なセキュリティ機能を有効にする方法です:

// Enable bundle verification
await CapacitorUpdater.setVerifyBundles(true);

// Configure encryption settings
await CapacitorUpdater.configure({
  encryption: {
    enabled: true,
    failOnError: true
  }
});

バンドル保護システムの主要なコンポーネントには、以下が含まれます:

セキュリティ機能 説明 実装方法
Bundleの整合性 暗号署名でパッケージの真正性を検証します setVerifyBundles() で自動的に有効化
ロールバック保護 更新が失敗した場合、安定版にロールバック アップデートプロセスに組み込み済み
アクセス制御 ロールベースの権限でアップデートを管理 ダッシュボードから設定可能

アップデート動作設定

イベントリスナーと設定オプションを使用して、アップデートの配信およびインストール方法をカスタマイズできます。以下の設定で、アップデートのタイミングやユーザーインタラクションを調整してください:

// Listen for when an update is available
CapacitorUpdater.addListener('updateAvailable', async (info) => {
  if (info.version > currentVersion) {
    // Custom update logic based on app state
    const isAppInactive = await checkAppState();
    if (isAppInactive) {
      await CapacitorUpdater.download();
    }
  }
});

// Monitor download completion
CapacitorUpdater.addListener('downloadComplete', (info) => {
  console.log(`Update ${info.version} ready to install`);
  // Implement custom installation timing if desired
});

段階的ロールアウトでは、ダッシュボードまたは code から直接アップデートの配信を設定できます:

// Set custom update conditions for a gradual rollout
await CapacitorUpdater.configure({
  rollout: {
    percentage: 25, // Start with 25% of users
    timeInterval: 24 // Increase rollout percentage every 24 hours
  }
});

特定のバージョンに関連する動作を制御する場合:

// Handle version-specific update failures
CapacitorUpdater.addListener('updateFailed', async (info) => {
  if (info.error.code === 'VERSION_MISMATCH') {
    await CapacitorUpdater.reset(); // Revert to the last stable version
    // Optionally, handle error notification here
  }
});

これらの設定は、アプリのニーズに合わせてプロセスを調整しながら、アップデートの信頼性を確保します。本番環境にロールアウトする前に、必ず Capgo のステージング環境で十分にテストを行ってください。 [2].

トラブルシューティングガイド

Capgo のエラーログと組み込みツールを活用することで、ストアの要件を遵守しながら OTA アップデートの課題を解決できます。

よくある問題と解決策

以下に、典型的な問題とその対処法を示します。

  • ダウンロード失敗 症状:ダウンロードがフリーズするか、完了しません。 ソリューション:ネットワーク接続を確認し、更新URLが有効であることを確認した上で、中断を処理するためのリトライ機構を追加してください。

  • バージョン競合 症状:更新がインストールされないか、アプリの不安定さを引き起こします。 ソリューション:明確なバージョン番号を使用し、競合を避ける。安全性のためにロールバックオプションを実装する。

  • インストールエラー 症状:更新が失敗するか、自動ロールバックがトリガーされる。 ソリューション:ロールバックを防ぐため、更新が成功した後に notifyAppReady() を呼び出すことを確認してください。

50MBを超える更新では、ファイルを分割することでAndroidデバイスでのパフォーマンスが向上する場合があります。 [5].

詳細なエラーログを使用して問題を早期に検出してください。例えば、次のリスナーを実装します:

CapacitorUpdater.addListener('updateFailed', (error) => {
  console.log(`Update failed: ${error.code}`);
  logUpdateError({
    errorCode: error.code,
    deviceInfo: error.device,
    timestamp: new Date().toISOString()
  });
});

エラーログと事前チェックを組み合わせることで、コンプライアンスに注力する前にこれらの問題を効果的に処理できます。

App Store の規約

技術的な修正だけでは不十分です。アップデートはApp Storeのガイドラインにも準拠する必要があります。

Apple App Storeの要件:

  • ユーザーへの透明性:ユーザーにアップデートの内容を明確に伝え、同意を得てください。
  • コア機能:レビュー時のように、アプリの主要機能が維持されていることを確認してください。
  • セキュリティ対策:アップデートの送信には安全な方法を使用してください。

Androidでの実装:

await CapacitorUpdater.configure({
  updateNotification: {
    title: "Update Available",
    message: "A new version is available. Please update to access the latest features.",
    requireUserConsent: true
  }
});

ベストプラクティス:

  • バージョン管理:競合を減らすために、アップデートを段階的に展開してください。
  • アップデート通知:明確でユーザーフレンドリーな更新アラートを提供します。
  • セキュリティ: バンドルの整合性を検証し、暗号化でデータを保護します。

まとめ

このセクションでは、ガイドの要点をまとめています。

Capgo のドキュメントでは、アプリストアの規約に準拠しながら、Capacitor アプリに OTAアップデートを統合する方法を明確に説明しています。

Capgo のリソースを活用すれば、開発者は次のような必須機能を実装できます: エンドツーエンド暗号化 と CI/CD連携初期セットアップから高度な設定まで、すべてを網羅しています。 [1].

主な実装領域

項目 重点項目 どこで見つけるか
セキュリティ 暗号化と完全性チェック セキュリティ機能 セクション
コンプライアンス AppleとAndroidの要件を満たす App Store の規約 ガイド
アップデート管理 バージョン管理とロールバックオプション アップデート方法 ガイド
エラーハンドリング ログ記録とトラブルシューティング手順 トラブルシューティングガイド

これらの領域は、Capgo の更新管理システムの基盤を形成しています。

Capgo の CLI と分析ツールにより、 更新の管理 をアプリのライフサイクル全体で簡素化します [1].

さらにサポートが必要な場合は、以下の追加リソースをご覧ください API ドキュメント, サンプルプロジェクトや コミュニティフォーラム [2].

「OTAアップデートのためのCapgoドキュメントの使い方」の続きを読む

使用している場合 OTAアップデートに Capgo ドキュメントを使う方法 セキュリティとコンプライアンスを計画するには、これを以下と連携させてください 暗号化 暗号化の実装詳細について コンプライアンス コンプライアンスの実装詳細について Capgo セキュリティスキャナー Capgo Security Scanner のプロダクトワークフローについて Capgo のセキュリティ Capgo Security のプロダクトワークフロー向け、および Capgo トラストセンター Capgo Trust Center のプロダクトワークフロー向け。

Capacitor アプリ向けの Live Updates

Web レイヤーのバグが本番で発生したら、App Store の審査を何日も待たずに Capgo で修正を配信しましょう。ネイティブの変更は通常の審査フローに残したまま、ユーザーはバックグラウンドでアップデートを受け取れます。

最新のブログ記事

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