メインコンテンツにジャンプする

一般的な更新問題

GitHub

更新チェックが失敗した場合、Capgoは通常Capgoとともに error codeと message in the /updates response. このページでは、最も一般的なエラーと最速の修正方法について説明しています。

  • no_new_version_available 正常な状態であり、エラーではありません。
  • 多くの “更新が見つかったが適用されなかった” の報告は、キャッシュの遅延ではなく、ポリシー/構成の拒否であることが多いです。特に、response に明示的な __CAPGO_KEEP_0__ が含まれている場合が多いです。 error code.
  • 問題を再現する際に使用して、リクエスト/レスポンスの詳細を確認してください。 npx @capgo/cli@latest app debug Common failure codes

Section titled “Common failure codes”

Section titled “provider_infrastructure_request_blocked”

provider_infrastructure_request_blocked

Section titled “Read this first”

原因

アプリが ブロックプロバイダインフラストラクチャリクエスト 有効になっており、リクエストはGoogleまたはAppleのデータセンターIP範囲から発信されたものです。 Capgo はこれらのリクエストを /updates, /stats, /channel_self でブロックし、プロバイダ発信トラフィックをデバイストラフィックとして扱うのを防ぎます。

修正

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

新しいアプリでは、この保護がデフォルトで有効になっています。設定が導入される前に作成されたアプリでは、有効にするまで自動更新を無効にします。

詳細

  • /updates 更新プログラムのレスポンス契約を維持し、HTTP 200。 そのボディには error, message, kind: "blocked"provider ("google""apple").
  • /stats または /channel_self429 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 は、デバイスがベースライン old: 0.0.0 を報告することを意味します。したがって、メジャーアップグレードは拒否されます。 0.0.0解釈

バックエンドは、デバイスのベースラインとターゲットのメジャーバージョンを比較します。

ターゲットが old の場合、ベースラインのメジャーバージョンは version.

  • __CAPGO_KEEP_0__ 1.0.1でなければなりません。 1 (例えば 1.0.0).
  • 対象が 10.0.1, 基準のメジャーが 10 (例えば 10.0.0).

修正オプションA(推奨):デバイスの基準メジャーを合わせる

設定 plugins.CapacitorUpdater.versioncapacitor.config.* その メジャー バンドルのメジャー 1.0.01.0.1, 10.0.0 (例えば 10.0.1).

次に、インストール済みアプリにこの設定を適用してください:

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

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

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

関連ドキュメント:

disable_auto_update_to_minor / disable_auto_update_to_patch

「disable_auto_update_to_minor / disable_auto_update_to_patch」セクション

原因

チャネルポリシーが厳格であるminor または patchより大きいアップデートが提示されている場合。

  • minor ターゲットバンドルのメジャーまたはマイナーバージョンがデバイスのネイティブベースラインと異なる場合、ブロックされます。version_build例えば。 1.2.3 -> 1.3.0 ブロックされます。
  • patch メジャー、マイナー、またはパッチ番号の変更は許可されません。 version_build. ただし、サフィックスの変更は許可されます。たとえば、 MAJOR.MINOR.PATCH または 1.0.0-beta.1 -> 1.0.0-beta.2 は同じままです。 1.0.0+build.1 -> 1.0.0+build.2.

または

  • は同じままです。
  • change channel policy in dashboard/CLI.

関連ドキュメント:

原因

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

解決策

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

関連ドキュメント:

原因

チャンネルはnative基準以下のダウングレードを防止します。

対策

  • native基準以下のダウングレード保護を無効にするチャンネルを選択する、またはnative基準以上のバンドルバージョンをアップロードする。
  • 関連ドキュメント

バージョン対象: 自動ダウングレード防止

cannot_update_via_private_channel

原因

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

対策

nativeバージョン下の更新を実行できない

  • 別のチャンネルを使用して、自身の割り当てを有効にします、または
  • チャンネルを公開 / 自身の割り当てを有効にします。

関連するドキュメント:

原因

デバイスのベースラインバージョンが欠落している (unknown)または 有効な semver.

修正

  • plugins.CapacitorUpdater.version に設定します。 バージョン管理規則1.2.3.
  • ネイティブアプリをSyncし、再構築する。

関連ドキュメント:

原因

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

修正

  • アップグレード @capgo/capacitor-updater.
  • 実行 npx cap sync.
  • 再構築とネイティブアプリの再インストール。

原因

チャンネルがそのプラットフォームの更新を無効にしている。

解決策

  • チャンネルのプラットフォームのスイッチを有効にします。

原因

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

解決策

  • チャンネルのオプションをテスト対象と合わせます。allow_prod, allow_dev, allow_device, allow_emulator原因

key_id_mismatch

key_id_mismatch

原因

アプリケーション用の暗号化キーとデバイスのキーが異なります。

対処法

  • アプリケーション設定とバンドル暗号化ワークフローで使用する暗号化キー/公開キーを同じにします。

no_channel / null_channel_data

no_channel / null_channel_data

原因

デバイスに有効なチャネルが解決されませんでした。

対処法

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

関連するドキュメント:

チャンネル

「on_premise_app」 on_premise_app原因

  1. App ID does not exist in Capgo これは3つの状況で発生します。 app_id アプリIDは__CAPGO_KEEP_0__に存在しません。
  2. — the app exists but is configured for self-hosted updates, so the Capgo cloud endpoint refuses to serve it.
  3. 組織プランがキャンセルされました。 — アプリの組織が有効なサブスクリプションを持っていないため、

よくある間違い

タイプミスが plugins.CapacitorUpdater.appId ( capacitor.config.ts) or a mismatch with the app ID registered in the Capgo dashboard. The backend cannot distinguish “unknown app” from “on-premise app”, so it returns the same error code.

アプリIDが

  • に登録されている app_id matches exactly what is shown in the Capgo dashboard (case-sensitive).
  • 修正 npx @capgo/cli@latest app add.
  • Capgoダッシュボードに表示されている plugins.CapacitorUpdater.updateUrl to your self-hosted update endpoint instead of the Capgo cloud URL.
  • 計画が期限切れの場合、再契約または計画をアップグレードしてください。
  1. ビルド用のアプリIDとチャネルが正しいことを確認してください。
  2. 確認 CapacitorUpdater.version インストール済みのネイティブアプリのバージョンと一致します。
  3. チャネルポリシー(disable_auto_update")が意図したロールアウトと一致していることを確認してください。
  4. プラットフォーム/ビルドのターゲット設定がこのデバイスを許可していることを確認してください。
  5. 実行 npx @capgo/cli@latest app debug and read backend error code.

さらに助けが必要ですか?

Need more help?

一般的なアップデート問題から続きます

一般的なアップデート問題

@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-アップデートを使用して @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-アップデートを使用してネイティブ機能を実装するには、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-アップデートと接続します。 @__CAPGO_KEEP_0__ プラグインディレクトリ Using @capgo/capacitor-updater for the native capability in Using @capgo/capacitor-updater, Capgo Plugin Directory @Capgo Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, プラグインの追加または更新 プラグインの追加または更新の実装詳細について イオニック エンタープライズ プラグインの代替 イオニック エンタープライズ プラグインの製品ワークフローについて