コンテンツにジャンプ

デバッグ

GitHub

クラウドログの理解

クラウドログの理解

クラウド拒否の場合 code が発生し、より深いトラブルシューティングのウォークスルーが必要な場合は、 一般的な更新問題.

Capgo ログにはイベントのメタデータが含まれることがあります。ダッシュボードで、snake_case アクション code でフィルタリングし、メタデータセルをクリックしてフルJSONペイロードをコピーします。メタデータは、特にクラッシュとWebViewイベントの場合に、エラーメッセージ、ソースURL、行、列、プロセス状態、メモリ圧力、またはプラットフォーム固有の理由を含むことがあります。古いログは、古いcamelCaseエイリアスを括弧内にリストしたままにできます。

各セクションのタイトルはコンソールログテーブルのアクション code に対応しているため、直接リンクできます。

プランの制限と正常な応答

プランの制限と正常な応答

請求、スロットリング、またはエラー以外の状態に関連するバックエンド拒否

InvalidIp

InvalidIp

InvalidIp

Capgo detected traffic that looks like it comes from Google or cloud infrastructure. Updates less than four hours old are ignored so bot traffic does not count as billable devices.

何をする

本来はユーザーには表示しないようにする。正常なネットワークや実機からリトライするか、後で再度確認する。

意味は?

組織がプランまたはデバイスの制限に達した。デバイスは、プランをアップグレードするか、次の請求サイクルで使用量がリセットされるまでアップデートを受け取らない。

何をする?

ダッシュボードでプランをアップグレードするか、次の請求サイクルを待つ。

意味は?

デバイスはそのチャンネルの最新バンドルをすでに持っている。正常な状態であり、エラーではない。

意味は?

The device sent too many update or channel requests in a short window.

What to do

Render loop内でupdate APIを呼び続けないでください。ユーザーアクションからのみ呼び、 setChannel / getChannel __CAPGO_KEEP_0__ defaultChannel バージョン形式 capacitor.config.

semver_error

semver_error

意味

config内のネイティブアプリバージョンが存在しない、または有効なsemverではありません。

何をするかx.y.z).

What to do

設定 plugins.CapacitorUpdater.version 有効なsemverに設定し、 SemVerテスターで確認し、再構築してネイティブアプリを再インストールしてください。

チャネルポリシーがプラットフォーム、ビルドタイプ、またはデバイスクラスをブロックしたときのバックエンド拒否

これは何を意味しますか

このチャネルではiOSが実行されますが、iOSの更新はこのチャネルでブロックされています。

何をするべきですか

このことが意図せずに起こった場合は、iOSをチャネルで有効にし、意図的にブロックした場合は、iOSビルドを特定のチャネルにルーティングすることです。

意味

Androidを実行しているが、このチャネルではAndroidの更新が無効化されています。

対処

この事故が偶然だった場合は、チャネルでAndroidを有効化してください。意図的にブロックする場合は、Androidのビルドを特定のチャネルにルーティングしてください。

意味

Electronを実行しているが、このチャネルではElectronの更新が無効化されています。

対処

この事故が偶然だった場合は、チャネルでElectronを有効化してください。意図的にブロックする場合は、Electronのビルドを特定のチャネルにルーティングしてください。

意味

このデバイスは開発用ビルドですが、このチャンネルでは開発用ビルドがブロックされています。

どうすればいいですか

このチャンネルで開発用ビルドを許可するか、開発用デバイスを別のチャンネルに移動して、このチャンネルはリリース専用にします。

disableProdBuild

disableProdBuild

意味

リリース用ビルドとして呼び出された /updates、ですが、このチャンネルではリリース用の更新がブロックされています。

どうすればいいですか

このチャンネルでリリース用の更新を許可する場合は、間違いだった場合は、または正しいチャンネルにリリース用ビルドをルーティングする場合はどうすればいいですか

disableDevice

disableDevice

意味

実際のスマートフォンやタブレットがブロックされています。

What to do

この操作が間違ってしまった場合は、実機の更新を有効にしてください。そうでない場合は、制限を維持し、実機を別のチャネルにルーティングしてください。

これは何を意味しますか

このチャネルでは、エミュレータの更新が無効になっていますが、実機はエミュレータです。

これをどうすればいいですか

テストチャネルでエミュレータの更新を有効にしてください。そうでない場合は、このチャネルでエミュレータをブロックし、エミュレータの検証に別のチャネルを使用してください。

バックエンドの拒否は、semverまたはメタデータのルールが対象のバンドルをブロックした場合に発生します。

これは何を意味しますか

Auto-updateはチャネル互換性ポリシーにより無効化されています。 auto_update Metadataには major, minor, patch, metadataと一致するルールとして none.

、または

何をするか

タイトル「disableAutoUpdateUnderNative」

何が意味するか

チャネルは、デバイスのベースラインよりも古いバンドルを持っており、ネイティブ版のバージョンでは更新を送信しないようブロックしています。

何をするか

タイトル「disableAutoUpdateMetadata」

The channel requires min_update_versionが必要ですが、デバイスのネイティブバージョンはその閾値以下です。

何をするか

設定 min_update_version ターゲットのバンドルまたはリリースから、より新しいネイティブバージョンを選択します。

何を意味するか

チャネルはメジャーバージョンジャンプをブロックします、たとえば 1.x.x2.x.x.

何をするか

メジャーロールアウト計画とチャネル戦略を合わせ合わせる、またはこのトラックでメジャージャンプを許可する。See Common Update Problems.

意味

デバイスのネイティブベースラインと比較してのマイナーバージョンジャンプをブロックします (version_build例えば 1.2.3 to 1.3.0.

マイナーバージョンロールアウト計画とチャンネル戦略を合わせるか、このトラックでマイナージャンプを許可する

「disableAutoUpdateToPatch」を無効にする

disableAutoUpdateToPatch

意味

同じプレフィックスのまま、パッチレベル変更をブロックし、サフィックス変更のみを許可します。

何をするか MAJOR.MINOR.PATCH パッチレベル変更をブロックし、サフィックス変更のみを許可する

What to do

リリースのサイクルをチャンネルポリシーと合わせるか、このトラックにパッチジャンプを許可する。

チャンネル設定

チャンネル設定

バックエンドの拒否は、チャンネル設定が欠落しているか互換性がないため発生します。

これは何を意味しますか?

デバイスは、デバイスの自己割り当てを許可しない(is false)プライベートチャンネルと自己割り当てを試みました。allow_device_self_set 何をするべきですか?

チャンネルに有効にする

チャンネルに有効にするか、デバイスをパブリックまたは許可されたチャンネルに切り替える。 allow_device_self_set チャンネル設定の不一致

What it means

The channel uses disable_auto_update: "version_number" but the bundle min_update_version はnullなので、Capgoはどのデバイスがアップデートするか決定できません。

What to do

そのルールの設定を埋め込んだり、よりシンプルな自動アップデートモードに切り替えたりしてください。

What it means

デフォルトのチャネルが設定されていません。デバイスにはチャネルオーバーライドもありません。

What to do

デフォルトのチャネルをダッシュボードで設定したり、 defaultChannel in the build.

__CAPGO_KEEP_0__のバンドル配信と暗号化

__CAPGO_KEEP_0__のバンドル配信と暗号化のセクション

Capgoがバンドルを提供または暗号化できなかった場合のバックエンド拒否

何が起こっているのか

Capgoが有効な署名付きダウンロードURLを生成できず、manifestのフォールバックが利用できなかった

何をするか

バンドルを再アップロードし、manifestを再生成し、R2またはパブリックバンドル設定を検証する

__CAPGO_KEEP_0__がバンドルが割り当てられているチャンネルにダウンロード可能なコンテンツがない:

__CAPGO_KEEP_0__が割り当てられているチャンネルにダウンロード可能なコンテンツがない: external_url__CAPGO_KEEP_0__が割り当てられているチャンネルにダウンロード可能なコンテンツがない: r2_path__CAPGO_KEEP_0__

何をするか

バージョンを再構築し、再アップロードし、バンドルの実際のファイル内容を確認する

意味

デバイスの暗号化パブリックキーが、バンドルを暗号化するために使用されたキーと一致しないことです。メタデータには device_key_id, bundle_key_idversion.

何をするか

コンソールでデバイスとバンドルのキーアイデンティティを比較する。同じキーと一致するCLI/プラグインバージョンで公開する。

アプリ設定と古いクライアント

「アプリ設定と古いクライアント」セクション

アプリ設定またはアップデーターのバージョンがサポートされていないことによるバックエンドの拒否

What it means

The app sent a custom device ID, but this app does not accept custom IDs, so the ID is ignored.

What to do

Section titled “blocked_by_server_url”

What it means

server.url is set in Capacitor config, so the WebView loads a remote URL instead of local bundle files. Capgo live updates require local files and server.url Remove or clear

for production builds and keep update payloads local. This __CAPGO_KEEP_0__ can appear as a backend refusal or as a device-side stat.

__CAPGO_KEEP_0__ server.url for production builds and keep update payloads local. This code can appear as a backend refusal or as a device-side stat.

意味

アップデートプラグインはv4で、バックエンドはこれを認識しなくなっています。

対処

プラグインとCLIをv5+ (v8を推奨) にアップグレードし、Capacitor v5+ にアップグレードし、再構築し、バンドルメタデータを再公開してください。

ライフサイクル更新

Section titled “Update lifecycle”

デバイス側イベントは、通常の更新フロー、有効化、ロールバックのために使用されます。

意味

内部テストアクションで統計パイプラインを検証するために使用されます。

What it means

Capgoは新しいバージョンのダウンロード情報をデバイスに送信しました。

What it means

A bundle was activated on the device.

What it means

A bundle failed to activate on the device.

What to do

デバイスのネイティブログを確認し、 npx @capgo/cli@latest app debug バンドルの整合性、パス、フローを確認してください。 notifyAppReady flow.

リセットの意味

デバイスは組み込みのバンドルにリセットされました。

削除の意味

デバイス上の1つのバンドルが削除されました。

ダウンロードとインストールの失敗

Section titled “Download and install failures”

ダウンロードの進行状況、アーカイブの検証、インストールのエラーのためのデバイス側イベント。

What it means

ダウンロードのシーケンスは0%の進行度で開始されました。

意味

新しいバンドルがダウンロードされました — 10%の進捗が示されます。

意味

新しいバンドルがダウンロードされました — 20%の進捗が示されます。

意味

新しいバンドルがダウンロードされました — 30%の進捗が示されます。

意味

新しいバンドルがダウンロードされました — 40%の進捗が示されます。

意味

新しいバンドルがダウンロードされました — 進捗状況は50%で示されています。

意味

新しいバンドルがダウンロードされました — 進捗状況は60%で示されています。

意味

新しいバンドルがダウンロードされました — 進捗状況は70%で示されています。

意味

新しいバンドルがダウンロードされました — 進捗状況は80%で示されています。

意味

新しいバンドルがダウンロードされました — 進捗状況は 90% です。

download_complete

ダウンロード完了

意味

バンドルダウンロードが正常に完了しました。

意味

デバイスがアップデート マニフェストのダウンロードを開始しました。

意味

デバイスがアップデート マニフェストのダウンロードを完了しました。

意味

デバイスがバンドル アーカイブをダウンロードしました。

意味

デバイスがバンドル アーカイブのダウンロードを完了しました。

意味

1 つのマニフェスト エントリがダウンロードに失敗しました。 version_name 使用する version:fileName アセットを識別する

何をするか

アセットが欠落しているかブロックされている場合は修正し、manifestを再生成し、バンドルを再アップロードしてください。

download_manifest_checksum_fail

ダウンロード manifest checksum fail

意味

manifestファイルのチェックサム検証に失敗しました。

対処法

現在のCLIバージョンのバンドルを再アップロードし、manifestのチェックサムを検証してください。

download_manifest_brotli_fail

ダウンロード manifest brotli fail

意味

manifestファイルのBrotliのデコードに失敗しました。

対処法

圧縮設定を確認し、影響を受けたアセットを再アップロードしてください。

What it means

ダウンロードが失敗しました。

What to do

ネットワーク接続、署名URLの有効期限、CDNのアクセス可能性、デバイスのストレージを確認してください。

update_fail

update_fail

What it means

__CAPGO_KEEP_0__がロールバックされました。 notifyAppReady, so Capgo rolled back.

アプリが起動した後すぐに呼び出してください。

Native log text notifyAppReady() __CAPGO_KEEP_0__ notifyAppReady was not called, roll back current bundle code

意味

CLIの古いアップロードからCRC32とSHA256の不一致、または古いプラグインで暗号化キー不一致が表面上チェックサム失敗として表現される場合など、ダウンロードしたバンドルがチェックサム検証に失敗したことです。

対処

CLI/プラグイン (SHA256) を最新のもので再アップロードしてください。暗号化を使用している場合、アップロードキーとアプリパブリックキーが一致していることを確認してください、またはプラグイン 8.3.0 以降にアップグレードして明示的な暗号化を使用してください。 keyMismatch エラー

意味

__CAPGO_KEEP_0__のダウンロードしたバンドルが暗号化に失敗したことです。

対処

暗号化キーを確認し、対応するキーペアで再アップロードしてください。

What it means

Windowsスタイルのパスが含まれるzipファイルは不正です。

What to do

Unixスタイルのパスでバンドルを再構築するか、またはアップロードする前にアーカイブのパスを正規化する必要があります。

canonical_path_fail

canonical_path_fail

Windowsスタイルのパスが含まれるzipファイルは不正です。

What it means

zipファイル内のファイルパスが正規化されていません。

What to do

directory_path_fail

zipファイル内のディレクトリパスが不正です。

何をするか

__CAPGO_KEEP_0__をアップロードする前にアーカイブ構造を修正してください。

何を意味するか

ダウンロードしたバンドルを展開できませんでした。

何をするか

__CAPGO_KEEP_0__の整合性を確認し、サポートされている圧縮形式を確認してください。

何を意味するか

デバイスのメモリが不足しているためダウンロードに失敗しました。

何をするか

バンドルサイズを削減するか、メモリが十分なデバイスで再試行してください。

アプリの健康とWebViewイベント

アプリの健康とWebViewイベント

デバイス側のクラッシュ、メモリ、WebView診断。ダッシュボードで常にメタデータJSONを検査してください。

意味

アプリがバックグラウンドに移動しました。

意味

アプリがフォアグラウンドに移動しました。

意味

JavaScriptまたはCapacitorレイヤーがクラッシュしました。メタデータにはメッセージ、スタック、ソース、そしてアクティブなバンドルコンテキストが含まれます。

何をする

メタデータとネイティブログを検査する。JSとネイティブエラー報告をペアする(例:Sentry)で、失敗したcodeパスを特定する。

何を意味する

ネイティブプラットフォームクラッシュ。メタデータにはプラットフォーム、理由、スタック、プロセス詳細が含まれる。

何をする

XcodeまたはLogcatクラッシュログを使用して、メタデータからアクティブなバンドルと照合する。

何を意味する

Androidアプリケーションが応答しないイベント。

何をする

LogcatでANRトレースを検査し、更新後メインスレッドブロッキングワークを削減する。

メモリ不足によりアプリが終了された

The OS killed the app after memory pressure.

対処方法

アップデートの有効化後、メモリ使用量を削減し、利用可能なメモリシグナルを検査する。

アプリがリソース使用量が過剰であるため終了された

The OS killed the app for excessive resource use.

対処方法

リソースタイプまたはプラットフォームの理由を検査する。

アプリの初期化が失敗した

正常実行が可能になる前にアップデートまたは起動が失敗しました。

何をするか

失敗したステップとエラーメッセージを確認してください。

app_memory_warning

__CAPGO_KEEP_0__

iOS メモリ警告の意味

iOS メモリ警告

何をするか

メタデータを確認し、更新後にピーク使用率を削減してください。

webview_javascript_error

__CAPGO_KEEP_1__

WebView 内の JavaScript エラーの意味

WebView 内の JavaScript エラー

WebView 内の JavaScript エラーの対処方法

JSとネイティブ層でエラー報告をインストールして、実行中のプロダクションで正確に失敗した行をキャプチャします。

これは何?

WebView内で未処理のPromiseが拒否されました。

何をしますか?

JSとネイティブのエラー報告で非同期失敗をキャプチャします。

これは何?

WebViewのリソースがロードに失敗しました。

何をしますか?

メタデータURLとステータス詳細を使用して、破損したアセットまたはネットワークルールを修正します。

What it means

Content Security Policyがリソースをブロックしました。

What to do

CSPをメタデータディレクティブとブロックされたURIの詳細で調整してください。

webview_unclean_restart

webview_unclean_restart

What it means

前のWebViewセッションが正常に終了せず、更新後にクラッシュループが発生する可能性があります。

What to do

クラッシュとWebViewエラーイベントの前後で関連付けます。

webview_render_process_gone

webview_render_process_gone

What it means

Android WebViewレンダラープロセスが終了しました。

何をする

メタデータとネイティブログにレンダラークラッシュシグナルを検査する。

何を意味する

iOS WebViewコンテンツプロセスが終了した。

何をする

メタデータからアクティブなバンドルとページURLを検査する。

デバイス側のコンテキストイベントが、OS、ネイティブバージョン、またはチャネル変更とアップデートの動作を関連付けるのに役立ちます。

何を意味する

デバイスOSバージョンがチェック間で変更されました。

意味

ネイティブアプリのストアバージョンが変更されました。ネイティブアプリとウェブバンドルの変更を区別するのに役立ちます。

意味

デバイスが現在のチャンネルを確認しました。

意味

デバイスにチャンネルが正常に設定されました。

意味

アプリがアンインストールされたか、Capgo データがクリアされた。

バンドル状態

バンドル状態
  • SUCCESSバンドルをインストールしました
  • ERRORバンドルをインストールまたはダウンロードに失敗しました
  • PENDINGダウンロード完了、リリース待ち
  • DELETEDバンドルが削除されたが、統計用に表示されます
  • DOWNLOADINGバンドルをダウンロード中

デバイスログを理解する

デバイスログを理解する

デバッグコマンド

デバッグコマンド

There is a debug command for Capgo cloud users.

ターミナルウィンドウ
npx @capgo/cli@latest app debug

この機能を使用すると、すべてのイベントを確認し、更新が行われていない場合の解決策を見つけることができます。

Xcodeでログを検索するにはこちら

Android Studioでログを検索するにはこちら

ネイティブログフレーズマッピング

ネイティブログフレーズマッピング
  • Failed to download from マップ download_fail
  • notifyAppReady was not called, roll back current bundle マップ update_fail

デバイス上のダウンロードしたバンドルを探す

デバイス上のダウンロードしたバンドルを探す

iOS

iOS

iOS用にデバッグするには、コンピューター上のアプリをダンプする必要があります。次のようにして行うことができます。

Xcodeには、iOSデバイスにインストールされた開発者用のアプリのファイルシステムを検査するための組み込み機能があります。 Xcodeウィンドウメニューのデバイスとシミュレータのオプション

このように実現します:

  • Macにデバイスを接続し、Xcodeのメニューバー上のWindow > Devicesを選択してください。
  • 左側のペインのDevicesセクションの下でデバイスを選択してください。
  • デバイスにインストールされている開発者用アプリのリストが表示されます。
  • 表示されたアプリを選択し、画面の下部の3つの点のアイコンを選択してください。
  • ここでは、ファイルシステムの現在の状態をダウンロードしたい場合はダウンロードするスナップショットを選択してください。

Xcode Devicesパネルにアプリコンテナダウンロードオプションが表示されます。

「Download Container…」を選択すると、ファイルシステムのスナップショットをダウンロードし、.xcappdataファイルとしてエクスポートし、ファイルシステムを閲覧することができます。

ダウンロードしたxcappdataファイルに右クリックし、Show Package Contentsを選択してフォルダを開いてください。

App Dataフォルダを開くと、Documents、Library、tmpなどのいくつかのフォルダが表示されます。

iOSアプリコンテナフォルダ構造が表示され、DocumentsとLibraryフォルダが表示されます。

次に、2つのフォルダ内にバージョンが表示されます。

__CAPGO_KEEP_0__

library/NoCloud/ionic_built_snapshots __CAPGO_KEEP_0__がアプリ再起動後必要

documents/versions ホットリロード用

Android上でデバッグするには、Android Studioからデバイスにアクセスする必要があります:

  • デバイスファイルエクスプローラーを開くには、View > Tool Windows > Device File Explorerまたはツールウィンドウバーのデバイスファイルエクスプローラー ボタンをクリックしてください。
  • ドロップダウンリストからデバイスを選択してください。
  • パスを開いてください data/data/APP_NAME/ ここで APP_NAMEはアプリIDです。

Android Studioのデバイスファイルエクスプローラでアプリデータディレクトリを表示

次に、 versions フォルダを見つけて、すべてのバージョンを確認

iOSのプロダクションクラッシュログを理解する

「iOSのプロダクションクラッシュログを理解する」のセクション

Capacitorを使用している場合 デバッグ ネイティブ プラグインの作業を計画するには、を接続する必要があります。 @capgo/capacitor-updaterを使用 ネイティブ機能のために@capgo/capacitor-updaterを使用 Capgo プラグイン ディレクトリ Capgo プラグイン ディレクトリの製品フロー Capacitor プラグインズ by Capgo Capacitor プラグインズ by Capgo の実装詳細 プラグインの追加または更新 プラグインの追加または更新の実装詳細 Ionic Enterprise プラグインの代替 Ionic Enterprise プラグインの代替の製品フロー