내용으로 건너뛰기

공통 업데이트 문제

GitHub

업데이트 확인이 실패할 때, Capgo 일반적으로 Capgo과 함께 반환합니다. error code과 함께 반환됩니다. message 업데이트 중 /updates 응답. 이 페이지는 가장 일반적인 오류와 가장 빠른 해결책을 설명합니다.

먼저 읽어보세요

제목 "먼저 읽어보세요"
  • no_new_version_available 정상 상태입니다. 오류가 아닙니다.
  • 많은 "업데이트가 발견되었지만 적용되지 않았습니다" 보고는 캐시 지연이 아닌 정책/구성 거부로 특히 응답에 명시적인 error code
  • 문제를 재현하는 동안 사용하세요 npx @capgo/cli@latest app debug 일반적인 오류 코드

제목 "일반적인 오류 코드"

제목 "provider_infrastructure_request_blocked"

원인

앱이 블록 제공자 인프라 요청 활성화되어 있고, 요청은 알려진 Google 또는 Apple 데이터 센터 IP 범위에서 시작된 것입니다. Capgo은 이러한 요청을 /updates, /stats, /channel_self 에서 차단하여 제공자에서 발생하는 트래픽을 장치 트래픽으로 처리하는 것을 방지합니다.

수정

  • 물리 장치에서 일반 사용자 네트워크에서 업데이트를 다시 생성하세요.
  • 이 보호 기능이 활성화된 동안 업데이트, 통계, 채널-셀 체크를위한 클라우드 호스팅 프로브 또는 제공자 데이터 센터 러너를 사용하지 마세요.
  • 그렇지 않으면 앱의 정보 탭을 열고 Block provider infrastructure requests. Re-enable it when the test is complete.

새로운 앱은 기본적으로 이 보호 기능이 활성화되어 있습니다. 이전에 설정이 도입되기 전에 생성된 앱은 설정을 활성화할 때까지 비활성화 상태로 유지됩니다.

Response details

  • /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 = major일반적인 증상

with

version: 1.0.8 장치 기준 버전을 보고 있기 때문에 주요 업그레이드는 거부됩니다. old: 0.0.0 해석 방법 0.0.0백엔드에서는 장치 기준 버전과 대상 버전을 비교하여 주요 버전을 비교합니다.

대상이

이면 baseline의 주요 버전이 old 해야합니다. version.

  • If target is 1.0.1, baseline major must be 1 예를 들어 1.0.0).
  • 목표가 되면 10.0.1, 기본 버전이 커질 때는 10 예를 들어 10.0.0).

Fix 옵션 A (권장): 기기 기본 버전을 커질 때

설정 plugins.CapacitorUpdater.version 에서 capacitor.config.* 그것의 MAJOR bundle MAJOR와 일치하도록 하세요 (예를 들어 1.0.01.0.1, 10.0.010.0.1).

그런 다음 설치된 앱에 이 설정을 적용하세요:

  1. 실행 npx cap sync.
  2. 자연어 앱을 재구축하고 다시 설치하세요.

해결 방법 B: 채널 정책을 완화하세요.

관련 문서:

버전 대상 설정: 메이저 버전을 건너 뛰는 자동 업데이트를 비활성화하세요.

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.

업데이트를 고정합니다.

  • 업로드할 수 있는 현재 정책과 호환되는 번들을 업로드하거나
  • 채널 정책을 CLI에 있는 대시보드에서 변경하십시오.

관련 문서:

disable_auto_update_to_metadata

disable_auto_update_to_metadata

원인

채널이 메타데이터 기반 타겟팅을 사용하고 (")version_number해결 min_update_version.

설치된 네이티브 앱 버전과 일치하는 기기 기준을 맞춰 (")

  • 수정CapacitorUpdater.version/ 채널 전략.
  • 관련 문서: min_update_version 채널: 자동 업데이트 전략 비활성화

Related docs:

원인

채널은 원래 baseline 이하의 다운그레이드를 방지합니다.

해결 방법

  • 자연스럽게 업데이트를 비활성화하는 옵션을 사용하거나,
  • 해결 방법

업데이트를 통해 개인 채널을 사용할 수 없습니다.

cannot_update_via_private_channel

업데이트 방지: Auto-Downgrade Prevention

자연스럽게 업데이트를 비활성화하는 옵션

원인

선택된/기본 채널은 장치 자체 할당을 허용하지 않습니다.

  • 다른 채널을 사용하세요. (self-assignment이 활성화되어야 함)
  • 채널을 공개하거나 self-assignment을 활성화하세요.

관련 문서:

unknown_version_build / semver_error

제목: unknown_version_build / semver_error

원인

기기 기본 버전이 누락되거나 (unknown) 또는 semver가 유효하지 않습니다. 해결.

기기 기본 버전을

  • 으로 설정하세요. plugins.CapacitorUpdater.version __CAPGO_KEEP_0__ 버전 관리 규칙을 따르는 semver 예를 들어 1.2.3.
  • 자연스럽게 동기화하고 네이티브 앱을 재구축하세요.

관련 문서:

원인

업데이터 플러그인 버전이 현재 백엔드 요구 사항에 맞지 않습니다.

해결

  • 업그레이드 @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

disabled_prod_build / disable_dev_build / disable_device / disable_emulator

원인

채널이 현재 빌드 유형 또는 런타임 타겟을 허용하지 않습니다.

해결

  • 채널 옵션을 테스트 대상과 일치시키세요.allow_prod, allow_dev, allow_device, allow_emulator) with your test target.

원인

앱 구성과 번들 암호화 워크플로우의 디바이스 키가 다릅니다.

해결

  • 앱 구성과 번들 암호화 워크플로우에서 동일한 암호화 키/공개 키를 사용하십시오.

원인

디바이스에 대한 유효한 채널이 해결되지 않았습니다.

해결

  • 클라우드 기본 채널을 설정하거나
  • 테스트 빌드에서 defaultChannel 설정
  • 장치에 대한 채널 override assign.

관련 문서:

온프레미스 앱 섹션

원인 on_premise_app백엔드에서 HTTP 429이 반환되었습니다.

  1. App ID does not exist in Capgo 앱 ID가 __CAPGO_KEEP_0__에 존재하지 않습니다. app_id — 장치에서 보내는
  2. 등록되지 않은ため 백엔드에 기록되지 않은 것입니다. 앱이 온프레미스 플래그로 표시되어 있습니다. — 앱이 있지만 자체 호스팅 업데이트로 구성되어 있으므로 Capgo 클라우드 엔드포인트는 이를 제공하지 않습니다.
  3. __CAPGO_KEEP_0__의 조직 계획이 취소되었습니다. __CAPGO_KEEP_0__의 조직이 더 이상 활성 구독을 가지고 있지 않습니다.

일반적인 오류

__CAPGO_KEEP_0__의 앱 ID와 일치하지 않는 오류 plugins.CapacitorUpdater.appId (in capacitor.config.ts) 또는 Capgo 대시보드에 등록된 앱 ID와 일치하지 않는 오류입니다. 백엔드는 '알 수 없는 앱'과 '온프레미스 앱'을 구분할 수 없으므로 동일한 오류 code을 반환합니다.

수정

  • __CAPGO_KEEP_0__ 대시보드에 표시된 것과 정확히 일치하는지 확인하세요. (대소문자 구분) app_id 앱이 아직 등록되지 않은 경우 Capgo 대시보드에 표시된 것과 정확히 일치하는지 확인하세요.
  • 앱이 의도적으로 온프레미스 앱일 경우 __CAPGO_KEEP_0__ 클라우드 URL 대신 __CAPGO_KEEP_0__ 대시보드에 표시된 것과 정확히 일치하는지 확인하세요. npx @capgo/cli@latest app add.
  • __CAPGO_KEEP_1__ plugins.CapacitorUpdater.updateUrl Capgo
  • 만료된 조직 플랜이 있다면, 플랜을 갱신하거나 업그레이드하세요.

빠른 진단 체크리스트

빠른 진단 체크리스트
  1. 빌드에 대한 앱 ID 및 채널이 올바른지 확인하세요.
  2. 확인 CapacitorUpdater.version 설치된 네이티브 앱 버전과 일치하는지 확인하세요.
  3. 채널 정책 (disable_auto_update)가 의도한 롤아웃과 일치하는지 확인하세요.
  4. 플랫폼/빌드 대상 설정이 이 기기에 허용하는지 확인하세요.
  5. 실행 npx @capgo/cli@latest app debug and read backend error code.

Section titled “일반적인 업데이트 문제에서 계속” 이러한 기능을 사용 중이라면 일반적인 업데이트 문제 @capgo/capacitor-업데이터를 사용하여 native 플러그인 작업을 계획하고 @capgo/capacitor-업데이터를 사용하여 Capgo 플러그인 디렉토리 product 워크플로우에서 Capgo 플러그인 디렉토리를 사용하여 Capacitor Plugins by Capgo Capgo에서 Capacitor 플러그인 플러그인 추가 또는 업데이트 __CAPGO_KEEP_0__ 플러그인 추가 또는 업데이트에 대한 implementation detail __CAPGO_KEEP_1__에서 플러그인 추가 또는 업데이트 아이오닉 엔터프라이즈 플러그인 대체