よくあるアップデートの問題
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
アップデートの確認に失敗すると、通常 Capgo は error code と message の /updates レスポンスを返します。このページでは、よくある失敗と最速の修正方法を説明します。
まずはこちらを読む
「まずはこちらを読む」というセクションno_new_version_available失敗ではなく、正常な状態です。- 「アップデートが見つかったが適用されない」という報告の多くは、キャッシュの遅延ではなく、ポリシーや設定による拒否が原因です。特に、レスポンスに明示的な
errorcode - 使用する
npx @capgo/cli@latest app debugが含まれている場合は、問題を再現してリクエスト/レスポンスの詳細を確認してください。
よくあるエラーコード
「よくあるエラーコード」セクションprovider_infrastructure_request_blocked
「provider_infrastructure_request_blocked」セクション原因
アプリで プロバイダーのインフラへのリクエストのブロック が有効になっており、リクエストの発信元がGoogleまたはAppleの既知のデータセンターIP範囲です。Capgo は、これらのリクエストを /updates, /statsや /channel_self プロバイダー由来のトラフィックがデバイスからのトラフィックとして扱われるのを防ぐためです。
解決策
- 通常のユーザーネットワーク環境で、実機からアップデートを再現してください。
- この保護が有効な間は、updater、stats、または channel-self チェックにクラウドホストのプローブやプロバイダーのデータセンターランナーを使用しないでください。
- そのトラフィックが意図的なものである場合は、アプリの 情報 タブを開き、 プロバイダーのインフラへのリクエストのブロックをオフにしてください。テストが完了したら、再度有効にしてください。
新規アプリでは、この保護がデフォルトで有効になっています。この設定が導入される前に作成されたアプリでは、有効にするまで無効のままです。
レスポンスの詳細
/updatesupdater のレスポンス契約を維持し、HTTP を返します200。そのボディにはerror,message,kind: "blocked"やprovider("google"または"apple")./statsと/channel_selfHTTP を返します429同じエラー code を含みます。これは一時的なリトライ条件ではなく、意図的なポリシーブロックとして扱ってください。
disable_auto_update_to_major
セクション「disable_auto_update_to_major」原因
あなたのチャネルはメジャーアップグレードをブロックしています(disable_auto_update = major)かつ、ターゲット bundle のメジャーバージョンがデバイスのベースラインバージョンより上です。
よくある症状
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(推奨):デバイスのベースライン major を一致させる
設定 plugins.CapacitorUpdater.version における capacitor.config.* その MAJOR が配信したい bundle の MAJOR と一致するようにします(例: 1.0.0 を 1.0.1, 10.0.0 を 10.0.1).
次に、インストール済みのアプリに一度だけこの設定を適用します:
- 実行
npx cap sync. - ネイティブアプリを再ビルドして再インストールします。
修正オプション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.
解決策
- 現在のポリシーに準拠したbundleをアップロードするか、
- dashboard/CLI でチャンネルポリシーを変更してください。
関連ドキュメント:
disable_auto_update_to_metadata
「disable_auto_update_to_metadata」というセクション原因
チャンネルがメタデータベースのターゲティングを使用しており(version_number)かつ、デバイスのベースラインが要件を下回っている min_update_version.
解決策
- デバイスのベースライン(
CapacitorUpdater.version)をインストール済みのネイティブアプリバージョンに合わせるか、 - 調整
min_update_version/ チャンネル戦略。
関連ドキュメント:
disable_auto_update_under_native
セクション「disable_auto_update_under_native」原因
Channelは、ネイティブベースラインを下回るダウングレードを防止します。
解決策
- ネイティブベースライン以上(等しい場合を含む)のバンドルバージョンをアップロードするか、
- そのチャネルの「ネイティブ未満」ダウングレード保護を無効にしてください。
関連ドキュメント:
cannot_update_via_private_channel
セクション「cannot_update_via_private_channel」原因
選択中/デフォルトのチャネルでは、デバイスの自己割り当てが許可されていません。
解決策
- 自己割り当てが有効な別のチャネルを使用するか、
- チャネルをパブリックにするか、自己割り当てを有効にしてください。
関連ドキュメント:
unknown_version_build / semver_error
セクション「unknown_version_build / semver_error」原因
デバイスのベースラインバージョンが欠落しています(unknown)または 有効な semver ではありません.
解決策
- 設定
plugins.CapacitorUpdater.versionに 有効な semver ではありません など1.2.3. - ネイティブアプリを同期して再ビルドしてください。
関連ドキュメント:
unsupported_plugin_version
「unsupported_plugin_version」セクション原因
Updaterプラグインのバージョンが古いため、現在のバックエンド要件を満たしていません。
解決策
- アップグレード
@capgo/capacitor-updater. - 実行
npx cap sync. - ネイティブアプリを再ビルドして再インストールしてください。
disabled_platform_ios / disabled_platform_android
「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
「key_id_mismatch」というセクション原因
Bundleの暗号化キーとデバイスキーが一致しません。
解決策
- アプリ設定とBundle暗号化ワークフローで、同じ暗号化キー/公開キーを使用してください。
no_channel / null_channel_data
セクション「no_channel / null_channel_data」原因
デバイスに有効なチャネルが解決されませんでした。
解決策
- クラウドのデフォルトチャネルを設定するか、
- 設定
defaultChannelテストビルドでは、 - デバイスにチャネルオーバーライドを割り当ててください。
関連ドキュメント:
on_premise_app
「on_premise_app」セクション原因
バックエンドが HTTP 429 を返しました on_premise_app。これは以下の3つの状況で発生します:
- App ID が Capgo に存在しません — デバイスから送信された
app_idが登録されていないため、バックエンドにその記録がありません。 - App がオンプレミスとしてフラグ付けされています — App は存在しますが、セルフホスト型アップデート用に設定されているため、Capgo クラウドエンドポイントが配信を拒否します。
- 組織のプランがキャンセルされています — App の組織に有効なサブスクリプションがもうありません。
よくある間違い
タイプミス plugins.CapacitorUpdater.appId ( capacitor.config.ts)または、Capgo ダッシュボードに登録されたアプリ ID との不一致。バックエンドは「不明なアプリ」と「オンプレミスアプリ」を区別できないため、同じエラー code を返します。
解決策
- 次を確認してください:
app_idCapgo ダッシュボードに表示されているものと完全に一致すること(大文字小文字を区別)。 - アプリがまだ登録されていない場合は、
npx @capgo/cli@latest app add. - アプリが意図的にオンプレミスである場合は、
plugins.CapacitorUpdater.updateUrlを Capgo クラウド URL の代わりに、セルフホストされた更新エンドポイントに設定してください。 - 組織プランの有効期限が切れた場合は、プランを更新またはアップグレードしてください。
クイック診断チェックリスト
「クイック診断チェックリスト」セクション- ビルドのアプリ ID とチャネルが正しいことを確認してください。
- 確認
CapacitorUpdater.versionインストール済みのネイティブアプリのバージョンと一致している。 - チャンネルポリシー(
disable_auto_update)が意図したロールアウトと一致している。 - プラットフォーム/ビルドターゲットのトグルでこのデバイスが許可されているか確認してください。
- 実行
npx @capgo/cli@latest app debugおよびバックエンドのエラー code を確認してください。
さらにサポートが必要ですか?
「さらにサポートが必要ですか?」セクションよくあるアップデートの問題から続ける
「よくあるアップデートの問題から続ける」セクション使用している場合 よくあるアップデートの問題 ネイティブプラグインの作業を計画するには、次と連携してください: @capgo/capacitor-updater を使用する 「@capgo/capacitor-updater を使用する」のネイティブ機能については、 Capgo プラグインディレクトリ Capgo プラグインディレクトリのプロダクトワークフローについては、 Capgo による Capacitor プラグイン Capgo による Capacitor プラグインの実装詳細については、 プラグインの追加または更新 プラグインの追加または更新における実装詳細については、および Ionic Enterprise プラグインの代替案 Ionic Enterprise プラグインの代替案におけるプロダクトワークフローについては。