Skip to content

Common Update Problems

GitHub

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

__CAPGO_KEEP_0__

最初に読むこと
  • no_new_version_available 正常な状態であり、失敗ではありません。
  • 「更新ありが適用されていない」報告の多くは、キャッシュの遅延ではなく、ポリシー/構成の拒否です。特に、明示的な応答が含まれている場合、特に error code
  • 使用 npx @capgo/cli@latest app debug 問題を再現する際に、リクエスト/レスポンスの詳細を確認するには

一般的なエラー コード

一般的なエラー コード

原因

アプリケーションは GoogleまたはAppleのデータセンターIP範囲からのリクエストがブロックされます。 Capgo /updates, /stats/channel_self

この保護が有効になっている間、更新、統計、チャンネル自体のチェックのためにクラウドホストされたプローブまたはプロバイダーデータセンターのランナーを使用しないでください。

  • そのトラフィックが意図的である場合、
  • 情報
  • タブを開き、 をオフにします。 ブロック プロバイダーのインフラストラクチャリクエストを再度有効にすると、テストが完了したことを確認します。

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

詳細

  • /updates 更新プログラムのレスポンス契約を保持し、HTTP 200。その本文には error, message, kind: "blocked"、および provider ("google" または "apple").
  • /stats そして /channel_self HTTP 429 で同じエラー code を返します。 このことを意図的にポリシーブロックとして扱ってくださいが、再試行条件とは見なしません。

原因

チャンネルがメジャーアップグレードをブロックしているためdisable_auto_update = majorと、ターゲットバンドルのメジャーバージョンがデバイスのベースラインバージョンより上である場合。

典型的な症状

version: 1.0.8 の場合、 old: 0.0.0 デバイスはベースラインを報告する 0.0.0なので、メジャーアップグレードは拒否される。

解釈の方法

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

  • ターゲットが 1.0.1の場合、ベースラインのメジャーバージョンは 1 (例えば 1.0.0).
  • ターゲットが 10.0.1ベースライン メジャーが必要です 10 (例えば 10.0.0).

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

設定 plugins.CapacitorUpdater.versioncapacitor.config.* その MAJOR bundle の MAJOR と一致するように (例えば 1.0.01.0.1, 10.0.010.0.1).

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

  1. インストール済みアプリにこの設定を適用するには、次のコマンドを実行してください npx cap sync.
  2. 再構築およびネイティブアプリの再インストール。

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

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

関連ドキュメント:

原因

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

  • minor Fix option B: relax channel policyversion_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.

または

  • Fix
  • change channel policy in dashboard/CLI.

ダッシュボードの__CAPGO_KEEP_0__でチャネルポリシーを変更する。

原因

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

修正

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

チャンネル: Auto Update戦略を無効にする

disable_auto_update_under_native

原因

Related docs: __CAPGO_KEEP_0__

ネイティブ基準以下のダウングレードを防止します。

修正

  • ネイティブ基準以上のバンドルバージョンをアップロードする、または
  • そのチャネルで「ネイティブ以下」のダウングレード保護を無効にする。

関連ドキュメント:

原因

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

修正

  • 異なるチャネルを使用して、自己割り当てを有効にします、または
  • チャネルを公開/自己割り当てを有効にします。

関連ドキュメント:

原因

デバイスのベースラインバージョンが指定されていない (unknown) または不正な semver 修正.

指定

  • 有効な semver plugins.CapacitorUpdater.versionバージョン valid semver 1.2.3.
  • ネイティブアプリを同期して再構築してください。

関連ドキュメント:

原因

アップデートプラグインのバージョンが現在のバックエンドの要件に対して古いです。

修正

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

disabled_platform_ios / disabled_platform_android

「iOSが非対応 / Androidが非対応」タイトルのセクション

原因

__CAPGO_KEEP_0__のプラットフォームで更新が無効になっています。

修正

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

disable_prod_build / disable_dev_build / disable_device / disable_emulator

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

原因

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

修正

  • __CAPGO_KEEP_0__のチャンネル設定をテストターゲットと合わせます。allow_prod, allow_dev, allow_device, allow_emulatorセクション:「key_id_mismatch」

key_id_mismatch

原因

修正

Bundle encryption key and device key differ.

修正

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

原因

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

修正

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

Related docs:

原因

バックエンドからHTTP 429が返されました。 on_premise_appこれは3つの状況で発生します。

  1. App IDがCapgoに存在しない場合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__クラウドエンドポイントはそれを提供しない。

よくある間違い

アプリケーションIDの plugins.CapacitorUpdater.appId (アプリケーションID capacitor.config.ts)またはCapgoダッシュボードに登録されているアプリケーションIDと一致しない場合です。バックエンドでは、「未知のアプリ」と「オンプレミスアプリ」を区別できませんので、同じエラーcodeを返します。

修正

  • 確認 app_id Capgoダッシュボードに表示されているものと完全に一致するようにしてください(大文字小文字区別あり)。
  • アプリケーションがまだ登録されていない場合、 npx @capgo/cli@latest app add.
  • アプリケーションが意図的にオンプレミスである場合、 plugins.CapacitorUpdater.updateUrl CapgoクラウドURLの代わりに
  • 組織プランが期限切れの場合、プランを更新またはアップグレードしてください。

クイック診断チェックリスト

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

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

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

一般的なアップデートの問題から続ける

「一般的なアップデートの問題から続ける」のセクション

__CAPGO_KEEP_0__を使用している場合 一般的なアップデートの問題 ネイティブ プラグインの作業を計画するには、__CAPGO_KEEP_0__を__CAPGO_KEEP_1__と接続する capgo/capacitor-updaterを使用してネイティブ機能を接続する capgo/capacitor-updaterを使用して、capgo-updaterのネイティブ機能を接続する Capgo プラグイン ディレクトリ Capgo プラグイン ディレクトリを使用して、Capgo プラグイン ディレクトリの製品ワークフローを実装する Capacitor Plugins by Capgo Capacitor プラグインを使用して、Capgo プラグインの実装詳細を実装する プラグインの追加または更新 __CAPGO_KEEP_0__の実装詳細についてはプラグインの追加または更新を参照してください、 Ionic Enterprise プラグインの代替 __CAPGO_KEEP_0__の製品ワークフローについてはIonic Enterprise プラグインの代替を参照してください。