Cast SDK를 사용하면 사용자가 발신자를 사용하여 스트리밍 시청각 콘텐츠를 선택하고 수신자라고 하는 다른 기기에서 콘텐츠를 재생하거나 전송하면서 동시에 발신자를 사용하여 재생을 제어할 수 있습니다.
발신자라는 용어는 Cast 세션의 컨트롤러 역할을 하는 앱을 나타냅니다. 발신자는 전송 세션을 시작하고 사용자의 콘텐츠 상호작용을 관리합니다.
모바일 앱과 Chrome 웹 앱을 비롯한 다양한 발신자와 터치 지원 Google Home 기기의 가상 제어 표면이 있습니다. Chrome 웹브라우저의 미디어 컨트롤은 Google 어시스턴트 자체와 마찬가지로 발신자 역할을 합니다.
수신자란 발신기 명령어에 응답하고 온라인 스트리밍 서비스에서 Cast 지원 기기로 스트리밍 콘텐츠를 전달하는 Cast 지원 기기에서 실행되는 앱을 의미합니다. Cast 지원 수신기 기기의 예로는 Chromecast, 스마트 TV, 스마트 TV, 스마트 스피커가 있습니다.
Cast SDK는 Cast 세션에 연결하는 여러 명의 발신자도 지원합니다. 예를 들어 한 발신자는 수신자에서 세션을 시작할 수 있고 다른 발신자는 동일한 세션에 참여하여 재생을 제어하거나 새 콘텐츠를 로드하거나 나중에 추가 콘텐츠를 재생목록에 추가할 수 있습니다.
앱 구성요소 및 아키텍처
Google Cast는 Android, iOS, Chrome과 같은 Cast 지원 웹 플랫폼용 발신기 앱 개발을 지원합니다.
수신기 앱은 다음과 같이 Cast 지원 기기에서 실행됩니다.
- 고화질 TV나 사운드 시스템에 연결된 Chromecast
- Cast 지원 TV
- Cast 지원 스마트 화면
- Android TV와 같은 Cast 지원 Android 기기
발신기가 SDK에서 정의한 미디어 재생 메시지를 사용하여 수신기에서 미디어 재생을 제어합니다. 앱 사용 사례에서 표준 미디어 재생 메시지에 공식적으로 정의되지 않은 데이터를 전송해야 하는 경우 여러 메시지 유형에서 제공하는 customData
필드를 사용하여 보조 데이터를 전달할 수 있습니다.
기본 Cast 앱 개발 시나리오에는 두 가지가 있습니다.
- 엔드 투 엔드 Cast 기반 솔루션 이 시나리오에서 개발자는 발신기 앱과 두 개의 수신기 앱(Android TV 수신기 및 웹 수신기)을 모두 빌드해야 합니다(자세한 내용은 아래 참고).
- 콘텐츠(화면 또는 멀티미디어 스트림)를 Google의 기본 Cast 수신기(기본 미디어 수신기라고 함)로 전송할 수 있는 Cast 지원 발신기 앱입니다. 이 시나리오에서 개발자는 발신자 앱 하나만 빌드하면 됩니다. 기본 미디어 수신기는 학습과 매우 제한된 재생 시나리오에 유용합니다. 맞춤 비즈니스 로직, 사용자 인증 정보, 권한 관리 또는 분석이 필요한 수신자는 실용적이지 않습니다.
Google Cast SDK
Google Cast SDK는 여러 Cast API 라이브러리로 구성되어 있습니다. API와 함께 다음 두 가지 문서가 있습니다.
- Cast 기능을 보여주는 샘플 코드와 함께 API를 사용하는 방법을 안내하는 API 가이드입니다.
- 특정 종류의 Cast 앱 개발 프로세스를 안내하는 Codelab 튜토리얼
Cast API는 플랫폼 및 Cast 앱 유형에 따라 구분됩니다. 표 1에는 다양한 Cast API 가이드 링크가 포함되어 있습니다.
플랫폼 | 보내는 사람 | 수신기 |
---|---|---|
Android | Android Sender 앱 | Android TV 수신기 개요 |
웹 | 웹 발신자 앱 | 웹 수신기 개요 |
iOS | iOS 발신기 앱 | 해당 사항 없음 |
발신자 앱 유형
발신자 앱은 다음 세 가지 플랫폼에서 실행할 수 있습니다.
- 웹
- Android
- iOS
발신자 유형 선택은 대체로 지원하려는 발신자 플랫폼에 의해 주도되지만 각 발신자 유형의 기능 및 제한사항을 아는 것이 중요합니다 (표 3 참고).
Capability | Android 발신자 | iOS 발신자 | 웹 발신자 |
---|---|---|---|
미디어 스트림 내의 광고 시점 및 컴패니언 광고 | |||
스타일이 지정된 텍스트 트랙 | |||
미디어 트랙 그룹화, 스타일 지정, 활성화 | |||
자동재생 및 현재 재생목록 (수정, 재정렬, 업데이트) | |||
맞춤 채널 | |||
맞춤 작업 | |||
컨트롤러 및 미니 컨트롤러를 포함한 전체 Cast UI | |||
참여 의도 |
수신기 앱 유형
수신기 앱은 발신기 앱과 Cast 기기 간의 통신을 처리합니다. 수신기에는 크게 웹 수신기와 Android TV 수신기, 이렇게 두 가지 유형이 있습니다. 웹 수신기는 최소한으로 제공해야 하며, Android TV 수신기를 제공하여 애플리케이션의 사용자 환경을 극대화하는 것이 좋습니다.
웹 수신기에는 3가지 유형이 있으며, 각 유형마다 고유한 품질 및 기능이 있습니다.
- 맞춤 수신기: 맞춤 로직, 브랜딩, 컨트롤 수정을 허용합니다.
- 맞춤 브랜딩이 가능한 스타일 미디어 수신기
- 가장 기본적인 유형인 기본 수신기 이렇게 하면 맞춤설정이 불가능하며 프로덕션 앱에 적합하지 않습니다.
Android TV 수신기는 맞춤 수신기에서 제공하는 기능 외에도 사용자에게 기본 환경을 제공하고 Cast를 Android TV와 원활하게 결합하는 기능 모음인 Cast Connect를 제공합니다.
표 2에는 다양한 유형의 수신기 기능이 요약되어 있습니다.
Android TV 수신기 | 맞춤 수신기 | SMR (Styled Media Receiver) | 기본 미디어 수신기 | |
---|---|---|---|---|
플랫폼 | ||||
Android 기반 (자바/Kotlin) | ||||
웹 기반 (HTML5) | ||||
요구사양 | ||||
등록해야 함 | ||||
기능 | ||||
HLS 및 DASH 미디어 재생 | ||||
터치 컨트롤 지원 | ||||
어시스턴트 지원 기기에서 음성 명령 처리 | ||||
맞춤설정 가능한 시각적 스타일 및 브랜딩 | ||||
커스텀 메시지 처리 | ||||
Cast Connect |
세 가지 웹 수신기 옵션 중에서 선택하는 옵션은 앱에서 지원해야 하는 미디어 유형, 필요한 UI 맞춤설정의 수준, 맞춤 로직의 요구사항에 따라 달라집니다.
빌드할 웹 수신기 유형 결정
앱이 Cast와 통합될 수 있다면 다음 메시지를 사용하여 빌드해야 하는 웹 수신기 유형을 결정합니다.
다음과 같은 경우 맞춤 수신기를 만듭니다. | |||||
앱에는 다음과 같은 특수 기능이 하나 이상 필요합니다.
|
또는 |
|
다음과 같은 경우 스타일 미디어 수신기를 만듭니다. | |||||
|
다음의 경우 기본 미디어 수신기를 사용합니다. | |||||
|