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

ログ

アプリの ログ タブがデフォルトで開きます。 ログ分析 Insightsを使用すると、1、3、7、または30日間の期間におけるカテゴリ、バージョン、デバイスの優先順位付けが可能です。以下に説明するデバイスイベント、フィルタ、タイムスタンプの詳細が必要な場合は、 ログ サブタブに切り替えてください。

アプリケーションログを理解する

「アプリケーションログの理解」セクション

Raw Logsサブタブでは、アップデートイベントの詳細な履歴と、アプリケーションの診断情報を確認できます。Insightの根拠となるデバイスレベルの証拠の確認、アップデートパスのトラブルシューティング、デバイスとCapgoのインタラクションの把握に役立ちます。アプリを開き、 ログを選択してから、 ログ サブタブを選択します。

メインインターフェースを表示するRaw Logsタブの概要
Raw Logsタブ

Raw Logsインターフェースの構成要素:

  1. Logsサブタブ — 各ログ行のナビゲーションコントロール。
  2. リロードボタン — 最新のデータでログ一覧を更新します。
  3. 時間範囲とアクションフィルター — 時間とアクションでイベントストリームを絞り込みます。

各行の表示内容:

  • タイムスタンプ (UTC)
  • デバイスID
  • アクション code (何が起きたか)
  • バージョン名 (bundle または builtin)

行をクリックすると、デバイス詳細ページに移動して全履歴を確認できます。

日付ピッカーを使用して、特定の期間でログをフィルタリングできます:

ログフィルタリング用の期間選択ピッカー
日付範囲フィルタ
  1. クイックプリセット - よく使う期間を選択:直近1時間、3時間、6時間、または12時間
  2. 開始時刻 - 範囲の開始時刻をカスタム設定
  3. 終了時刻 - 範囲の終了時刻をカスタム設定
  4. カレンダー - カレンダーから特定の日付を選択

「Select」をクリックして選択した期間を適用するか、「Cancel」でピッカーを閉じます。

アクションタイプでフィルタリング

「Filtering by Action Type」セクション

Actions ドロップダウンを使用すると、特定のイベントタイプでログをフィルタリングできます:

イベントタイプでログをフィルタリングするための Actions フィルター
Actions フィルター

利用可能なアクションフィルターは以下の通りです:

  • デバイスのハートビート - デバイスからの定期的なヘルスチェック
  • バージョンの削除リクエスト - バンドルバージョンが削除されたとき
  • デフォルトバージョンにリセット - デバイスが組み込みバンドルに戻ったとき
  • バージョンのインストールに成功しました - バンドルのインストール成功
  • 新しいバージョンをデバイスに送信しました - Capgo がデバイスにアップデートを送信したとき
  • バージョンのインストールに失敗しました - バンドルのインストールに失敗したとき

上部の検索ボックスを使って、特定のアクションタイプをすばやく見つけられます。複数のアクションを選択すると、選択したいずれかのタイプに一致するログを表示できます。

時刻 (UTC)デバイスIDアクションバージョン何がわかるか
2025-01-14 10:00:01A1B2C3get2.4.1デバイスが Capgo にアップデートの有無を問い合わせました
2025-01-14 10:00:03A1B2C3download_manifest_start2.4.1Deltaのダウンロードを開始しました。SDK が変更されたDeltaファイルをダウンロードします
2025-01-14 10:00:07A1B2C3download_402.4.1Bundleのダウンロードが40%完了しました
2025-01-14 10:00:12A1B2C3download_zip_complete2.4.1Zipのダウンロードが完了しました
2025-01-14 10:00:13A1B2C3set2.4.1Bundleをインストールし、次回の実行対象としてマークしました
2025-01-14 10:05:00B9C8D7disableAutoUpdateToMajor1.9.0Channelポリシーにより2.xへのジャンプがブロックされました
2025-01-14 10:05:05B9C8D7rateLimited組み込みデバイスがリクエスト上限に達しました。SDK は再起動までバックオフします

ログの内容を把握しやすくするために、実際のデバイスでのアップデートの流れを示す例をいくつか紹介します。

正常にアップデートが行われた場合のログは以下の通りです。

時刻デバイスIDアクションバージョン意味
10:00:01a1b2c3d4get1.2.0デバイスのアップデートを確認し、バージョン1.2.0の情報を取得しました
10:00:02a1b2c3d4download_101.2.0ダウンロードを開始しました(10%完了)
10:00:03a1b2c3d4download_501.2.0ダウンロード中 50%
10:00:05a1b2c3d4download_complete1.2.0ダウンロードが正常に完了しました
10:00:06a1b2c3d4set1.2.0Bundleのインストールと有効化が完了しました

デバイスがチェックを行った際、既に最新バージョンが適用されている場合:

時刻デバイスIDアクションバージョン意味
14:30:00e5f6g7h8noNew1.2.0デバイスは既に最新バージョンです。アップデートは不要です

アップデートに失敗し、デバイスがロールバックした場合:

時刻デバイスIDアクションバージョン意味
11:15:00i9j0k1l2get1.3.0デバイスがアップデート情報を取得
11:15:02i9j0k1l2download_complete1.3.0ダウンロード完了
11:15:03i9j0k1l2set1.3.0Bundleが設定されました
11:15:10i9j0k1l2update_fail1.3.0アプリがクラッシュした、または notifyAppReady() 呼び出しなし - ロールバックが実行されました
11:15:11i9j0k1l2reset組み込み済みデバイスが組み込みバージョンにロールバックされました

必要なアクション: アプリが正しく呼び出しているか確認してください notifyAppReady() 初期化後に実行する必要があります。詳細は プラグインのドキュメントを をご覧ください。

ネットワークの問題でダウンロードできない場合:

時刻デバイスIDアクションバージョン意味
09:45:00m3n4o5p6get1.2.0デバイスがアップデート情報を取得
09:45:01m3n4o5p6download_301.2.0ダウンロードは開始されたが…
09:45:15m3n4o5p6download_fail1.2.0ダウンロード失敗(ネットワークタイムアウト、接続断など)

必要なアクション: 次回アプリ起動時にデバイスが自動でリトライします。頻発しない限り、対応は不要です。

アカウントのデバイス上限に達した場合:

時刻デバイスIDアクションバージョン意味
16:00:00q7r8s9t0needPlanUpgrade-プランをアップグレードするか、請求サイクルがリセットされるまで、このデバイスにはアップデートが配信されません

必要なアクション: プランをアップグレードする または、次の請求サイクルを待ってください。

アップデートをブロックするチャンネル設定

「Channel Configuration によるアップデートのブロック」セクション

チャンネル設定によってアップデートがブロックされる場合:

時刻デバイスIDアクションバージョン意味
12:00:00u1v2w3x4disableAutoUpdateToMajor2.0.0v1.x のデバイスが v2.x へ自動アップデートできない(メジャーバージョンの飛び越しがブロックされている)
12:05:00y5z6a7b8disableEmulator1.2.0エミュレータが検出され、チャンネル設定でエミュレータがブロックされている
12:10:00c9d0e1f2disableDevBuild1.2.0Dev 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_completeDelta download の開始 / 完了 (delta ファイルで upload された bundle 用)
download_zip_start, download_zip_completeZip アーカイブの download 開始 / 完了
download_10 … download_90ダウンロード進捗のマイルストーン
download_0最初の進捗イベントの0%マーカー
download_completebundle全体のダウンロード完了
set次回起動用にbundleをステージング済み
resetデバイスが組み込みbundleにロールバック
deleteローカルストレージからbundleを削除
uninstallアプリのアンインストールを検知
app_moved_to_foreground, app_moved_to_backgroundSDKが記録したアプリのライフサイクルイベント
pingデバイスからのヘルスチェック/ハートビート
setChannel, getChannelSDK呼び出しによるChannelの上書きまたは取得

ポリシーブロック/スロットルの新しいクイック修正

「ポリシーブロック/スロットルの新しいクイック修正」セクション
Code発生原因次のステップ
invalidIpCapgo は、ボットと思われるトラフィック(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 モードに切り替えてください。
missingBundlebundle にダウンロード可能なペイロードがありません( 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, disableEmulatorDev ビルドまたはエミュレータは許可されていません
disableProdBuild, disableDevice, disablePlatformElectronこのチャンネルでは Production ビルド、実機、または Electron はブロックされています。
customIdBlockedこのアプリではカスタムデバイス ID は受け付けられません。
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfiguredチャンネル選択またはオーバーライドに失敗しました
missingBundle, cannotGetBundleチャンネルが Capgo で配信できない bundle を指しています
needPlanUpgrade組織のプランまたはデバイスの上限に達しました

ダウンロード / 整合性 / インストール失敗

Code(s)意味
download_failBundle のダウンロードに失敗しました (ネットワークまたはレスポンスエラー)
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_faildelta ファイルの取得または検証に失敗しました
checksum_fail, checksum_required整合性チェックに失敗したか、チェックサムがありません
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_failファイルシステムまたは unzip の検証に失敗しました
decrypt_fail復号に失敗しました (暗号化された bundle)
update_failBundle はインストールされましたが、アプリから呼び出されませんでした notifyAppReady(); ロールバックが実行されました
download_zip_* その後の処理なし setダウンロードは完了しましたが、インストールフェーズが完了しませんでした

ランタイム / プラットフォームイベント

「Runtime / platform events」セクション
Code(s)意味
app_crash, app_crash_nativeJavaScriptまたはネイティブのランタイム層で発生したクラッシュイベント。メタデータには通常、スタック、ソース、およびアクティブなバージョンの情報が含まれます。
app_anrAndroidから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_terminatedWebViewのライフサイクルおよびJS/レンダリングエラー。SentryをJSとネイティブの両方の層に導入することで、スタックトレース、セッション/デバイスのコンテキスト、URL/状態をキャプチャし、迅速な修正が可能になります。
os_version_changed, native_app_version_changedOSまたはネイティブアプリのバージョンが変更されました。これにより、プラットフォームレベルのロールアウトの影響と、Web bundleの挙動を切り分けて特定できます。

➡️ code に関する詳細なガイドが必要ですか?こちらを参照してください: Code のログリファレンスとデバッグガイド全文.

特定のログエントリをクリックすると、通常は以下のページに移動します: デバイスのページ。これにより、そのデバイスの全履歴を確認できます。デバイス固有の問題の診断や、アップデートの経緯を把握するのに非常に役立ちます。

使用している場合 ログ ダッシュボードと API の運用を計画するには、これを次と連携させます API の概要 「API の概要」の実装の詳細については、 はじめに 「はじめに」における実装の詳細については、 API キー API Keys の実装の詳細については、 デバイス Devices の実装詳細については、および Bundle Bundlesの実装詳細については