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