변경 로그¶
0.1.0-alpha.7¶
개선¶
- Replay 이미지 크기 및 수집 주기: 스크롤 분 단위 예산과 적응형 캡처 주기 감소를 단일 프레임 크기 제한으로 대체했습니다. 제한은 새 View 및 방향 변경의 첫 프레임까지 포함합니다. 수집 주기에는 처리 시간이 포함되며, 이미지 크기가 조정된 후에도 표시 좌표가 유지됩니다.
- 연동 예시 및 설명: Creator 2/3 인터랙티브 게임 예제를 통합하고, Replay API 및 Android 실제 기기 트래픽 참고 자료를 추가했습니다. Creator 3 예제에 Android 16 KB 페이지 정렬 구성과 검사 도구를 추가했습니다.
수정¶
- Creator 3 카메라: 별도의 오프스크린 Camera를 사용해 프레임을 캡처하도록 하여 표시 화면과 Camera에 의존하는 입력 좌표에 영향을 주지 않도록 했습니다.
- Creator 3 터치: UI 컨트롤에서 소비된 Replay 터치를 기록하면서 정상적인 입력 전파를 유지하고 중복 기록을 방지했습니다.
업그레이드 안내¶
두 npm 패키지는 반드시 함께 업그레이드하고, 설치 도구를 --replay로 다시 실행한 후 네이티브 프로젝트를 컴파일해야 합니다. imagePolicy.maxBytesPerMinute 및 imagePolicy.adaptiveCapture를 삭제하고, 프레임 캡처 주기, 이미지 크기, 단일 프레임 크기 제한을 사용하세요. 단일 프레임 제한은 롤링 트래픽 할당량과 동일하지 않습니다. 자세한 내용은 alpha.7로 업그레이드를 참조하세요.
0.1.0-alpha.6¶
새로운 기능¶
- 독립형 Replay 패키지: 세션 리플레이를 선택 가능한
@cloudcare/cocos-session-replay패키지로 분리했습니다. Creator 2/3 진입점, 노드 프라이버시 컴포넌트, 네이티브 Bridge를 제공하며, 기본 패키지에는 더 이상 Replay가 포함되지 않습니다. - 조합 API:
withSessionReplay(baseSdk)를 통해 Replay 구성, 시작/중지, 프라이버시, 카메라 선택을 제공하고, 기본 패키지에 공용 플러그인 API를 추가했습니다.
개선¶
- 설치 및 게시:
--replay/--no-replay네이티브 통합 스위치를 지원하고, 관리 대상 리소스의 식별자를 유지합니다. 두 npm 패키지는 완전히 동일한 버전을 사용하며, 게시 검증과 중단 후 재개 업로드를 지원합니다.
업그레이드 안내¶
일체형 패키지에서 업그레이드할 때는 동일한 버전의 두 패키지를 설치하고, start() / attach() 전에 조합을 완료하세요. Replay 타입 임포트를 독립형 패키지로 이동하고, 조합 인스턴스를 통해 setReplayCamera()를 호출하세요. 설치 도구를 다시 실행하고 네이티브 프로젝트를 빌드하세요. 자세한 내용은 패키지 분리 마이그레이션을 참조하세요.
0.1.0-alpha.5¶
새로운 기능¶
- iOS Swift Package Manager(SPM) 연동: Creator 2, Creator 3 및 Hybrid 네이티브 호스트는 프로젝트 구성을 통해 CocoaPods 또는 SPM을 선택할 수 있으며, 기본값은 CocoaPods입니다. 설치 도구는 기존 선택을 유지하고, Creator 3의 CMake 재생성 후 SPM 참조를 복원합니다.
개선¶
- 네이티브 네트워크 SDK 의존성: Android Agent를
1.7.6-alpha03으로, Hybrid 예제의 Gradle Plugin을1.3.9-alpha01로 업그레이드했습니다. CocoaPods 및 SPM에서 사용하는 iOS Agent와 Session Replay는1.6.8-alpha.5로 업그레이드했습니다. 새 버전 iOS는 별도 스위치를 통해 NSURLConnection Resource 수집과 Trace 연관을 활성화할 수 있으며, 새로 추가된 두 스위치는 기본적으로 꺼져 있습니다. - 네트워크 검증 예제: Creator 2 Android 엔진 HTTP 요청과 선택적으로 활성화할 수 있는 iOS NSURLConnection 요청 예제를 추가하여, 실제 업로드된 Resource를 확인하고 JS 자동 수집 또는 수동 계측이 네이티브 수집과 중복되지 않도록 하는 방법을 설명합니다.
- Creator 3 Replay 예제: 카메라, 이동, 독립 HUD 컨트롤을 제공하는 네이티브 3D 검증 씬을 추가하여 프레임 캡처 동작과 현재 단일 카메라 수집 제한을 확인할 수 있습니다.
네트워크 수집 스위치 및 중복 수집 회피 방법은 Android 네트워크 수집 권장 사항 및 iOS 네트워크 수집 권장 사항을 참조하세요. SPM 연동 절차는 iOS 네이티브 빌드를 참조하세요.
0.1.0-alpha.4¶
새로운 기능¶
- Session Replay 프라이버시 컴포넌트: Creator 2 및 Creator 3에
ReplayPrivacy편집기 컴포넌트를 추가했습니다. 캡처된 리플레이 화면에서 노드와 프리팹을 마스킹하거나 숨길 수 있습니다. 설치 도구는 컴포넌트를 프로젝트 리소스 디렉터리에 복사합니다. 코드 재정의 규칙이 우선하며, 입력 상자는 기본적으로 여전히 마스킹됩니다.
개선¶
- Session Replay 프레임 캡처 성능: Android 및 iOS에서 리플레이 파일 읽기/쓰기와 네이티브 이미지 인코딩을 게임 스레드 밖으로 이동했습니다. SDK 업데이트 후 비동기 Bridge를 포함하려면 네이티브 프로젝트를 다시 빌드해야 합니다.
- Hybrid 프라이버시 예제: 유지 관리 중인 Creator 2 및 Creator 3 Hybrid 예제에 프라이버시 컴포넌트 예제와 마스크 정렬 테스트 컨트롤을 추가했습니다.
수정¶
- Android Session Replay 재생: 네이티브 의존성 설치 도구의
ft-session-replay:0.1.9-alpha02를0.1.9-alpha03으로 업그레이드하여 세그먼트 압축이 Browser SDK 형식과 일치하도록 했습니다. 이로써 영향을 받던 다중 세그먼트 세션의 재생이 복구됩니다. Maven에 게시된 아티팩트를 사용해 네이티브 페이지와 Cocos 페이지 간에 이전 버전, 새 버전, 다시 이전 버전 순서로 비교 검증했습니다.
0.1.0-alpha.3¶
개선¶
- Android SDK 의존성: Creator 2 및 Creator 3의 네이티브 의존성 설치 도구에서 Android Agent SDK를
1.7.6-alpha01에서1.7.6-alpha02로, Session Replay를0.1.9-alpha01에서0.1.9-alpha02로 업그레이드했습니다. - Hybrid 연동 예제: 각 Creator 세대마다 최소한의 Hybrid 연동 프로젝트를 하나씩 유지합니다. 유지 관리 중인 예제에서 이전 진단 프로젝트, 복사된 SDK 설치 디렉터리, 리플레이 트래픽 벤치마크 도구를 제거했습니다.
- SDK 및 예제 문구: 불필요한 브랜드 이름을 제거하고 SDK 오류 메시지와 예제 문구를 단순화했습니다.
수정¶
- npm 게시: 게시 전에 패키지 메타데이터를 확인하여 버전이 이미 존재하는지 감지하고 게시 식별자를 검증합니다. 첫 번째 안정 버전 게시 전까지는 최신 프리릴리스 버전을
latest태그로 게시합니다.
0.1.0-alpha.2¶
수정¶
- Session Replay 프라이버시 마스킹: Creator 2 및 Creator 3에서 Camera 투영이 캡처 프레임 내 컨트롤의 위치나 크기를 변경할 때 입력 상자와 사용자 지정 노드 마스크가 어긋나던 문제를 수정했습니다. 프라이버시 경계를 안정적으로 투영할 수 없으면 해당 프레임을 건너뛰어 마스크 위치가 올바르지 않은 화면이 수집되지 않도록 했습니다.
0.1.0-alpha.1¶
새로운 기능¶
- RUM 자동 수집 및 수동 계측: 씬 전환, 터치 인터랙션, 런타임에서 지원하는 JavaScript 오류, 처리되지 않은 Promise 거부를 필요에 따라 수집할 수 있습니다. View, Action, Error, Long Task, 네트워크 Resource를 수동으로 기록하여 핵심 비즈니스 프로세스를 모니터링할 수 있습니다. 네이티브 크래시, Android ANR, UI 끊김, 디바이스 성능 모니터링을 구성할 수 있습니다.
- 로그 수집: 사용자 정의 로그 업로드와 Console 출력의 필요 시 수집을 지원합니다. 로그 레벨 필터링, 샘플링, 캐시 정책을 구성할 수 있으며, 현재 RUM 세션과 연결하여 사용자 행동과 함께 문제를 분석할 수 있습니다.
- 네트워크 모니터링 및 분산 추적 연관: 런타임에서 제공하는
fetch및XMLHttpRequest의 기본 요청/응답 정보와 총 소요 시간을 자동으로 수집하고 Trace Header를 주입합니다. 사용자 정의 네트워크 연동을 위한 수동 Resource 계측 및 Trace Header 생성을 지원합니다. DNS, TCP, SSL 단계별 소요 시간은 수동 계측이 필요합니다. - Session Replay(실험적): Cocos 화면을 캡처하고 RUM 세션과 연관시킵니다. 샘플링, 오류 세션 추가 샘플링, 프레임 캡처 주기, 이미지 크기를 구성할 수 있습니다. 노드 마스킹 및 숨기기를 지원하며, 기본적으로 입력 상자를 마스킹하고 터치 위치를 숨깁니다.
- 리플레이 화질 및 트래픽 제어: 화질 프리셋, 단일 프레임 크기 제한, 롤링 윈도우 이미지 데이터 예산을 구성할 수 있습니다. 적응형 캡처는 예산 사용량에 따라 프레임 캡처 주기, 화질, 크기를 조정하여 리플레이 세부 정보와 데이터 사용량의 균형을 맞추는 데 도움을 줍니다.
- 네이티브 호스트 Hybrid 연동: Cocos를 내장한 네이티브 앱에서 이미 초기화된 SDK를 재사용합니다.
guanceSdk.attach()로 연동하고guanceSdk.enterCocos()및guanceSdk.leaveCocos()를 사용하여 Cocos 수집 수명 주기를 관리함으로써 호스트 SDK가 중복 초기화되지 않도록 합니다. - 사용자 및 비즈니스 컨텍스트: 사용자 바인딩/해제, 글로벌 및 이벤트 레벨 사용자 지정 속성 추가를 지원하여 사용자, 환경, 비즈니스 컨텍스트별로 모니터링 데이터를 필터링할 수 있습니다. DataKit 또는 DataWay를 통한 업로드를 지원합니다.
- 프로젝트 설치 도구: 독립적인 Creator 2 및 Creator 3 진입점을 포함하는 npm 패키지, 설치 명령, 빌드 확장을 제공하여 Android 및 iOS 네이티브 Bridge와 의존성 구성을 지원합니다.
연동 요구 사항¶
- Cocos Creator 2.4.5–2.4.15 및 3.6.3–3.8.x를 지원하며, 3.0–3.6.2는 최선을 다해 지원합니다.
- Android API 21+ 또는 iOS 12+가 필요합니다. 현재 Web, 미니 게임, 데스크톱 타깃은 지원하지 않습니다.
- 독립 Cocos 앱은
guanceSdk.start()로 초기화합니다. Hybrid 앱은 먼저 네이티브 호스트에서 SDK를 초기화한 다음guanceSdk.attach()를 호출합니다. 두 초기화 방식은 상호 배타적입니다. - 필요에 따라 RUM, 로그, 분산 추적, Session Replay, 자동 수집을 구성합니다. iOS 네이티브 프로젝트를 생성한 후
pod install을 실행하여 의존성을 설치합니다.