콘텐츠로 건너뛰기

로그

로그 페이지는 애플리케이션의 업데이트 이벤트와 진단 정보의 상세 기록을 제공합니다. 이는 업데이트 프로세스 모니터링, 문제 해결, 디바이스가 Capgo와 어떻게 상호작용하는지 이해하는 데 중요합니다. 앱을 클릭한 다음 “로그” 탭을 클릭(일부 이전 스크린샷이나 문서에서는 “업데이트”라고 불렸음)하여 접근할 수 있습니다.

거기서 로그 항목 목록을 보여주는 다음과 같은 페이지가 표시됩니다:

메인 인터페이스를 보여주는 로그 페이지 개요
로그 페이지 개요

로그 페이지 인터페이스에는 다음이 포함됩니다:

  1. 로그 탭 - 로그 뷰에 접근하기 위한 내비게이션 탭
  2. 새로고침 버튼 - 최신 데이터로 로그 목록 새로고침
  3. 시간 범위 & 작업 필터 - 날짜 범위와 작업 유형으로 로그 필터링 (아래 섹션 참조)

각 행에는 다음이 표시됩니다:

  • 타임스탬프 (UTC)
  • 디바이스 ID
  • 작업 코드 (무슨 일이 일어났는지)
  • 버전 이름 (번들 또는 builtin)

행을 클릭하면 전체 기록이 있는 디바이스 상세 페이지로 이동합니다.

날짜 선택기를 사용하여 특정 기간으로 로그를 필터링할 수 있습니다:

로그 필터링을 위한 날짜 범위 선택기
날짜 범위 필터
  1. 빠른 프리셋 - 일반적인 시간 범위 선택: 최근 1시간, 3시간, 6시간 또는 12시간
  2. 시작 시간 - 범위의 사용자 정의 시작 시간 설정
  3. 종료 시간 - 범위의 사용자 정의 종료 시간 설정
  4. 캘린더 - 캘린더 뷰를 사용하여 특정 날짜 선택

“선택”을 클릭하여 선택한 날짜 범위를 적용하거나, “취소”를 클릭하여 선택기를 닫습니다.

작업 드롭다운을 사용하면 특정 이벤트 유형으로 로그를 필터링할 수 있습니다:

이벤트 유형으로 로그를 필터링하기 위한 작업 필터 드롭다운
작업 필터

사용 가능한 작업 필터에는 다음이 포함됩니다:

  • 디바이스 하트비트 - 디바이스의 주기적인 상태 확인
  • 버전 삭제 요청됨 - 번들 버전이 삭제될 때
  • 기본 버전으로 재설정 - 디바이스가 내장 번들로 되돌아갈 때
  • 버전 설치 성공 - 번들 설치 성공
  • 새 버전이 디바이스로 전송됨 - Capgo가 디바이스에 업데이트를 보낼 때
  • 버전 설치 실패 - 번들 설치가 실패할 때

상단의 검색 상자를 사용하여 특정 작업 유형을 빠르게 찾을 수 있습니다. 여러 작업을 선택하여 선택한 유형 중 하나와 일치하는 로그를 표시할 수 있습니다.

샘플 로그 스니펫 (가짜 데이터)

Section titled “샘플 로그 스니펫 (가짜 데이터)”
시간 (UTC)디바이스 ID작업버전의미
2025-01-14 10:00:01A1B2C3get2.4.1디바이스가 Capgo에 업데이트 가능 여부 문의
2025-01-14 10:00:03A1B2C3download_manifest_start2.4.1매니페스트 다운로드 시작; SDK가 파일 다운로드 준비 중
2025-01-14 10:00:07A1B2C3download_402.4.1번들 다운로드 40% 완료
2025-01-14 10:00:12A1B2C3download_zip_complete2.4.1zip 다운로드 완료
2025-01-14 10:00:13A1B2C3set2.4.1번들이 설치되고 다음 실행을 위해 표시됨
2025-01-14 10:05:00B9C8D7disableAutoUpdateToMajor1.9.0채널 정책이 2.x로의 점프를 차단함
2025-01-14 10:05:05B9C8D7rateLimitedbuiltin디바이스가 요청 제한에 도달; SDK가 재시작까지 대기

로그가 무엇을 말하는지 이해하는 데 도움이 되도록, 실제 디바이스 업데이트 과정을 보여주는 예제 시퀀스를 제공합니다:

로그에서 정상적인 업데이트가 어떻게 보이는지입니다:

시간디바이스 ID작업버전의미
10:00:01a1b2c3d4get1.2.0디바이스가 업데이트를 확인하고 버전 1.2.0 정보 수신
10:00:02a1b2c3d4download_101.2.0다운로드 시작, 10% 완료
10:00:03a1b2c3d4download_501.2.0다운로드 50%
10:00:05a1b2c3d4download_complete1.2.0다운로드 성공적으로 완료
10:00:06a1b2c3d4set1.2.0번들이 설치되고 활성화됨

디바이스가 확인했지만 이미 최신 버전을 가지고 있을 때:

시간디바이스 ID작업버전의미
14:30:00e5f6g7h8noNew1.2.0디바이스가 이미 최신 버전, 업데이트 불필요

롤백이 포함된 실패한 업데이트

Section titled “롤백이 포함된 실패한 업데이트”

업데이트가 실패하고 디바이스가 롤백할 때:

시간디바이스 ID작업버전의미
11:15:00i9j0k1l2get1.3.0디바이스가 업데이트 정보 수신
11:15:02i9j0k1l2download_complete1.3.0다운로드 완료
11:15:03i9j0k1l2set1.3.0번들이 설정됨
11:15:10i9j0k1l2update_fail1.3.0앱이 충돌하거나 notifyAppReady()가 호출되지 않음 - 롤백 실행
11:15:11i9j0k1l2resetbuiltin디바이스가 내장 버전으로 되돌아감

필요한 작업: 앱이 성공적인 초기화 후 notifyAppReady()를 호출하는지 확인하세요. 자세한 내용은 플러그인 문서를 참조하세요.

네트워크 문제로 다운로드가 방해될 때:

시간디바이스 ID작업버전의미
09:45:00m3n4o5p6get1.2.0디바이스가 업데이트 정보 수신
09:45:01m3n4o5p6download_301.2.0다운로드 시작했지만…
09:45:15m3n4o5p6download_fail1.2.0다운로드 실패 (네트워크 타임아웃, 연결 끊김 등)

필요한 작업: 디바이스가 다음 앱 실행 시 자동으로 재시도합니다. 이것이 자주 발생하지 않는 한 조치가 필요하지 않습니다.

계정이 디바이스 한도에 도달했을 때:

시간디바이스 ID작업버전의미
16:00:00q7r8s9t0needPlanUpgrade-이 디바이스는 업그레이드하거나 청구 주기가 재설정될 때까지 업데이트를 받지 않습니다

필요한 작업: 플랜을 업그레이드하거나 다음 청구 주기를 기다리세요.

채널 설정이 업데이트를 방해할 때:

시간디바이스 ID작업버전의미
12:00:00u1v2w3x4disableAutoUpdateToMajor2.0.0v1.x의 디바이스가 v2.x로 자동 업데이트할 수 없음 (메이저 버전 점프 차단)
12:05:00y5z6a7b8disableEmulator1.2.0에뮬레이터 감지됨, 채널이 에뮬레이터 차단
12:10:00c9d0e1f2disableDevBuild1.2.0개발 빌드 감지됨, 채널이 개발 빌드 차단

필요한 작업: 이것들은 의도적인 보호입니다. 이러한 업데이트를 허용하려면 채널 설정을 수정하세요.

이 코드들은 대시보드 API에서 사용하는 stats_action enum에서 가져옵니다 (capgo/src/types/supabase.types.ts). UI에서 새 코드를 보면 SDK 또는 백엔드에서 발행되어 이 목록에 대해 검증되었습니다.

해피 패스 & 라이프사이클

코드의미
get디바이스가 Capgo에 현재 채널 매니페스트 요청
download_manifest_start, download_manifest_complete매니페스트 다운로드 시작/완료 (델타 또는 멀티파일 번들용)
download_zip_start, download_zip_completezip 아카이브 다운로드 시작/완료
download_10download_90다운로드 진행률 마일스톤
download_complete전체 번들 다운로드됨
set번들이 다음 실행을 위해 스테이징됨
reset디바이스가 내장 번들로 되돌아감
delete번들이 로컬 저장소에서 삭제됨
uninstall앱 제거 감지됨
app_moved_to_foreground, app_moved_to_backgroundSDK에서 기록한 앱 라이프사이클 이벤트
ping디바이스의 상태/하트비트 확인
setChannel, getChannelSDK 호출을 통해 채널 오버라이드 또는 가져옴

설정 또는 정책 차단

코드업데이트가 차단된 이유
disableAutoUpdate, disableAutoUpdateToMajor, disableAutoUpdateToMinor, disableAutoUpdateToPatch, disableAutoUpdateMetadata, disableAutoUpdateUnderNative채널 전략이 이 semver 점프를 금지
disablePlatformIos, disablePlatformAndroid채널에서 플랫폼이 비활성화됨
disableDevBuild, disableEmulator개발 빌드 또는 에뮬레이터가 허용되지 않음
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfigured채널 선택 또는 오버라이드 실패
missingBundle, cannotGetBundle매니페스트가 Capgo가 제공할 수 없는 번들을 참조함
needPlanUpgrade조직이 플랜/디바이스 한도에 도달
rateLimited요청이 너무 많음; SDK가 재시작까지 제한
blocked_by_server_url, backend_refusal, InvalidIp서버 측 규칙이 요청을 차단

다운로드/무결성/설치 실패

코드의미
download_fail번들 다운로드 실패 (네트워크 또는 응답 오류)
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_fail매니페스트 파일을 검색하거나 검증할 수 없음
checksum_fail, checksum_required무결성 검사 실패 또는 체크섬 누락
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_fail파일 시스템 또는 압축 해제 검증 실패
decrypt_fail복호화 실패 (암호화된 번들)
update_fail번들이 설치되었지만 앱이 notifyAppReady()를 호출하지 않음; 롤백 실행
이후 set 없는 download_zip_*다운로드는 완료되었지만 설치 단계가 완료되지 않음

➡️ 코드별 더 자세한 안내가 필요하신가요? **전체 로그 코드 참조 및 디버깅 가이드**를 참조하세요.

특정 로그 항목을 클릭하면 일반적으로 디바이스 페이지로 이동합니다. 이를 통해 해당 특정 디바이스의 전체 기록을 볼 수 있으며, 디바이스별 문제를 진단하거나 업데이트 여정을 이해하는 데 매우 유용합니다.