コンテンツにスキップ

Common Update Problems

GitHub

更新チェックが失敗した場合、Capgoは通常Capgoとともにエラーを返します。 error codeとエラー message インストール中 /updates レスポンス。 このページでは、最も一般的なエラーと最速の修正方法について説明します。

このページを読む

「このページを読む」
  • no_new_version_available 正常な状態であり、エラーではありません。
  • 「更新が見つかったが適用されなかった」レポートの多くは、キャッシュの遅延ではなく、ポリシー/構成拒否であることが多い、特にレスポンスに明示的な「__CAPGO_KEEP_0__」が含まれている場合に尤もである。 error code.
  • 一般的なエラー コード npx @capgo/cli@latest app debug 「一般的なエラー コード」

「provider_infrastructure_request_blocked」

Section titled “Read this first”

provider_infrastructure_request_blocked

Section titled “Common failure codes”

原因

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

修正

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

新しいアプリでは、この保護機能がデフォルトで有効になっています。設定が導入される前に作成されたアプリでは、この機能が無効になっています。有効にするまでに待つ必要があります。

詳細

  • /updates アップデーターのレスポンス契約を維持し、HTTP 200を返します。 そのボディには error, message, kind: "blocked"provider ("google" 、または "apple").
  • /stats/channel_self または 429 with the same error code. Treat this as an intentional policy block, not a transient retry condition.

disable_auto_update_to_major

__CAPGO_KEEP_0__

原因

チャンネルがメジャーアップグレードをブロックし(disable_auto_update = major")、ターゲットバンドルのメジャーはデバイスのベースラインバージョンより上です。

典型的な症状

version: 1.0.8old: 0.0.0 は、デバイスがベースライン 0.0.0を報告することを意味します。したがって、メジャーアップグレードは拒否されます。

解釈方法

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

  • ターゲットが 1.0.1の場合、ベースラインのメジャーは 1 (例えば) 1.0.0).
  • 対象は 10.0.1, 基準のメジャーは 10 (例えば) 10.0.0).

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

設定 plugins.CapacitorUpdater.versioncapacitor.config.* その メジャー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 メジャー、マイナーやパッチ番号の変更は許可されませんが、サフィックスの変更は許可されます。たとえば、バージョン 1.2.3 から 1.2.4 へのアップデートは許可されますが、バージョン 1.2.3 から 2.0.0 へのアップデートは許可されません。 version_buildサフィックスの変更は許可されます。 MAJOR.MINOR.PATCH バージョン 1.2.3 から 1.2.4 へのアップデートは許可されます。 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 チャンネル: 自動更新戦略を無効にする

Channels: Disable Auto Update strategies

原因

チャンネルは、ネイティブ基準以下のバージョンへのダウングレードを防止します。

対策

  • ネイティブ基準以上のバンドルバージョンをアップロードするか、またはそのチャンネルでダウングレード保護を無効にする必要があります。
  • 関連ドキュメント:

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

cannot_update_via_private_channel

原因

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

対策

デバイスの自己割り当てを許可するようにチャンネルを設定するか、デバイスの自己割り当てを無効にする必要があります。

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

関連するドキュメント:

原因

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

修正

関連するドキュメント:

原因

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

修正

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

原因

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

解決策

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

原因

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

解決策

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

原因

Bundle encryption keyとdevice keyが異なります。

対処法

  • アプリの設定とbundle encryption workflowの公開鍵を同じにしてください。

原因

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

対処法

  • デフォルトのクラウドチャネルを設定してください、または
  • 設定 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.

修正

  • 確認 app_id Capgo ダッシュボードに表示されているものと完全に一致することを確認してください (大文字小文字に注意してください)。
  • アプリがまだ登録されていない場合は、 npx @capgo/cli@latest app add.
  • アプリが意図的にオンプレミスである場合は、__CAPGO_KEEP_0__ クラウドURLの代わりに自社の更新エンドポイントを設定してください 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.

__CAPGO_KEEP_0__

Need more help?

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

セクション「一般的なアップデート問題から続きます」

Capgoを使用して Capgoを使用してネイティブプラグインの作業を計画し、 Capgoアップデート 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, プラグインの追加または更新 プラグインの実装詳細についてはプラグインの追加または更新を参照してください Ionic エンタープライズ プラグインの代替 Ionic エンタープライズ プラグインのワークフローについて