ログ
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
ログとログ分析
「Logs and Log Insights」セクションアプリの ログ タブがデフォルトで開きます。 ログ分析 Insightsを使用すると、1、3、7、または30日間の期間におけるカテゴリ、バージョン、デバイスの優先順位付けが可能です。以下に説明するデバイスイベント、フィルタ、タイムスタンプの詳細が必要な場合は、 ログ サブタブに切り替えてください。
アプリケーションログを理解する
「アプリケーションログの理解」セクションRaw Logsサブタブでは、アップデートイベントの詳細な履歴と、アプリケーションの診断情報を確認できます。Insightの根拠となるデバイスレベルの証拠の確認、アップデートパスのトラブルシューティング、デバイスとCapgoのインタラクションの把握に役立ちます。アプリを開き、 ログを選択してから、 ログ サブタブを選択します。

Raw Logsインターフェースの構成要素:
- Logsサブタブ — 各ログ行のナビゲーションコントロール。
- リロードボタン — 最新のデータでログ一覧を更新します。
- 時間範囲とアクションフィルター — 時間とアクションでイベントストリームを絞り込みます。
各行の表示内容:
- タイムスタンプ (UTC)
- デバイスID
- アクション code (何が起きたか)
- バージョン名 (bundle または
builtin)
行をクリックすると、デバイス詳細ページに移動して全履歴を確認できます。
日付範囲でフィルタリング
「日付範囲でフィルタリング」セクション日付ピッカーを使用して、特定の期間でログをフィルタリングできます:

- クイックプリセット - よく使う期間を選択:直近1時間、3時間、6時間、または12時間
- 開始時刻 - 範囲の開始時刻をカスタム設定
- 終了時刻 - 範囲の終了時刻をカスタム設定
- カレンダー - カレンダーから特定の日付を選択
「Select」をクリックして選択した期間を適用するか、「Cancel」でピッカーを閉じます。
アクションタイプでフィルタリング
「Filtering by Action Type」セクションActions ドロップダウンを使用すると、特定のイベントタイプでログをフィルタリングできます:

利用可能なアクションフィルターは以下の通りです:
- デバイスのハートビート - デバイスからの定期的なヘルスチェック
- バージョンの削除リクエスト - バンドルバージョンが削除されたとき
- デフォルトバージョンにリセット - デバイスが組み込みバンドルに戻ったとき
- バージョンのインストールに成功しました - バンドルのインストール成功
- 新しいバージョンをデバイスに送信しました - Capgo がデバイスにアップデートを送信したとき
- バージョンのインストールに失敗しました - バンドルのインストールに失敗したとき
上部の検索ボックスを使って、特定のアクションタイプをすばやく見つけられます。複数のアクションを選択すると、選択したいずれかのタイプに一致するログを表示できます。
ログサンプル(ダミーデータ)
「ログサンプル(ダミーデータ)」というタイトルのセクション| 時刻 (UTC) | デバイスID | アクション | バージョン | 何がわかるか |
|---|---|---|---|---|
| 2025-01-14 10:00:01 | A1B2C3 | get | 2.4.1 | デバイスが Capgo にアップデートの有無を問い合わせました |
| 2025-01-14 10:00:03 | A1B2C3 | download_manifest_start | 2.4.1 | Deltaのダウンロードを開始しました。SDK が変更されたDeltaファイルをダウンロードします |
| 2025-01-14 10:00:07 | A1B2C3 | download_40 | 2.4.1 | Bundleのダウンロードが40%完了しました |
| 2025-01-14 10:00:12 | A1B2C3 | download_zip_complete | 2.4.1 | Zipのダウンロードが完了しました |
| 2025-01-14 10:00:13 | A1B2C3 | set | 2.4.1 | Bundleをインストールし、次回の実行対象としてマークしました |
| 2025-01-14 10:05:00 | B9C8D7 | disableAutoUpdateToMajor | 1.9.0 | Channelポリシーにより2.xへのジャンプがブロックされました |
| 2025-01-14 10:05:05 | B9C8D7 | rateLimited | 組み込み | デバイスがリクエスト上限に達しました。SDK は再起動までバックオフします |
ログの活用例
「ログシナリオの例」セクションログの内容を把握しやすくするために、実際のデバイスでのアップデートの流れを示す例をいくつか紹介します。
アップデート成功時のフロー
「アップデート成功時のフロー」セクション正常にアップデートが行われた場合のログは以下の通りです。
| 時刻 | デバイスID | アクション | バージョン | 意味 |
|---|---|---|---|---|
| 10:00:01 | a1b2c3d4 | get | 1.2.0 | デバイスのアップデートを確認し、バージョン1.2.0の情報を取得しました |
| 10:00:02 | a1b2c3d4 | download_10 | 1.2.0 | ダウンロードを開始しました(10%完了) |
| 10:00:03 | a1b2c3d4 | download_50 | 1.2.0 | ダウンロード中 50% |
| 10:00:05 | a1b2c3d4 | download_complete | 1.2.0 | ダウンロードが正常に完了しました |
| 10:00:06 | a1b2c3d4 | set | 1.2.0 | Bundleのインストールと有効化が完了しました |
デバイスは既に最新の状態です
「デバイスは既に最新の状態です」というセクションデバイスがチェックを行った際、既に最新バージョンが適用されている場合:
| 時刻 | デバイスID | アクション | バージョン | 意味 |
|---|---|---|---|---|
| 14:30:00 | e5f6g7h8 | noNew | 1.2.0 | デバイスは既に最新バージョンです。アップデートは不要です |
ロールバックを伴うアップデート失敗
「ロールバックを伴うアップデート失敗」というセクションアップデートに失敗し、デバイスがロールバックした場合:
| 時刻 | デバイスID | アクション | バージョン | 意味 |
|---|---|---|---|---|
| 11:15:00 | i9j0k1l2 | get | 1.3.0 | デバイスがアップデート情報を取得 |
| 11:15:02 | i9j0k1l2 | download_complete | 1.3.0 | ダウンロード完了 |
| 11:15:03 | i9j0k1l2 | set | 1.3.0 | Bundleが設定されました |
| 11:15:10 | i9j0k1l2 | update_fail | 1.3.0 | アプリがクラッシュした、または notifyAppReady() 呼び出しなし - ロールバックが実行されました |
| 11:15:11 | i9j0k1l2 | reset | 組み込み済み | デバイスが組み込みバージョンにロールバックされました |
必要なアクション: アプリが正しく呼び出しているか確認してください notifyAppReady() 初期化後に実行する必要があります。詳細は プラグインのドキュメントを をご覧ください。
ダウンロード失敗
「Download Failure」セクションネットワークの問題でダウンロードできない場合:
| 時刻 | デバイスID | アクション | バージョン | 意味 |
|---|---|---|---|---|
| 09:45:00 | m3n4o5p6 | get | 1.2.0 | デバイスがアップデート情報を取得 |
| 09:45:01 | m3n4o5p6 | download_30 | 1.2.0 | ダウンロードは開始されたが… |
| 09:45:15 | m3n4o5p6 | download_fail | 1.2.0 | ダウンロード失敗(ネットワークタイムアウト、接続断など) |
必要なアクション: 次回アプリ起動時にデバイスが自動でリトライします。頻発しない限り、対応は不要です。
プラン上限に達しました
「プランの制限に達しました」セクションアカウントのデバイス上限に達した場合:
| 時刻 | デバイスID | アクション | バージョン | 意味 |
|---|---|---|---|---|
| 16:00:00 | q7r8s9t0 | needPlanUpgrade | - | プランをアップグレードするか、請求サイクルがリセットされるまで、このデバイスにはアップデートが配信されません |
必要なアクション: プランをアップグレードする または、次の請求サイクルを待ってください。
アップデートをブロックするチャンネル設定
「Channel Configuration によるアップデートのブロック」セクションチャンネル設定によってアップデートがブロックされる場合:
| 時刻 | デバイスID | アクション | バージョン | 意味 |
|---|---|---|---|---|
| 12:00:00 | u1v2w3x4 | disableAutoUpdateToMajor | 2.0.0 | v1.x のデバイスが v2.x へ自動アップデートできない(メジャーバージョンの飛び越しがブロックされている) |
| 12:05:00 | y5z6a7b8 | disableEmulator | 1.2.0 | エミュレータが検出され、チャンネル設定でエミュレータがブロックされている |
| 12:10:00 | c9d0e1f2 | disableDevBuild | 1.2.0 | Dev build が検出され、チャンネル設定で Dev build がブロックされている |
必要なアクション: これらは意図的な保護機能です。これらのアップデートを許可したい場合は、 チャンネル設定.
ログコード (Capgo バックエンド enum)
「ログコード (Capgo バックエンド enum)」セクションこれらのコードは、 stats_action ダッシュボードで使用されている enum API (capgo/src/types/supabase.types.ts) から取得されます。UIに新しい code が表示されている場合、それは SDK またはバックエンドから発行され、このリストに照らして検証されたものです。
正常系 & ライフサイクル
| Code(s) | 意味 |
|---|---|
get | デバイスが自身のチャンネルに関連付けられた bundle を Capgo にリクエスト |
download_manifest_start, download_manifest_complete | Delta download の開始 / 完了 (delta ファイルで upload された bundle 用) |
download_zip_start, download_zip_complete | Zip アーカイブの download 開始 / 完了 |
download_10 … download_90 | ダウンロード進捗のマイルストーン |
download_0 | 最初の進捗イベントの0%マーカー |
download_complete | bundle全体のダウンロード完了 |
set | 次回起動用にbundleをステージング済み |
reset | デバイスが組み込みbundleにロールバック |
delete | ローカルストレージからbundleを削除 |
uninstall | アプリのアンインストールを検知 |
app_moved_to_foreground, app_moved_to_background | SDKが記録したアプリのライフサイクルイベント |
ping | デバイスからのヘルスチェック/ハートビート |
setChannel, getChannel | SDK呼び出しによるChannelの上書きまたは取得 |
ポリシーブロック/スロットルの新しいクイック修正
「ポリシーブロック/スロットルの新しいクイック修正」セクション| Code | 発生原因 | 次のステップ |
|---|---|---|
invalidIp | Capgo は、ボットと思われるトラフィック(Google/クラウドインフラのIP)を検出しました。 | 実ユーザーの場合は無視してください。実機や通常のネットワークから再試行するか、しばらくしてから確認してください。 |
needPlanUpgrade | 組織がプランまたはデバイスの上限に達しました。 | ダッシュボードでプランをアップグレードするか、次の請求サイクルまでお待ちください。 |
semver_error | 設定内のネイティブアプリのバージョンが不足しているか、有効な semver ではありません(x.y.z). | 設定 plugins.CapacitorUpdater.version 有効な semver に修正し、次に SemVerテスター で確認してからアプリを再ビルドしてください。 |
disablePlatformIos | チャンネルポリシーによりiOSが無効になっています。 | 誤って設定した場合は、そのチャンネルでiOSを有効にしてルーティングを再公開してください。意図的にこのトラックでiOSをブロックしている場合は、そのままにしてiOSのビルドを別のチャンネルに移動してください。 |
disablePlatformAndroid | チャンネルポリシーによりAndroidが無効になっています。 | 誤って設定した場合は、そのチャンネルでAndroidを有効にしてルーティングを再公開してください。意図的にこのトラックでAndroidをブロックしている場合は、そのままにしてAndroidのビルドを別のチャンネルに移動してください。 |
disableAutoUpdate | チャンネルの自動アップデートモードがこのアップデート形式をブロックしています。 | 意図したロールアウトを許可するには、チャンネルの自動アップデートポリシー(major/minor/patch/metadata/none)を変更してください。 |
disableAutoUpdateUnderNative | デバイスのベースラインより古いアップデートをブロックするようにチャンネルが設定されています。 | ネイティブのベースラインと同等以上のバージョンをプッシュするか、ネイティブ未満の保護設定を無効にしてください。 |
disableAutoUpdateMetadata | チャンネルには以下が必要です: min_update_version metadataが必要ですが、アプリのバージョンが古すぎます。 | 設定 min_update_version より新しいネイティブバージョンのターゲットbundleまたはリリース。 |
disableAutoUpdateToMajor | このチャンネルはメジャーバージョンのジャンプをブロックします。 | メジャーバージョンを同じチャンネル戦略内に保つか、このトラックでメジャージャンプを許可してください。 |
disableAutoUpdateToMinor | このチャンネルはマイナーバージョンのジャンプをブロックします。 | マイナーバージョンを同じチャンネル戦略内に保つか、このトラックでマイナージャンプを許可してください。 |
disableAutoUpdateToPatch | このチャンネルは、このフローのパッチレベルのジャンプをブロックします。 | リリース頻度を合わせるか、このトラックのチャンネルポリシーでパッチジャンプを許可してください。 |
disableEmulator | このチャンネルではエミュレータの更新は許可されていません。 | 誤操作の場合は、エミュレータを検証するテスト用チャンネルでエミュレータのアップデートを有効にしてください。意図的な場合は、このチャンネルはエミュレータをブロックしたままにし、エミュレータビルドには別のチャンネルを使用してください。 |
disableDevBuild | このチャンネルではDevビルドがブロックされています。 | 誤操作の場合は、Devアップデートを許可するか、このデバイスをDevが有効なチャンネルに移動してください。意図的な場合は、このチャンネルをリリースビルド専用にロックしたままにしてください。 |
disableProdBuild | プロダクションモードのデバイスビルドが呼び出されました /updatesが、あなたのチャンネルによってブロックされました。 | 誤操作による場合は、そのチャンネルの production 更新を許可して再公開してください。意図的な場合は、制限を維持したまま、適切なチャンネルまたはビルドに production ビルドを送信してください。 |
cannotGetBundle | 選択された bundle の有効なダウンロード URL を Capgo で生成できませんでした。 | bundle を再アップロードしてください( --delta delta ファイルが必要な場合)。また、R2 または public bundle の設定を確認してください。 |
cannotUpdateViaPrivateChannel | アプリが、セルフアサインメントが許可されていないプライベートチャンネルへ自身で切り替えようとしました。 | 有効にする allow_device_self_set チャンネル上で許可するか、公開または許可されたチャンネルに切り替えてください。 |
channelMisconfigured | チャンネルの auto-update ルールに必要なデータが不足しています(version_number なしで min_update_version). | 不足している設定を補完するか、よりシンプルな auto-update モードに切り替えてください。 |
missingBundle | bundle にダウンロード可能なペイロードがありません( external_url/r2_path また、delta ファイルも存在しません)。 | バージョンを再ビルド/再アップロードし、bundleに実際のファイル内容が含まれているか確認してください。 |
NoChannelOrOverride | このデバイスに一致するchannelがありません(cloud default、config fallback、overrideのいずれも設定されていません)。 | dashboardでchannelのdefaultを設定するか、テスト用の設定を維持してください。 defaultChannel そのbuild内で。 |
rateLimited | 短時間にupdate/channelの呼び出しが多すぎます(レンダーループ内での呼び出しが原因であることが多いです)。 setChannel/getChannel). | render内での呼び出しを停止してください。ユーザーのアクション時のみ呼び出すようにしてください。使用方法: defaultChannel における capacitor.config. |
keyMismatch | アプリとbundleの暗号化キーIDが一致しません(device_key_id に対し bundle_key_id). | コンソールでデバイスとbundleのキーIDを比較してください。異なる場合は、同じキーと一致するCLI/pluginバージョンを使用してpublishしてください。バージョンによってキーのエンコーディングが異なる場合があります。 |
disableDevice | このchannelが実機をブロックするように設定されているため、実際のスマートフォン/タブレットがブロックされました。 | 誤操作の場合は、そのchannelで実機へのupdateを有効にしてください。意図的な場合は、ブロックを維持したまま実機を別のchannelへルーティングしてください。 |
disablePlatformElectron | このチャネルでは Electron がブロックされています。 | 誤操作の場合は、このチャネルで Electron を有効にしてルーティングを再公開してください。意図的な場合は、ブロックを維持したまま Electron ユーザーを専用チャネルへ誘導してください。 |
customIdBlocked | カスタムデバイス ID が送信されましたが、このアプリはカスタム ID を受け付けていません。 | カスタム ID の送信をオフにするか、ワークフローで必要な場合のみカスタム ID を有効にしてください。 |
blocked_by_server_url | アプリで server.url 設定済みのため、Capacitor はローカルファイルの代わりにリモート URL を提供します。 | 削除/クリア server.url プロダクションビルドではこれらを削除し、アップデートのペイロードをローカルに保持してください。 |
backend_refusal | アップデーターは v4です。バックエンドでは現在サポートされていません。 | plugin/CLI を 次のバージョンにアップグレードしてください: v5+ (推奨 v8), Capacitor を使用 v5、その後 bundle メタデータを再ビルドして再公開します。 |
| 設定またはポリシーによるブロック |
| Code(s) | アップデートがブロックされた理由 |
|---|---|
disableAutoUpdate, disableAutoUpdateToMajor, disableAutoUpdateToMinor, disableAutoUpdateToPatch, disableAutoUpdateMetadata, disableAutoUpdateUnderNative | チャンネル戦略により禁止されています semver ジャンプ |
disablePlatformIos, disablePlatformAndroid | このチャンネルではプラットフォームが無効です |
disableDevBuild, disableEmulator | Dev ビルドまたはエミュレータは許可されていません |
disableProdBuild, disableDevice, disablePlatformElectron | このチャンネルでは Production ビルド、実機、または Electron はブロックされています。 |
customIdBlocked | このアプリではカスタムデバイス ID は受け付けられません。 |
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfigured | チャンネル選択またはオーバーライドに失敗しました |
missingBundle, cannotGetBundle | チャンネルが Capgo で配信できない bundle を指しています |
needPlanUpgrade | 組織のプランまたはデバイスの上限に達しました |
ダウンロード / 整合性 / インストール失敗
| Code(s) | 意味 |
|---|---|
download_fail | Bundle のダウンロードに失敗しました (ネットワークまたはレスポンスエラー) |
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_fail | delta ファイルの取得または検証に失敗しました |
checksum_fail, checksum_required | 整合性チェックに失敗したか、チェックサムがありません |
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_fail | ファイルシステムまたは unzip の検証に失敗しました |
decrypt_fail | 復号に失敗しました (暗号化された bundle) |
update_fail | Bundle はインストールされましたが、アプリから呼び出されませんでした notifyAppReady(); ロールバックが実行されました |
download_zip_* その後の処理なし set | ダウンロードは完了しましたが、インストールフェーズが完了しませんでした |
ランタイム / プラットフォームイベント
「Runtime / platform events」セクション| Code(s) | 意味 |
|---|---|
app_crash, app_crash_native | JavaScriptまたはネイティブのランタイム層で発生したクラッシュイベント。メタデータには通常、スタック、ソース、およびアクティブなバージョンの情報が含まれます。 |
app_anr | AndroidからApplication Not Responding(ANR)が報告されました。 |
app_killed_low_memory, app_killed_excessive_resource_usage | メモリまたはリソース制限によるアプリプロセスの終了。 |
app_initialization_failure, app_memory_warning | 起動が中断されたか、通常のランタイムが開始される前にメモリ圧迫が検知されました。 |
webview_javascript_error, webview_unhandled_rejection, webview_resource_error, webview_security_policy_violation, webview_unclean_restart, webview_render_process_gone, webview_content_process_terminated | WebViewのライフサイクルおよびJS/レンダリングエラー。SentryをJSとネイティブの両方の層に導入することで、スタックトレース、セッション/デバイスのコンテキスト、URL/状態をキャプチャし、迅速な修正が可能になります。 |
os_version_changed, native_app_version_changed | OSまたはネイティブアプリのバージョンが変更されました。これにより、プラットフォームレベルのロールアウトの影響と、Web bundleの挙動を切り分けて特定できます。 |
➡️ code に関する詳細なガイドが必要ですか?こちらを参照してください: Code のログリファレンスとデバッグガイド全文.
ログの詳細を確認する
「Getting More Details About a Log」セクション特定のログエントリをクリックすると、通常は以下のページに移動します: デバイスのページ。これにより、そのデバイスの全履歴を確認できます。デバイス固有の問題の診断や、アップデートの経緯を把握するのに非常に役立ちます。
Logs の次のステップ
「Keep going from Logs」セクション使用している場合 ログ ダッシュボードと API の運用を計画するには、これを次と連携させます API の概要 「API の概要」の実装の詳細については、 はじめに 「はじめに」における実装の詳細については、 API キー API Keys の実装の詳細については、 デバイス Devices の実装詳細については、および Bundle Bundlesの実装詳細については