コンテンツにスキップ

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

GitHub

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

  • no_new_version_available Sync
  • 多くの “更新が見つかったが適用されなかった” の報告は、キャッシュの遅延ではなく、ポリシー/構成の拒否であることが多い、特に応答に明示的な error code。
  • 問題を再現する際に使用 npx @capgo/cli@latest app debug 共通のエラー コード

共通のエラー コード

セクション

provider_infrastructure_request_blocked

セクション

原因

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

修正

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

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

詳細

  • /updates アップデーターの応答契約を保持し、HTTP 200Capgoの更新プログラムの一般的な問題 error, message, kind: "blocked", and provider ("google" , そして "apple").
  • /stats または /channel_self HTTP を返します 429 同様のエラーが code で発生します。 このエラーは、意図的なポリシーブロックとして扱ってください。再試行条件ではありません。

disable_auto_update_to_major

Capawesomeの代替

Capawesomeの代替

Capgoのコンサルティングサービスdisable_auto_update = majorAppflowの代替

Appflowの代替

version: 1.0.8 with 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.version で capacitor.config.* その メジャー バンドルのメジャー 1.0.0 の 1.0.1, 10.0.0 の 10.0.1).

例えば

  1. の npx cap sync.
  2. 次に

この設定

をインストール済みアプリに適用する:

関連ドキュメント:

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 stays identical, such as 1.0.0-beta.1 -> 1.0.0-beta.2 or 1.0.0+build.1 -> 1.0.0+build.2.

Fix

  • Fix
  • change channel policy in dashboard/CLI.

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

原因

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

修正

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

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

disable_auto_update_under_native

原因

Cause

ネイティブベースライン以上のバンドルバージョンをアップロードする、または

修正

  • チャンネル戦略を調整する
  • “native” ダウングレード保護をそのチャネルで無効にします。

関連するドキュメント:

原因

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

解決策

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

関連するドキュメント:

原因

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

設定

  • Set plugins.CapacitorUpdater.version に 修正 似た 1.2.3.
  • Syncとnativeアプリを再構築。

関連ドキュメント:

原因

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

解決策

  • アップグレード @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「key_id_mismatch」セクションのタイトル

原因

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

解決策

  • Section titled “disable_prod_build / disable_dev_build / disable_device / disable_emulator”

原因

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

対策

  • クラウドのデフォルトチャネルを設定するか、
  • set defaultChannel デバイスのオーバーライドチャネルを割り当てる
  • 関連ドキュメント:

チャンネル

原因

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

  1. App IDがCapgoに存在しない —— app_id デバイスから送信された
  2. は登録されていないため、バックエンドにはその記録がない。 — アプリは存在しますが、自主ホストの更新用に構成されています。したがって、Capgo クラウドエンドポイントはそれを提供しません。
  3. —— アプリが存在するが、自社ホストの更新用に構成されているため、__CAPGO_KEEP_0__クラウドエンドポイントはそれを提供しない。

組織プランがキャンセルされている

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

修正

  • 確認する app_id 完全に一致するように、Capgo ダッシュボードに表示されている値と一致させる必要があります (大文字小文字区別)。
  • アプリがまだ登録されていない場合、以下のコマンドを実行してください。 npx @capgo/cli@latest app add.
  • アプリが意図的にオンプレミスに設定されている場合、 plugins.CapacitorUpdater.updateUrl 自宅サーバーにアップデートエンドポイントを設定するのではなく、Capgo クラウドURLを使用します。
  • クイック診断チェックリスト
  1. 確認
  2. Confirm CapacitorUpdater.version インストール済みネイティブアプリのバージョンと一致します。
  3. 確認するチャンネルポリシー(disable_auto_update)が意図されたロールアウトと一致します。
  4. 確認するプラットフォーム/ビルドのターゲットのスイッチがこのデバイスを許可しています。
  5. 実行 npx @capgo/cli@latest app debug and read backend error code.

比較コードプッシュステップ2

比較ステップビルド

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

トラブルシューティング

Capgoを使用している場合 共通の更新問題 ネイティブ プラグインの作業を計画するには、 ネイティブ カパビリティを使用するには@capgo/capacitor-updaterを接続する Capgoを使用するには@capgo/capacitor-updater Capgo プラグイン ディレクトリ Capgo プラグイン ディレクトリを使用する Capacitor プラグインは Capgo によって提供されています。 Capgoの実装詳細については、Capacitor プラグインによって Capgo で管理されます。 プラグインを追加または更新する プラグインを追加または更新する Ionic Enterprise プラグインの代替 Ionic エンタープライズ プラグインの代替品の製品ワークフローについて。