コンテンツにジャンプ

デバッグ

GitHub

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

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

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

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

何が起こっているのか

Capgo はGoogleまたはクラウドインフラストラクチャから見えるように見えるトラフィックを検出しました。4時間以内にアップデートされたものは無視されるため、BOTトラフィックは有料デバイスとしてカウントされません。

何をするべきか

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

意味は?

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

何をする?

正常なユーザーネットワーク上の物理機からリトライしてください。プロバイダが生成したトラフィックが意図的である場合、テストのために一時的に プロバイダインフラストラクチャリクエストをブロックする アプリの 情報 タブから無効にし、テストが終わった後再度有効にします。新規アプリではこの設定が有効になりますが、既存のアプリでは以前の無効設定が維持されます。

意味は?

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

何をするか

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

何を意味するか

デバイスは、チャンネルに対して最新のバンドルが用意されているため、この状態は正常な状態であり、エラーではありません。

何を意味するか

デバイスは、短期間内に多数の更新またはチャンネル要求を送信したため、制限されました。

何をするか

レンダリングループ内で更新APIを呼び出すのを止めましょう。ユーザーアクションからのみ呼び出し、 setChannel / getChannel set defaultChannel in capacitor.config.

バックエンドの拒否は、無効なネイティブ バージョン メタデータによって引き起こされます。

これは何を意味しますか

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

何をしますか

Set plugins.CapacitorUpdater.version バージョン形式の検証ツール 、そしてネイティブ アプリを再構築してインストールしてください。設定

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

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

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

disablePlatformIos

disablePlatformIos

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

このチャンネルではiOSの更新がブロックされていますが、デバイスはiOSを実行しています。

何をしましょうか?

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

disablePlatformAndroid

disablePlatformAndroid

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

このデバイスはAndroidを実行していますが、このチャンネルではAndroidの更新がブロックされています。

何をしましょうか?

Androidをこのチャンネルに追加するか、Androidビルドを特定のチャンネルにルーティングする。

disablePlatformElectron

「disablePlatformElectron」

意味は

このチャンネルではElectronの更新が無効化されているが、デバイスはElectronを実行している。

対処する方法

このチャンネルでElectronが無効化されている場合は、Electronを有効化するか、Electronビルドを特定のチャンネルにルーティングする。

disableDevBuild

「disableDevBuild」

意味は

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

対処する方法

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

disableProdBuild

「disableProdBuild」

これは何を意味しますか

生産用ビルドの呼び出し /updates, しかし、生産用の更新はこのチャンネルでブロックされています。

何をするべきですか

この事故が偶然だった場合に生産用の更新をチャンネルに許可するか、または生産用のビルドを正しいチャンネルにルーティングするかを選択します。

これは何を意味しますか

実際のスマートフォンまたはタブレットがブロックされました。実際のデバイスの更新を許可する場合はこの事故が偶然だった場合、または制限を維持し、実際のデバイスを別のチャンネルにルーティングするかを選択します。

何をするべきですか

「disableEmulator」というセクション

disableEmulator

debugging

これは何を意味しますか

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

何をするか

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

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

何を意味するか

自動更新はチャンネル互換性ポリシーによって無効になっています。メタデータには auto_update 、または major, minor, patch, metadata、 none.

何をするか

チャンネル自動更新ポリシーを変更して、意図したロールアウトを許可します。

disableAutoUpdateUnderNative

disableAutoUpdateUnderNative

意味

デバイスのベースラインより古いバンドルを持つチャンネルがあり、ネイティブ版のバージョンより古いバンドルを送信するのをブロックしています。

対処

ネイティブ版のベースライン以上のバンドルを公開するか、チャンネルでネイティブ保護を無効化する必要があります。

disableAutoUpdateMetadata

disableAutoUpdateMetadata

意味

チャンネルは min_update_versionが必要ですが、デバイスのネイティブ版のバージョンはその閾値以下です。

対処

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

これは何を意味するか

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

何をするか

メジャーリリース計画とチャンネル戦略を合わせるか、またはこのトラックでメジャージャンプを許可する。See 共通の更新問題.

これは何を意味するか

チャンネルは、デバイスのネイティブベースライン(version_build )に対するマイナーバージョンジャンプをブロックします。たとえば 1.2.3 ~1~ 1.3.0.

~2~

このチャンネル戦略を、ミニロールアウト計画と合わせたり、またはこのトラックにミニジャンプを許可したりしてください。

disableAutoUpdateToPatch

~3~

~4~

チャンネルはパッチレベル変更をブロックし、同じ~5~を維持します。ただし、~6~変更のみが許可されます。 MAJOR.MINOR.PATCH ~7~

~2~

チャンネルポリシーとリリースカレンダを合わせたり、またはこのトラックにパッチジャンプを許可したりしてください。

~8~

~9~

~10~

Section titled “cannotUpdateViaプライベートチャンネル”

What it meansallow_device_self_set デバイスはプライベートチャンネルに自動で登録しようとしたが、チャンネルはプライベートチャンネルでないため失敗した (

is false) である。

What to do allow_device_self_set チャンネルをパブリックチャンネルに変更するか、チャンネルに「有効」に設定する。

channelMisconfigured

チャンネル設定ミス

Section titled “cannotUpdateViaプライベートチャンネル”

チャンネルは disable_auto_update: "version_number" ですが、 min_update_version Capgo は null であるため、どのデバイスがアップデートするかを決定することができません。

何をするか

そのルールの欠落している設定を埋め合わせるか、より単純な自動更新モードに切り替える。

何を意味するか

デフォルトのチャネルが設定されていないか、デバイスにチャネルオーバーライドが設定されていない。

何をするか

デフォルトのチャネルをダッシュボードで設定するか、 defaultChannel ビルドで設定する。

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

これは何を意味しますか

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

何をするべきですか

バンドルを再アップロードし、manifestを再生成し、R2またはパブリックバンドルの設定を確認してください。

これは何を意味しますか

チャンネルに割り当てられたバンドルにはダウンロード可能なコンテンツがありません: external_url, r2_path,

何をするべきですか

、内部バージョンではありません、manifestエントリもありません。

これは何を意味しますか

デバイスの暗号化公開鍵は、バンドルの暗号化に使用された鍵と一致しません。 device_key_id, bundle_key_idメタデータには version.

、

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

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

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

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

これは何を意味しますか

「customIdBlocked」のセクション

、

送信しない、または、ワークフローがそれらを必要とする場合にのみ、カスタムIDを有効にする。

blocked_by_server_url

「blocked_by_server_url」

これは、__CAPGO_KEEP_0__の設定で、WebViewがローカルバンドルファイルではなく、リモートURLを読み込むことを意味します。__CAPGO_KEEP_1__のライブアップデートはローカルファイルを必要とし

server.url Capgoの設定でCapacitorがセットされている場合、ウェブビューはローカルファイルではなくリモートURLを読み込むようになります。Capgoライブアップデートはローカルファイルを必要とします。 server.url 何をするか

何を実行するか

__CAPGO_KEEP_0__は、バックエンドからの拒否またはデバイス側の統計として表示される可能性があります。 server.url 生産用ビルドと、更新パッケージをローカルに保持する。 この code は、バックエンドからの拒否またはデバイス側のステータスとして表示される可能性があります。

これは、__CAPGO_KEEP_0__の設定で、WebViewがローカルバンドルファイルではなく、リモートURLを読み込むことを意味します。__CAPGO_KEEP_1__のライブアップデートはローカルファイルを必要とし

アップデーター プラグインは v4 ですが、バックエンドではこれを認識できません。

何を実行するか

プラグインとCLIをv5+ (v8を優先) にアップグレードし、Capacitor v5+ で再構築し、再公開するバンドルメタデータ。

ライフサイクル更新

「ライフサイクル更新」

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

何を意味するか

内部テストアクションで統計パイプラインを検証する。

何を意味するか

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

何を意味するか

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

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

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

何をしましょうか?

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

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

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

アップデータの意味

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

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

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

デバイス上のダウンロードの進行状況、アーカイブの検証、インストールのエラーに関するイベント

アップデータの意味

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

アップデータの意味

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

これは何を意味しますか

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

これは何を意味しますか

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

これは何を意味しますか

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

これは何を意味しますか

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

これは何を意味しますか

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

これは何を意味しますか

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

これは何を意味しますか

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

これは何を意味しますか

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

download_complete

ダウンロード完了

これは何を意味しますか

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

これは何を意味しますか

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

これは何を意味しますか

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

これは何を意味しますか

デバイスはバンドルアーカイブのダウンロードを開始しました。

これは何を意味しますか

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

これは何を意味しますか

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

何をするか

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

これは何を意味しますか

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

何をするか

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

意味

マニフェストファイルのブロリーデコンパレッションが失敗しました。

何をするか

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

意味

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

何をするか

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

update_fail

update_fail

の意味

アプリが呼び出さなかったため、インストールされたバンドルは notifyAppReady、したがってCapgoはロールバックされました。

対処する方法

アプリが起動した後 notifyAppReady() native log text notifyAppReady was not called, roll back current bundle は次のcodeにマップされます。

checksum_fail

checksum_fail

の意味

ダウンロードしたバンドルがチェックサム検証に失敗しました。一般的な原因:古いCLIのアップロードから生じたCRC32とSHA256の不一致、または古いプラグインで暗号化キー不一致が表面化した暗号化失敗を表すチェックサム失敗

対処する方法

CLI/プラグイン (SHA256) に再アップロードしてください。暗号化を使用している場合、アップロードキーとアプリの公開キーが一致していることを確認し、またはプラグイン 8.3.0+ にアップグレードして明示的な keyMismatch 「decrypt_fail」

decrypt_fail

意味

ダウンロードしたバンドルが暗号化を解除できませんでした。

対処

トラブルシューティング

「windows_path_fail」

ダウンロードしたバンドルが暗号化を解除できませんでした。

Unix パスでバンドルを再構築するか、アップロードする前にアーカイブのパスを正規化してください。

トラブルシューティング

errors.

これは何を意味しますか

zipファイル内のファイルパスはcanonical pathではありません。

何をするべきですか

アップロード前にアーカイブパス生成を修正してください。

これは何を意味しますか

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

何をするべきですか

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

これは何を意味しますか

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

どうすればいいか

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

これは何を意味するか

ダウンロードに失敗したのは、デバイスがメモリが足りないためです。

どうすればいいか

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

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

その意味は何ですか

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

その意味は何ですか

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

その意味は何ですか

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

何をするか

メタデータとネイティブログを検査してください。JSとネイティブエラーのレポートをペアして、失敗したcodeパスを特定してください。

その意味は何ですか

プラットフォーム固有のクラッシュ。メタデータにはプラットフォーム、理由、スタック、プロセス詳細が含まれる。

何をするか

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

何を意味するか

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

何をするか

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

何を意味するか

メモリ圧力の後にOSがアプリケーションを殺した。

何をするか

アップデートアクティベーション後、利用可能なメモリシグナルを検査するためにメタデータを検査し、メモリ使用量を削減する。

これは何を意味する?

OSはアプリケーションが過剰なリソース使用により終了した。

何をする?

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

これは何を意味する?

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

何をする?

失敗したステップとエラーメッセージを検査するためにメタデータを検査する。

これは何を意味しますか

iOS メモリ警告

何をするべきですか

更新後、ピーク使用率を削減するために、メタデータ内のメモリコンテキストを検査する

これは何を意味しますか

ウェブビュー内で発生した未処理のJavaScriptエラー。メタデータにはメッセージ、ソースURL、行番号、列番号、スタックが含まれる

何をするべきですか

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

これは何を意味しますか

ウェブビュー内で発生した未処理のプロミスリジェクション

何をするか

JSとネイティブエラー報告を使用して非同期エラーをキャプチャします。

何を意味するか

ウェブビューのリソースが読み込めませんでした。

何をするか

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

何を意味するか

コンテンツセキュリティポリシーがリソースをブロックしました。

何をするか

メタデータディレクティブとブロックされたURIの詳細を使用してCSPを調整します。

webview_unclean_restart

webview_unclean_restart

Section titled “webview_unclean_restart”

アップデート後、クラッシュループが発生する可能性があるため、前のウェブビュー セッションが適切に終了しなかった可能性があります。

何を実行するか

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

webview_render_process_gone

webview_render_process_gone

Section titled “webview_unclean_restart”

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

何を実行するか

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

webview_content_process_terminated

webview_content_process_terminated

Section titled “webview_unclean_restart”

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

何をするか

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

環境とチャンネルコンテキスト

環境とチャンネルコンテキスト

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

os_version_changed

os_version_changed

何を意味するか

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

native_app_version_changed

native_app_version_changed

何を意味するか

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

Section titled “チャンネルを取得する”

Section titled “チャンネルを取得する”

Section titled “チャンネルを取得する”

Section titled “チャンネルを設定する”

Section titled “チャンネルを取得する”

The app was uninstalled or Capgo data was cleared.

Section titled “アプリをアンインストールする”

Bundle status
  • SUCCESS: アプリをインストールするためのバンドルが完了しました
  • ERROR: インストールまたはダウンロードに失敗しました
  • PENDING: ダウンロード完了、リリース待機中
  • DELETED: バンドルが削除されましたが、統計用に表示され続けます
  • DOWNLOADING: 現在、バンドルをダウンロード中です

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

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

アプリ内で発生しているすべてのイベントを確認し、更新が行われていない場合は解決策を見つけることができます。

iOSネイティブログ

iOSネイティブログ

Xcodeでログを探す

Androidネイティブログ

Androidネイティブログ

Android Studioでログを探す

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

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

__CAPGO_KEEP_0__

__CAPGO_KEEP_1__

__CAPGO_KEEP_4__

__CAPGO_KEEP_5__ __CAPGO_KEEP_6__

__CAPGO_KEEP_7__

  • __CAPGO_KEEP_8__
  • __CAPGO_KEEP_9__
  • __CAPGO_KEEP_10__
  • __CAPGO_KEEP_11__
  • ここでは、ファイルシステムの現在の状態を確認できます。ファイルシステムのスナップショットをダウンロードすることで確認できます。

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

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

ダウンロードしたxcappdataファイルに「パッケージの内容を表示」コンテキストメニューを右クリックすると、フォルダを開くことができます。

このファイルに右クリックし、「パッケージの内容を表示」を選択すると、フォルダを開くことができます。

アプリデータフォルダを開くと、Documents、Library、tmpなどのフォルダが見つかります。

iOSアプリコンテナフォルダ構造がDocumentsとLibraryフォルダを表示しています。

アプリを再起動した後も必要なバージョンが2つのフォルダにあります。

library/NoCloud/ionic_built_snapshots アプリ再起動後は必ず実行する必要があります。

and documents/versions Android

Android

Android

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

  • View > ツールウィンドウ > デバイスファイルエクスプローラーをクリック、またはツールウィンドウバーのデバイスファイルエクスプローラー ボタンをクリックして、デバイスファイルエクスプローラーを開きます。
  • デバイスのドロップダウンリストからデバイスを選択します。
  • パスを開きます。 data/data/APP_NAME/ where Android Studioのデバイスファイルエクスプローラーでアプリデータディレクトリを表示

次に、

フォルダを見つけて、すべてのバージョンを確認します。 versions 知っておいてほしいこと?

iOSの生産環境でのクラッシュログの理解

「iOSの生産環境でのクラッシュログの理解」のセクション

あなたが使用している場合 デバッグ ネイティブプラグインの作業を計画するために使用している場合、デバッグを ネイティブ機能のために@capgo/capacitor-updaterを使用する ネイティブ機能のために@capgo/capacitor-updaterを使用する Capgo プラグイン ディレクトリ Capgo製品ワークフロー向けに Capgo プラグイン ディレクトリ Capacitor プラグインを Capgo で Capgo製品ワークフロー向けに Capacitor プラグインを Capgo で プラグインの追加または更新 プラグインの追加または更新の実装詳細については、 イオニック エンタープライズ プラグインの代替 Capgo製品ワークフロー向けにイオニック エンタープライズ プラグインの代替