All-in-One 통합
AIBudsSDK/AllInOne은 SDK 전체 구성을 사용하려는 제품을 위한 간편한 통합 방식입니다. 하나의 의존성으로 Core 기기 지원, ABMate 연결, FitCloud Pro 및 Jieli OTA 플러그인, 로깅, AI 서비스 제공자와 대시보드, 오프라인 음성 어시스턴트 인증, 앱 충돌 수집, 라이브 스트리밍 미들웨어, 오디오 의존성, 동영상 흔들림 보정을 모두 추가합니다.
설치 및 초기화 코드는 설치와 빠른 시작을 참고하세요. 이 페이지에서는 이 방식을 선택했을 때의 아키텍처상 영향을 설명합니다.
전체 SDK 통합 초기화
All-in-One이 번들 구현을 선택하고 Core와 AI를 순서대로 초기화한 뒤, 공유 오디오 세션 조정을 시작합니다.
초기화가 담당하는 작업
AIBudsAllInOneSDK.initialize는 단순히 Core로 처리를 전달하지 않고 다음 설정을 함께 수행합니다.
- XLFacility 로깅 플러그인을 설정합니다.
- StarBurst와 MLTCloud 기기 인증 브리지를 등록합니다.
- 오프라인 음성 어시스턴트 인증 브리지를 등록합니다.
- 내장 동영상 흔들림 보정 플러그인을 등록합니다.
- 번들 FitCloud Pro 및 Jieli OTA 프로토콜 플러그인을 등록합니다.
AIBudsSDK를ABMateSDK와 전달받은 Core 설정 및 델리게이트로 초기화합니다.- 번들에 포함된 StarBurst와 MLTCloud 서비스 제공자 구현으로
AIBudsAISDK를 초기화합니다. - 초기화가 성공하면 공유 오디오 세션 조정기를 시작합니다.
앱 충돌 수집기 설치와 AI 서비스 분석 대시보드 시작은 별도의 명시적 작업입니다. 구성에는 포함되지만 initialize만 호출해서 자동으로 활성화되지는 않습니다.
All-in-One이 적합한 경우
- 제품에서 SDK 기능군 대부분을 사용할 예정입니다.
- 바이너리 크기를 세밀하게 제어하는 것보다 빠른 통합과 일관된 기본 플러그인 구성이 중요합니다.
- 번들 AI 서비스 제공자와 내장 흔들림 보정 구현이 제품 정책에 맞습니다.
- 하나의 애플리케이션 수준 주체가 전역 로깅과 오디오 세션 설정을 관리할 수 있습니다.
모듈식 통합이 적합한 경우
- 일부 기기 기능만 필요합니다.
- 앱에서 자체 AI 스택이나 별도 미디어 처리기를 제공합니다.
- 바이너리 크기, 서드파티 전이 의존성, 시작 부작용을 엄격하게 제어해야 합니다.
- 앱에 이미 정교한 오디오 세션 정책이 있습니다.
- 보안 정책상 진단 서버나 충돌 수집을 대상에서 제외해야 합니다.
중복 초기화 방지
All-in-One 초기화가 성공한 뒤에는 AIBudsSDK나 AIBudsAISDK를 별도로 초기화하지 마세요. All-in-One에서 이미 선택한 플러그인과 경쟁하는 구현도 등록하지 마세요. 기능 코드는 또 다른 전역 주체를 만들지 말고 초기화된 SDK 구성을 사용해야 합니다.
초기화가 false를 반환하면 기능 시작을 계속하지 마세요. 로그를 확인하여 실패한 Core 또는 AI 단계를 수정합니다. 공개 반환값만으로는 어느 의존성이 실패했는지 알 수 없습니다.
선택적 구성 요소도 별도 정책 필요
- 보고서 수집 동의, 보관, 업로드 방식을 정한 뒤에만 앱 충돌 수집기를 이른 시점에 설치합니다.
- AI 서비스 분석 대시보드는 통제된 진단 빌드와 네트워크에서만 시작합니다.
- 앱이 플레이어와 스트리머 정리를 직접 관리할 때만 라이브 스트리밍을 사용합니다.
- 플러그인이 미리 등록되어 있어도 흔들림 보정 원본 파일 대체 경로와 저장 정책을 유지합니다.
도입 점검 목록
- 제품에서 All-in-One의 모든 의존성을 의도적으로 수용합니다.
- 애플리케이션 수준 주체가 초기화를 한 번만 수행합니다.
- 초기화 전에 Core 설정과 델리게이트가 확정되어 있습니다.
- 오디오 세션 동작이 호스트 앱과 호환됩니다.
- 앱 충돌 수집기와 AI 서비스 분석 대시보드는 각각 별도 정책으로 제어됩니다.
- Core, AI 또는 플러그인을 중복 초기화하지 않습니다.
- 향후 모듈식 통합으로 전환할 담당자와 회귀 테스트 계획이 있습니다.