Skip to content

Debugging

GitHub

クラウド拒否の場合 code が発生し、より深い対処方法のウォークスルーが必要な場合は、 一般的な更新問題.

Capgo ログにはイベントのメタデータが含まれる場合があります。ダッシュボードで、スネークケースのアクション code でフィルタリングし、メタデータセルをクリックしてフルJSONペイロードをコピーします。メタデータは、クラッシュやWebViewイベントの場合に特に役立ちます。エラー メッセージ、ソースURL、行、列、プロセス状態、メモリ圧力、またはプラットフォーム固有の理由が含まれる可能性があります。古いログは、括弧内にリストされているレガシーキャメルケースのエイリアスを表示する場合もあります。

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

プランの制限と通常の応答

セクション「InvalidIp」

請求、制限、またはエラー以外の状態に関連するバックエンド拒否

その意味

Capgo は Google またはクラウドインフラストラクチャからのトラフィックが見つかりました。4時間以内に更新されたものは無視されますので、BOTトラフィックは請求対象のデバイスとしてカウントされません。

対処する方法

実際のユーザーには無視してください。正常なネットワークと実際のデバイスからリトライするか、後で再度確認してください。

その意味

アプリは、Google と Apple のデータセンター IP の範囲からの要求をブロックするように設定されています。保護は、更新チェック、統計、チャネル自体の要求に適用されるため、クラウドホストされたプローブとプロバイダーランナーは、設定が他の場合に有効な場合でも、この応答を受信することができます。

対処する方法

正常なユーザー ネットワーク上の物理デバイスからリトライしてください。プロバイダが生成したトラフィックが意図的である場合、”Block provider infrastructure requests” をアプリの “Information” タブで一時的に無効化し、テストが終わった後再度有効化してください。新規のアプリではこの設定が有効になりますが、既存のアプリでは以前の無効化設定が保持されます。 Block provider infrastructure requests in the app’s Information tab

意味

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

対処方法

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

意味

デバイスがチャンネルに対して最新のバンドルを取得しているため、この状態は正常です。

意味

デバイスが短期間にアップデートまたはチャンネルリクエストを多数送信したため、制限がかかりました。

対処方法

APIをレンダリングループ内で呼び続けるのをやめましょう。 setChannel / getChannel ユーザーアクションからのみ呼び出し、 defaultChannel と設定してください。 capacitor.config.

バージョン形式

バージョン形式

バージョン形式が不正なため、ネイティブバージョンメタデータがバックエンドで拒否されることがあります。

semver_error

semver_error

何が起こっているのか

configに記載されているネイティブアプリのバージョンが存在しない、または不正なsemverである場合。x.y.z).

何をするか

バージョンを正しいsemverに設定し、バックエンドで検証してください。 plugins.CapacitorUpdater.version を設定してください。 SemVer テスター__CAPGO_KEEP_0__、再構築し、ネイティブアプリを再インストールしてください。

プラットフォームとビルドのターゲット

セクション「プラットフォームとビルドのターゲット」

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

これは何を意味しますか

このチャンネルではiOSの更新が無効になっていますが、デバイスはiOSを実行しています。

何をするべきですか

このことは間違いだった場合にiOSをチャンネルで有効にするか、意図的にブロックする場合はiOSビルドを専用チャンネルにルーティングする必要があります。

これは何を意味しますか

このチャンネルでは、Androidの更新が無効になっています。

どうすればいいの?

この動作が間違ってしまった場合は、このチャンネルでAndroidを有効にしてください。意図的にブロックした場合は、Androidのビルドを特定のチャンネルにルーティングしてください。

これは何を意味する?

このチャンネルでは、Electronの更新が無効になっています。

どうすればいいの?

この動作が間違ってしまった場合は、このチャンネルでElectronを有効にしてください。意図的にブロックした場合は、Electronのビルドを特定のチャンネルにルーティングしてください。

これは何を意味する?

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

どうすればいいの?

このテストチャンネルで開発版を許可する、またはこのチャンネルはリリース専用にし、開発用デバイスを別の場所に移動する。

disableProdBuild

「disableProdBuild」

意味

リリース用ビルドの呼び出し /updatesリリース用ビルドの呼び出しはこのチャンネルでは実行されますが、プロダクション用の更新はこのチャンネルではブロックされます。

対処

このチャンネルでプロダクション用の更新を許可する場合は、間違いだった場合、または正しいチャンネルにプロダクション用のビルドをルーティングする場合はどうするか。

disableDevice

「disableDevice」

意味

実機(スマートフォンやタブレット)がブロックされた理由

対処

間違って実機の更新をブロックした場合は、実機の更新を許可する、またはブロックを維持し、実機を別のチャンネルにルーティングする。

disableEmulator

disableEmulator

エミュレータの更新が無効化されています

エミュレータが使用されているが、エミュレータの更新はこのチャンネルでは無効化されています。

どうすればいいか

テストチャンネルでエミュレータの更新を有効化するか、このチャンネルでエミュレータをブロックし、エミュレータの検証用に別のチャンネルを使用する

Auto-update compatibility rules

Auto-updateの互換性ルール

Auto-updateの互換性ルール

disableAutoUpdate

disableAutoUpdate

Auto-updateはチャンネル互換性ポリシーにより無効化されています。

メタデータには auto_update with a matching rule such as major, minor, patch, metadata, または none.

何をするか

自動アップデートポリシーを変更して、望ましいロールアウトを許可します。

これは何を意味するか

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

何をするか

ネイティブベースライン以上のバンドルを公開するか、チャンネルでネイティブ保護を無効にするか

これは何を意味するか

チャンネルは「 以上のバージョンを必要とします、」が必要ですが、デバイスのネイティブバージョンはその閾値以下です。 min_update_versionprotectedTokens

何をするか

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

意味

チャンネルはメジャーバージョンジャンプをブロックします。たとえば 1.x.x 何をするか 2.x.x.

メジャーロールアウト計画とチャンネル戦略を合わせるか、このトラックでメジャージャンプを許可するかを決定します。詳しくは

共通の更新問題 「disableAutoUpdateToMinor」のセクション.

disableAutoUpdateToMinor

意味

__CAPGO_KEEP_1__

__CAPGO_KEEP_0__のバージョンジャンプは、デバイスのネイティブベースライン (version_build ) 相対でブロックされます。 1.2.3 例えば 1.3.0.

何をするか

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

何を意味するか

チャンネルは、同じプレフィックスを維持しながらパッチレベル変更をブロックします。 MAJOR.MINOR.PATCH サフィックス変更のみが許可されます。

何をするか

リリースキャデンスをチャンネルポリシーと合わせるか、またはこのトラックのパッチジャンプを許可するか

チャンネル設定

チャンネル設定

バックエンドの拒否:チャンネル設定が欠落しているか不適切であるため。

これは何を意味するか

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

チャンネルに有効にする

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

channelMisconfigured

これは何を意味するか

チャンネルは不正に設定されています

チャンネル設定の不正 disable_auto_update: "version_number" しかし、バンドルはnullなので、__CAPGO_KEEP_0__はどのデバイスがアップデートするか決定できません。 min_update_version バンドルはnullなので、Capgoはどのデバイスがアップデートするか決定できません。

何をする?

そのルールの欠落した設定を埋め合わせるか、シンプルな自動アップデートモードに切り替えるか。

NoChannelOrOverride

「NoChannelOrOverride」

何を意味する?

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

何をする?

デフォルトのチャネルをダッシュボードで設定するか、ビルドで設定する。 defaultChannel バンドル配信と暗号化

「バンドル配信と暗号化」

バンドル配信と暗号化

バックエンド拒否: Capgo がバンドルを提供または暗号化できません。

これは何?

Capgo が有効な署名ダウンロード URL を生成できず、メニューのフォールバックが利用できませんでした。

何をしますか?

バンドルを再アップロードし、メニューを再生成し、R2 またはパブリック バンドル設定を検証してください。

これは何?

チャンネルに割り当てられたバンドルにはダウンロード可能なコンテンツが存在しません: なし、なし、なし、ビルトインバージョンではありません、メニューのエントリもありません。 external_url何をしますか? r2_pathバンドルを再アップロードし、メニューを再生成し、R2 またはパブリック バンドル設定を検証してください。

Section titled “cannotGetBundle”

バンドルを再構築して再アップロードし、バンドルが実際のファイル内容を持つことを確認します。

意味は

デバイスの暗号化用公開鍵が、バンドルを暗号化するために使用した鍵と一致しないことです。 device_key_id, bundle_key_idメタデータには version.

、および

Compare device and bundle key IDs in the console. Publish with the same key and matching CLI/plugin versions.

コンソールでデバイスとバンドルの鍵IDを比較し、同じ鍵と一致する__CAPGO_KEEP_0__/プラグインのバージョンで公開します。

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

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

customIdBlockedというセクション

アプリはカスタムデバイスIDを送信しましたが、このアプリはカスタムIDを受け付けないので、IDは無視されます。

何をするか

カスタムIDを送信しない、またはカスタムIDを送信する必要があるワークフローがあればカスタムIDを有効にする

何を意味するか

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 __CAPGO_KEEP_1__のライブ更新はローカルファイルを必要とし、

生産環境では推奨されません。

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

「backend_refusal」セクションの意味は何ですか。

バックエンドはv4のアップデートプラグインをサポートしていないため、v4のアップデートプラグインは使用できません。

何をするか

Upgrade plugin and CLI to v5+ (prefer v8) with Capacitor v5+, rebuild, and republish bundle metadata.

ライフサイクル更新

ライフサイクル更新

通常の更新フロー、有効化、ロールバック用のデバイス側イベントです。

ping

ping

何を意味するか

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

get

get

何を意味するか

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

意味は

デバイスにバンドルが有効化されました。

意味は

バンドルがデバイスに有効化できませんでした。

何をするか

nativeログを確認して npx @capgo/cli@latest app debug バンドルの整合性、パス、 notifyAppReady フローを確認してください。

意味は

__CAPGO_KEEP_0__

delete

削除

削除とは

__CAPGO_KEEP_0__

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

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

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__

download_10

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__

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

意味は

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

意味は

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

意味は

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

意味は

A new bundle has been downloaded — __CAPGO_KEEP_0__% has been completed.

download_60

__CAPGO_KEEP_1__

What it means

A new bundle has been downloaded — __CAPGO_KEEP_0__% has been completed.

download_70

__CAPGO_KEEP_1__

What it means

A new bundle has been downloaded — __CAPGO_KEEP_0__% has been completed.

download_80

__CAPGO_KEEP_1__

What it means

A new bundle has been downloaded — __CAPGO_KEEP_0__% has been completed.

download_90

__CAPGO_KEEP_1__

What it means

A new bundle has been downloaded — __CAPGO_KEEP_0__ indicated at 90%.

download_complete

ダウンロード完了

意味

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

意味

デバイスがアップデートマニフェストの取得を開始しました。

意味

デバイスがアップデートマニフェストの取得を完了しました。

意味

The device started downloading the bundle archive.

意味

The device finished downloading the bundle archive.

意味

One manifest entry failed to download. version_name uses version:fileName アセットを識別するために使用します。

何をするか

ブロックされたまたは欠落しているアセットを修正し、再度マニフェストを生成し、バンドルをアップロードしてください。

What it means

__CAPGO_KEEP_0__のチェックサム検証に失敗しました。

What to do

CLIのバンドルを最新のバージョンで再アップロードし、メニifestのチェックサムを検証してください。

__CAPGO_KEEP_0__のBrotliのデコードに失敗しました。

What it means

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

What to do

Section titled “download_fail”

__CAPGO_KEEP_0__のダウンロードに失敗しました。

What to do

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

update_fail

update_fail

What it means

The bundle installed but the app never called notifyAppReady, so Capgo rolled back.

What to do

Call notifyAppReady() after your app finishes bootstrapping. Native log text notifyAppReady was not called, roll back current bundle maps to this code.

What it means

The downloaded bundle failed checksum validation. Common causes: CRC32 vs SHA256 mismatch from an old CLI upload, or encryption key mismatch on older plugins that surface decryption failure as checksum failure.

What to do

Re-upload with a current CLI/plugin (SHA256). If using encryption, verify the app public key matches the upload key, or upgrade to plugin 8.3.0+ for explicit keyMismatch Re-upload with a current __CAPGO_KEEP_0__/plugin (SHA256). If using encryption, verify the app public key matches the upload key, or upgrade to plugin 8.3.0+ for explicit

decrypt_fail

errors.

セクション「decrypt_fail」

What it means

ダウンロードしたバンドルは暗号化に失敗しました。

What to do

Section titled “windows_path_fail”

What it means

What to do

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

canonical_path_fail

canonical_path_fail

What it means

ファイルパスがcanonicalではないため、zip内に存在します。

What to do

アーカイブのパス生成をアップロードする前に修正する必要があります。

directory_path_fail

directory_path_fail

What it means

zipには無効なディレクトリパスが含まれています。

What to do

アップロードする前にアーカイブの構造を修正する必要があります。

意味

ダウンロードしたアーカイブを展開できませんでした。

対処法

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

意味

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

対処法

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

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

「アプリの健康状態とWebViewのイベント」セクション

デバイス側のクラッシュ、メモリ、WebView診断。ダッシュボードで常にメタデータJSONを検査する。

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

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

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

アプリが前景に移動しました。

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

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

何をしましょうか?

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

意味

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

対処方法

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

意味

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

対処方法

LogcatでANRトレースを検査し、更新後メインスレッドのブロッキングワークを削減してください。

意味

OSはメモリ圧力のためにアプリを殺しました。

何をするか

アップデートの有効化後、利用可能なメモリのシグナルを検索するためのメタデータを検査し、メモリ使用量を削減してください。

何を意味するか

OSはアプリを過剰なリソース使用による殺害でした。

何をするか

リソースのタイプまたはプラットフォームの理由でアプリを殺したOSのメタデータを検査してください。

app_initialization_failure

「初期化失敗」

何を意味するか

アップデートまたは起動は正常な実行時間が得られる前に失敗しました。

何をするか

エラーが発生したステップとエラーメッセージのメタデータを検査してください。

これは何を意味するか

iOS メモリ警告

何をするか

メタデータのメモリコンテキストを検査し、更新後にピーク使用量を削減してください。

これは何を意味するか

WebView での未処理の JavaScript エラーです。メタデータにはメッセージ、ソース URL、行番号、列番号、スタックが含まれています。

何をするか

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

__CAPGO_KEEP_0__

Unhandled promise rejection in the WebView.

__CAPGO_KEEP_1__

Capture async failures with JS and native error reporting.

webview_resource_error

__CAPGO_KEEP_2__

What it means

__CAPGO_KEEP_3__

What to do

__CAPGO_KEEP_4__

__CAPGO_KEEP_5__

__CAPGO_KEEP_6__

何をする

__CAPGO_KEEP_0__を使用してメタデータ指示とブロックされたURIの詳細を調整します。

何を意味するか

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

何をする

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

何を意味するか

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

何をする

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

意味

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

対処法

アクティブなバンドルとページURLをメタデータから確認してください。

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

意味

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

What it means

ネイティブアプリストアバージョンが変更され、ネイティブとウェブのバンドル変更を分離しました。

getChannel

getChannel

What it means

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

setChannel

setChannel

What it means

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

uninstall

uninstall

What it means

アプリがアンインストールされましたまたはCapgoデータがクリアされました。

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

Capgoのクラウドユーザー向けにデバッグコマンドがあります。

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

__CAPGO_KEEP_1__

Xcodeでログを探す

Androidのネイティブログ

Androidネイティブログのセクション

Android Studioでログを探す

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

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

__CAPGO_KEEP_0__をデバイス上で見つける

__CAPGO_KEEP_0__をデバイス上で見つける

iOSでデバッグするには、コンピューター上でアプリをダンプする必要があります。以下のように実行できます。

Xcodeには、iOSデバイスにインストールされた開発者用アプリのファイルシステムを検査するための組み込み機能があります。 XcodeのWindowメニューのDevices and Simulatorsオプションを表示する

このように実行するには:

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

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

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

ダウンロードした xcappdata ファイルに右クリックし、「フォルダの内容を表示」を選択してフォルダを開きます。

アプリデータフォルダを開くと、ドキュメント、ライブラリ、tmp などのいくつかのフォルダが表示されます。

iOS アプリコンテナフォルダ構造が表示され、ドキュメントとライブラリフォルダが表示されます。

アプリのバージョンは 2 つのフォルダ内にあります。

アプリの再起動後は必要です。

library/NoCloud/ionic_built_snapshots 必要です。

必要です。 documents/versions ホット リロードのために

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

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

Android Studio のデバイス ファイル エクスプローラーがアプリ データ ディレクトリを表示しています

次に versions __CAPGO_KEEP_0__を参照してください

iOSの生産時クラッシュログを理解する

iOSの生産時クラッシュログを理解する

デバッグから続けて

デバッグから続けて

Capacitorを使用している場合 Capacitor Capacitorを使用してnativeプラグインの作業を計画する場合、Capacitorを接続する必要があります @capgo/capacitor-updaterを使用します。 @capgo/capacitor-updaterのnative capabilityを使用します。 Capgo プラグイン ディレクトリ Capgo プラグイン ディレクトリの製品ワークフロー Capacitor プラグイン (Capgo製造) Capacitor プラグインの実装詳細 (Capgo製造) プラグインの追加または更新 プラグインの追加または更新の実装詳細 イオニック エンタープライズ プラグインの代替 イオニック エンタープライズ プラグインの代替の製品ワークフロー