Android 5.0이 출시되면서 Google Cast를 지원하는 Android TV가 출시되었습니다. 이 문서에서는 Cast 애플리케이션을 개발할 때 Android TV에서 설정하고 테스트하는 데 필요한 작업을 설명합니다. 기존 Cast 애플리케이션은 추가 작업 없이 Android TV에서 실행됩니다. Cast 애플리케이션을 처음 개발하는 경우 먼저 Google Cast 문서를 검토하고 Android 기기에서 개발하고 테스트하기 전에 Chromecast 기기에서 실행할 Cast 애플리케이션을 개발하세요.
개발 설정
- Android TV 기기를 설정합니다.
- Android TV 기기를 로컬 네트워크에 연결합니다.
- Google 계정에 로그인합니다.
- 설정의 기기 행에서 정보를 선택합니다.
- 아래로 스크롤하여 '개발자가 되셨습니다'라는 메시지가 표시되는 대화상자가 나타날 때까지 빌드를 여러 번 클릭합니다.
- USB 디버깅의 경우:
- USB 케이블을 설치합니다. 단, 아직 USB 케이블의 마스터 끝을 컴퓨터에 연결하지 마세요.
- 환경설정 행에서 개발자 옵션을 선택하고 USB 디버깅을 선택한 다음 사용을 선택합니다.
- 홈 화면으로 돌아갑니다. 방금 선택한 설정을 적용하려면 이 작업을 수행해야 합니다. 초기화하지 않는 한 설정은 그대로 유지됩니다.
- 기기 등록에 설명된 대로 Google Cast SDK 개발자 콘솔에 Android TV 기기를 등록합니다.
디버깅
Android TV 기기에서 웹 수신기 애플리케이션을 테스트하고 디버그하려면 다음 단계를 따르세요.
- Google Cast SDK 개발자 콘솔에 Android TV 기기와 애플리케이션을 등록합니다. 기기 및 애플리케이션 등록에 대한 자세한 내용은 등록을 참고하세요.
- 발신기 애플리케이션을 시작하고 Android TV 기기로 전송합니다.
- Android 디버그 브리지 사용에 설명된 대로 ADB를 통해 Android TV 기기에 연결합니다.
- 개발 머신에서 Chrome 브라우저 창을 열고 chrome://inspect로 이동합니다.
- 검사 링크를 클릭하여 웹 수신기를 디버거로 가져옵니다.
Chrome 원격 디버거 콘솔에서 다음을 입력하여 디버그 로깅을 사용 설정합니다.
cast.receiver.logger.setLevelValue(cast.receiver.LoggerLevel.DEBUG);
자세한 내용은 디버깅을 참고하세요.
Android TV 호환성 가이드라인
Cast 애플리케이션을 Android TV와 호환되도록 하려면 추가 작업이 거의 필요하지 않습니다. 다음은 애플리케이션이 Android TV와 호환되도록 하기 위해 피해야 할 일반적인 실수입니다.
- 사용자 에이전트 문자열에 'Android' 및 'C eCPC'가 모두 포함되어 있습니다. 일부 사이트는 'Android' 라벨을 감지하므로 모바일 전용 사이트로 리디렉션될 수 있습니다. 사용자 에이전트 문자열의 'Android'가 항상 모바일 사용자를 나타낸다고 가정하지 마세요.
- Android의 미디어 스택은 데이터를 가져오는 데 투명한 GZIP을 사용할 수 있습니다. 미디어 데이터가
Accept-Encoding: gzip
에 응답할 수 있는지 확인합니다. - Android TV HTML5 미디어 이벤트는 Chromecast와 다른 시점에 트리거될 수 있으므로 Chromecast에 숨겨진 문제가 드러날 수 있습니다.
- 미디어를 업데이트할 때
timeupdate
,pause
,waiting
와 같은<audio>/<video>
요소에서 실행된 미디어 관련 이벤트를 사용합니다.progress
,suspend
,stalled
와 같은 네트워킹 관련 이벤트는 플랫폼에 종속되는 경향이 있으므로 사용하지 마세요. - 웹 수신기 사이트의 HTTPS 인증서를 구성할 때 중간 CA 인증서를 포함해야 합니다. Qualsys SSL 테스트 페이지를 참고하여 확인할 수 있습니다. 사이트의 신뢰할 수 있는 인증 경로에 '추가 다운로드'라고 표시된 CA 인증서가 포함되어 있으면 Android 기반 플랫폼에서 로드되지 않을 수 있습니다.
- Chromecast는 720p 그래픽 평면에 웹 수신기 페이지를 표시하지만 Android TV를 포함한 다른 전송 플랫폼에는 페이지를 최대 1080p로 표시할 수 있습니다. 웹 수신기 페이지가 다양한 해상도에서 적절하게 확장되도록 합니다.
Android 디버그 브리지 사용
Android TV 플랫폼은 텔레비전, 셋톱 박스, 게임 콘솔 등 다양한 소비자 가전 기기에 제공됩니다. 각각 다르게 구성될 수 있습니다. 기기의 사용자 인터페이스를 통해 Android TV 시스템 리소스에 액세스하는 데 문제가 있는 경우 Android 디버그 브리지 (ADB)를 사용하여 기기의 일련번호를 받고 애플리케이션을 디버그할 수 있습니다. 자세한 내용은 Android 디버그 브리지를 참고하세요.
Wi-Fi를 통해 ADB 사용
Wi-Fi 연결을 통해 ADB를 통해 기기에 연결하려면 다음 단계를 따르세요.
- Android TV 기기에서 개발 설정에 설명된 대로 개발자 옵션을 사용 설정합니다.
- 컴퓨터가 Android TV 기기와 동일한 네트워크에 연결되어 있는지 확인합니다.
터미널을 열고 다음을 입력합니다.
adb connect Android TV device IP address:4321
컴퓨터에서 터미널을 열고 ADB 명령어를 입력합니다. 다음 명령어를 사용하여 연결이 설정되었고 Android TV 기기가 네트워크를 통해 통신하고 있는지 확인할 수 있습니다.
adb logcat
USB 케이블로 ADB 사용하기
USB 케이블 연결로 ADB를 통해 기기에 연결하려면 다음 단계를 따르세요.
- 개발 설정에 설명된 대로 개발을 위해 Android TV 기기를 설정합니다.
- USB 케이블의 마스터 끝을 컴퓨터에 연결합니다.
- USB 디버깅을 허용하시겠습니까? 대화상자에서 이 컴퓨터에서 항상 허용을 선택하고 확인을 선택합니다.
컴퓨터에서 터미널을 열고 ADB 명령어를 입력합니다. 다음 명령어를 사용하여 연결이 설정되었고 Android TV 기기가 네트워크를 통해 통신하고 있는지 확인할 수 있습니다.
adb logcat
TCP/IP를 통해 ADB 사용
ADB는 USB 케이블 없이 TCP/IP를 통해 작동하지만 먼저 Android TV 기기의 IP 주소를 가져와야 합니다. 개발자 문제 기기는 ADB 포트 연결을 자동으로 리슨하며 포트를 초기화하지 않고도 연결할 수 있습니다. 표준 소매 Android TV 기기는 ADB 연결을 자동으로 수신 대기하지 않습니다. 이러한 기기의 경우 먼저 USB 케이블로 ADB에 연결하고 포트를 초기화해야 합니다.
- 개발 설정에 설명된 대로 개발을 위해 Android TV 기기를 설정합니다.
- Android TV의 기기 행에서 네트워크 > Wi-Fi를 선택하고 연결된 네트워크를 선택합니다.
- 상태 정보를 선택하고 IP 주소를 기록해 둡니다.
표준 소매 Android TV 기기인 경우 다음 단계를 따르세요.
- USB 케이블로 ADB 사용하기의 단계를 따릅니다.
- 컴퓨터가 Android TV 기기와 동일한 네트워크에 연결되어 있는지 확인합니다.
컴퓨터의 터미널에서 다음을 입력하여 TCP/IP용 포트를 초기화합니다.
adb tcpip 5555
USB 케이블을 제거하고 터미널에 다음을 입력합니다.
adb connect Android TV device IP address:5555
기기가 개발자 문제의 Android TV인 경우 다음 단계를 따르세요.
- 컴퓨터가 Android TV 기기와 동일한 네트워크에 연결되어 있는지 확인합니다.
터미널을 열고 다음을 입력합니다.
adb connect Android TV device IP address:4321
Android TV의 USB 디버깅을 허용하시겠습니까? 대화상자에서 이 컴퓨터에서 항상 허용을 선택하고 확인을 선택합니다. 다음 명령어를 사용하여 연결이 설정되었고 Android TV 기기가 네트워크를 통해 통신하고 있는지 확인할 수 있습니다.
adb logcat