Skip to content

共通の更新問題

GitHub

When an update check fails, Capgo usually returns an error code and a message in the /updates response. This page explains the most common failures and the fastest fixes.

  • no_new_version_available is a normal state, not a failure.
  • Many “update found but not applied” reports are policy/configuration refusals rather than cache lag, especially when the response includes an explicit error code.
  • 問題を再現する際に使用して、リクエスト/レスポンスの詳細を確認してください。 npx @capgo/cli@latest app debug 一般的なエラーコード

provider_infrastructure_request_blocked

原因

アプリが

プロバイダーインフラストラクチャリクエストをブロック 有効になっており、GoogleまたはAppleのデータセンターIP範囲から発信されたリクエストが発生したためです。 __CAPGO_KEEP_0__はこれらのリクエストを enabled and the request originated from a known Google or Apple datacenter IP range. Capgo blocks these requests on /updates, /statsブロック /channel_self プロバイダー発信のトラフィック

修正

  • 物理デバイスから通常のユーザー ネットワーク上でアップデートを再現してください。
  • この保護が有効になっている間は、更新者、統計、チャネル自体のチェックのためにクラウドホストされたプローブまたはプロバイダ データセンター ランナーの使用を避けてください。
  • もしもそのトラフィックが意図的であれば、 情報 タブを開いて プロバイダ インフラストラクチャ リクエストをブロックテストが完了したら再度有効にします。

新しいアプリには、この保護が有効になっている状態で作成されます。設定が導入される前に作成されたアプリは、保護が有効になっている状態で作成されるまで、有効になっていません。

レスポンス詳細

  • /updates 更新者レスポンス契約を維持し、HTTP 200レスポンス本体には error, message, kind: "blocked"、または provider ("google" 戻り HTTP "apple").
  • /stats 同じエラー __CAPGO_KEEP_0__ と共に /channel_self タイトル付きセクション “disable_auto_update_to_major” 429 with the same error code. Treat this as an intentional policy block, not a transient retry condition.

)、およびターゲットバンドルのメジャーバージョンがデバイスのベースラインバージョンより上です。

典型的な症状disable_auto_update = major

デバイスがベースラインを報告します

version: 1.0.8 with old: 0.0.0 means 0.0.0__CAPGO_KEEP_0__

__CAPGO_KEEP_1__

バックエンドは、デバイスのベースラインとターゲットのメジャーバージョンを比較します。 old バージョンを解釈する方法 version.

  • ターゲットのメジャーバージョンが、デバイスのベースラインのメジャーバージョンと等しい場合 1.0.1ターゲットのメジャーバージョンが、デバイスのベースラインのメジャーバージョンより大きい場合 1 例えば、ターゲットのメジャーバージョンが 2 である場合、デバイスのベースラインのメジャーバージョンは 2 以上である必要があります。 1.0.0).
  • ターゲットのメジャーバージョンが、デバイスのベースラインのメジャーバージョンより小さい場合 10.0.1例えば、ターゲットのメジャーバージョンが 1 である場合、デバイスのベースラインのメジャーバージョンは 1 以下である必要があります。 10 修正オプション A (推奨): デバイスのベースラインのメジャーバージョンをターゲットのメジャーバージョンと合わせる 10.0.0).

Set

__CAPGO_KEEP_1__ plugins.CapacitorUpdater.version in capacitor.config.* そのため __CAPGO_KEEP_0__ 提供するバンドル __CAPGO_KEEP_0__ と同じメジャーをマッチさせる (例えば 1.0.0 のため 1.0.1, 10.0.0 のため 10.0.1).

次に、インストール済みアプリにこの設定を適用する:

  1. 実行 npx cap sync.
  2. ネイティブアプリを再構築して再インストールする。

オプション B: チャンネルポリシーを緩和する

チャンネル設定でクロスメジャーアウターアップデートを許可する (そのロールアウト戦略が意図的である場合に限り)。

関連ドキュメント:

原因

チャンネルポリシーは、提供される更新よりも厳しく (minor または patch) なので、ターゲットバンドルのメジャーまたはマイナーバージョンがデバイスのネイティブベースラインと異なる場合にブロックされます (

  • minor 。例えば:version_buildブロックされます。 1.2.3 -> 1.3.0 メジャー、マイナー、またはパッチ番号の変更はすべてブロックされます。
  • patch のみのサフィックス変更が許可されます。 version_buildblocks when the target bundle has a different major or minor than the device native baseline ( MAJOR.MINOR.PATCH 変更されないものとして 1.0.0-beta.1 -> 1.0.0-beta.2 または 1.0.0+build.1 -> 1.0.0+build.2.

修正

  • 現在のポリシーと互換性のあるバンドルをアップロードする、または
  • ダッシュボード/CLIでチャネルポリシーを変更する。

関連ドキュメント:

原因

チャネルはメタデータベースのターゲットを使用し()、デバイスのベースラインは必要なものより下version_number修正 min_update_version.

Related docs:

  • デバイスのベースライン (CapacitorUpdater.version) をインストール済みのネイティブアプリのバージョンと合わせる、または
  • 調整する min_update_version / チャンネル戦略。

関連ドキュメント:

原因

チャンネルがネイティブベースライン以下のダウングレードを防止しています。

修正

  • ネイティブベースライン以上のバンドルバージョンをアップロードする、またはそのチャンネルで “under native” ダウングレード保護を無効にする。
  • Channels: Disable Auto Update strategies

関連ドキュメント:

原因

選択中/デフォルトのチャネルは、デバイスの自己割り当てを許可していません。

修正

  • 自己割り当てを有効化された別のチャネルを使用するか、
  • チャネルを公開 / 自己割り当てを有効化する

関連ドキュメント:

原因

デバイスのベースライン バージョンが欠落しています (unknown) または不正な semver 修正.

設定

  • 有効な semver plugins.CapacitorUpdater.version に設定 ネイティブ アプリを同步して再構築します。 1.2.3.
  • 関連ドキュメント:

チャンネル: バンドル バージョニングとチャンネル

原因

アップデートプラグインのバージョンが古いため、現在のバックエンドの要件に適合していません。

解決

  • アップグレード @capgo/capacitor-updater.
  • 実行 npx cap sync.
  • ネイティブアプリを再構築してインストールしてください。

disabled_platform_ios / disabled_platform_android

非対応のプラットフォーム

原因

チャンネルでそのプラットフォームの更新が無効になっています。

解決

  • チャンネルでプラットフォームの切り替えを有効にします。

disable_prod_build / disable_dev_build / disable_device / disable_emulator

「disable_prod_build / disable_dev_build / disable_device / disable_emulator」セクション

原因

チャンネルは現在のビルドタイプまたは実行時ターゲットを許可していません。

修正

  • チャンネルオプション (allow_prod, allow_dev, allow_device, allow_emulator) をテストターゲットと合わせて設定してください。

原因

アプリのバンドル暗号化キーとデバイスキーが異なります。

修正

  • アプリの設定とバンドル暗号化ワークフローで同じ暗号化キー/公開キーを使用してください。

原因

__CAPGO_KEEP_0__

修正

  • デバイスのデフォルトチャンネルをクラウドに設定するか、
  • テストビルドの場合、または defaultChannel デバイスにチャンネルオーバーライドを割り当てる。
  • 関連ドキュメント:

チャンネル

on_premise_app

原因

バックエンドからHTTP 429が返されました

Related docs: __CAPGO_KEEP_1__ on_premise_app. このような状況が 3 つあります:

  1. Capgo 内のアプリ ID が存在しない場合app_id デバイスから送信されたデータが登録されていないため、バックエンドにはその記録がない。
  2. アプリがオンプレミスとしてマークされている — the app exists but is configured for self-hosted updates, so the Capgo cloud endpoint refuses to serve it.
  3. アプリが存在するが、自社ホストの更新設定になっているため、__CAPGO_KEEP_0__ クラウドエンドポイントはそのアプリを提供しない。 組織プランがキャンセルされた

アプリの組織が有効なサブスクリプションを持っていないため。 plugins.CapacitorUpdater.appId よくある間違い capacitor.config.tsアプリ ID についてのタイプミス (「(」や「)」) または Capgo ダッシュボードに登録されているアプリ ID と一致しない場合。バックエンドでは「未知のアプリ」と「オンプレミスアプリ」を区別できないため、同じエラー code を返す。

修正

  • 確認する app_id Capgo ダッシュボードに表示されているものと完全に一致することを確認してください (大文字小文字に注意してください)。
  • __CAPGO_KEEP_0__ アプリがまだ登録されていない場合、 npx @capgo/cli@latest app add.
  • __CAPGO_KEEP_0__ クラウド URLの代わりに、自社の更新エンドポイントを設定します。 plugins.CapacitorUpdater.updateUrl Capgo プランが期限切れの場合、プランを更新またはアップグレードしてください。
  • クイック診断チェックリスト

「クイック診断チェックリスト」のセクション

ビルド用のアプリIDとチャネルが正しいことを確認してください。
  1. 確認
  2. __CAPGO_KEEP_0__ インストール済みのネイティブアプリのバージョンと一致することを確認してください。 CapacitorUpdater.version クイック診断チェックリスト
  3. チャンネルポリシーを確認 (disable_auto_update) が予定されたロールアウトと一致します。
  4. プラットフォーム/ビルドのターゲットを切り替えることが許可されているこのデバイスを確認します。
  5. 実行 npx @capgo/cli@latest app debug バックエンドエラーを読み取ります code。

Cloudflareを使用している場合 一般的な更新問題 native プラグインの作業を計画するには、を接続する必要があります。 @capgo/capacitor-updaterを使用します。 @capgo/capacitor-updaterを使用してnative capabilityを使用する場合、 Capgo プラグイン ディレクトリ Capgo プラグイン ディレクトリを使用して製品ワークフローを実装する場合、 Capacitor プラグインはCapgoによって提供されます。 Capacitor プラグインはCapgoによって提供される場合の実装詳細、 プラグインを追加または更新する プラグインを追加または更新する場合の実装詳細、 Ionic Enterprise プラグインの代替 Ionic Enterprise プラグインの代替を使用して製品ワークフローを実装する場合。