Google Cast 지원 Android TV

Android 5.0이 출시되면서 Google Cast를 지원하는 Android TV가 출시됩니다. 이 문서에서는 Cast 애플리케이션을 개발할 때 Android TV에서 설정하고 테스트하기 위해 해야 하는 작업을 설명합니다. 기존 Cast 애플리케이션은 추가 작업 없이 Android TV에서 실행됩니다. Cast 애플리케이션을 처음 개발하는 경우 Android TV를 개발하고 테스트하기 전에 먼저 Google Cast 문서를 검토하고 Chromecast 기기에서 실행되도록 Cast 애플리케이션을 개발하세요.

개발 설정

  1. Android TV 기기를 설정합니다.
    1. Android TV 기기를 로컬 네트워크에 연결합니다.
    2. Google 계정에 로그인합니다.
  2. 설정기기 행에서 정보를 선택합니다.
  3. '개발자가 되셨습니다.'라는 메시지가 포함된 대화상자가 표시될 때까지 아래로 스크롤하여 빌드를 여러 번 클릭합니다.
  4. USB 디버깅의 경우:
    1. USB 케이블을 설치합니다. 단, USB 케이블의 마스터 끝을 아직 컴퓨터에 연결하지 마세요.
    2. 환경설정 행에서 개발자 옵션, USB 디버깅, 켜짐을 차례로 선택합니다.
  5. 홈 화면으로 돌아갑니다. 방금 선택한 설정을 적용하려면 이 작업을 수행해야 합니다. 초기화를 하지 않는 한 설정이 유지됩니다.
  6. 기기 등록에 설명된 대로 Google Cast SDK 개발자 콘솔에 Android TV 기기를 등록합니다.

디버깅

Android TV 기기에서 웹 수신기 애플리케이션을 테스트하고 디버그하려면 다음을 실행하세요.

  1. Google Cast SDK 개발자 콘솔에 Android TV 기기와 애플리케이션을 등록합니다. 기기 및 애플리케이션 등록에 관한 자세한 내용은 등록을 참고하세요.
  2. 발신기 애플리케이션을 시작하고 Android TV 기기로 전송합니다.
  3. Android 디버그 브리지 사용에 설명된 대로 ADB를 통해 Android TV 기기에 연결합니다.
  4. 개발 머신에서 Chrome 브라우저 창을 열고 chrome://inspect로 이동합니다.
  5. inspect 링크를 클릭하여 웹 수신기를 디버거로 가져옵니다.
  6. Chrome 원격 디버거 콘솔에서 다음을 입력하여 디버그 로깅을 사용 설정합니다.

    cast.receiver.logger.setLevelValue(cast.receiver.LoggerLevel.DEBUG);
    

자세한 내용은 디버깅을 참고하세요.

Android TV 호환성 가이드라인

Cast 애플리케이션이 Android TV와 호환되도록 하려면 추가 작업이 거의 필요하지 않습니다. 다음은 애플리케이션이 Android TV와 호환되도록 하기 위해 피해야 할 권장사항과 일반적인 문제입니다.

  • 사용자 에이전트 문자열에는 'Android'와 'CrKey'가 모두 포함되어 있습니다. 일부 사이트는 'Android' 라벨을 감지하여 모바일 전용 사이트로 리디렉션될 수 있습니다. 사용자 에이전트 문자열의 'Android'가 항상 모바일 사용자를 나타낸다고 가정하지 마세요.
  • Android의 미디어 스택은 데이터를 가져오기 위해 투명한 GZIP을 사용할 수 있습니다. 미디어 데이터가 Accept-Encoding: gzip에 응답할 수 있는지 확인합니다.
  • Android TV HTML5 미디어 이벤트가 Chromecast와 다른 타이밍으로 트리거될 수 있으므로 Chromecast에 숨겨진 문제가 나타날 수 있습니다.
  • 미디어를 업데이트할 때 timeupdate, pause, waiting와 같은 <audio>/<video> 요소에서 실행한 미디어 관련 이벤트를 사용합니다. progress, suspend, stalled와 같은 네트워킹 관련 이벤트는 플랫폼에 종속될 수 있으므로 사용하지 마세요.
  • Web Receiver 사이트의 HTTPS 인증서를 구성할 때 중간 CA 인증서를 포함해야 합니다. Qualsys SSL 테스트 페이지를 참조하여 확인할 수 있습니다. 사이트의 신뢰할 수 있는 인증 경로에 '추가 다운로드' 라벨이 지정된 CA 인증서가 포함되어 있으면 Android 기반 플랫폼에서 로드되지 않을 수 있습니다.
  • Chromecast는 720p 그래픽 영역에서 웹 수신기 페이지를 표시하지만 Android TV를 비롯한 다른 Cast 플랫폼에서는 페이지를 최대 1080p까지 표시할 수 있습니다. Web Receiver 페이지가 다양한 해상도에서 적절하게 확장되는지 확인하세요.

Android 디버그 브리지 사용

Android TV 플랫폼은 텔레비전, 셋톱 박스, 게임 콘솔 등 다양한 종류의 소비자 가전 기기에 탑재되어 있습니다. 각각 다르게 구성할 수 있습니다. 기기의 사용자 인터페이스를 통해 Android TV 시스템 리소스에 액세스하는 데 문제가 있다면 Android 디버그 브리지 (ADB)를 사용하여 등록을 위한 기기의 일련번호를 가져오고 애플리케이션을 디버그할 수 있습니다. 자세한 내용은 Android 디버그 브리지를 참고하세요.

Wi-Fi를 통해 ADB 사용

Wi-Fi 연결을 사용하여 ADB를 통해 기기에 연결하려면 다음 단계를 따르세요.

  1. Android TV 기기에서 개발 설정에 설명된 대로 개발자 옵션을 사용 설정합니다.
  2. 컴퓨터가 Android TV 기기와 동일한 네트워크에 연결되어 있는지 확인합니다.
  3. 터미널을 열고 다음을 입력합니다.

    adb connect Android TV device IP address:4321
    
  4. 컴퓨터에서 터미널을 열고 ADB 명령어를 입력합니다. 다음 명령어를 사용하여 연결이 설정되었으며 Android TV 기기가 네트워크를 통해 통신하고 있는지 확인할 수 있습니다.

    adb logcat

USB 케이블로 ADB 사용

USB 케이블 연결로 ADB를 통해 기기에 연결하려면 다음 단계를 따르세요.

  1. 개발용 설정에 설명된 대로 Android TV 기기를 개발용으로 설정합니다.
  2. USB 케이블의 마스터 끝을 컴퓨터에 연결합니다.
  3. USB 디버깅을 허용하시겠습니까? 대화상자에서 이 컴퓨터에서 Always 허용을 선택하고 OK를 선택합니다.
  4. 컴퓨터에서 터미널을 열고 ADB 명령어를 입력합니다. 다음 명령어를 사용하여 연결이 설정되었으며 Android TV 기기가 네트워크를 통해 통신하고 있는지 확인할 수 있습니다.

    adb logcat

TCP/IP를 통해 ADB 사용

ADB는 USB 케이블 없이 TCP/IP를 통해 작동하지만 먼저 Android TV 기기의 IP 주소를 가져와야 합니다. 개발자 문제 기기는 ADB 포트 연결을 자동으로 수신 대기하며 포트를 초기화하지 않고도 연결할 수 있습니다. 표준 소매 Android TV 기기는 ADB 연결을 자동으로 수신 대기하지 않습니다. 이러한 기기의 경우 먼저 USB 케이블을 사용하여 ADB에 연결하고 포트를 초기화해야 합니다.

  1. 개발용 설정에 설명된 대로 Android TV 기기를 개발용으로 설정합니다.
  2. Android TV의 기기 행에서 네트워크 > Wi-Fi를 선택하고 연결된 네트워크를 선택합니다.
  3. 상태 정보를 선택하고 IP 주소를 기록해 둡니다.
  4. 표준 소매 Android TV 기기인 경우 다음 단계를 따르세요.

    1. USB 케이블로 ADB 사용하기의 단계를 따릅니다.
    2. 컴퓨터가 Android TV 기기와 동일한 네트워크에 연결되어 있는지 확인합니다.
    3. 컴퓨터의 터미널에서 다음을 입력하여 TCP/IP용 포트를 초기화합니다.

      adb tcpip 5555
    4. USB 케이블을 제거하고 터미널에 다음을 입력합니다.

      adb connect Android TV device IP address:5555
      
  5. 개발자 문제가 발생한 Android TV 기기인 경우 다음 단계를 따르세요.

    1. 컴퓨터가 Android TV 기기와 동일한 네트워크에 연결되어 있는지 확인합니다.
    2. 터미널을 열고 다음을 입력합니다.

      adb connect Android TV device IP address:4321
      
  6. Android TV의 USB 디버깅을 허용하시겠습니까? 대화상자에서 이 컴퓨터에서 항상 허용을 선택하고 확인을 선택합니다. 다음 명령어를 사용하여 연결이 설정되어 있고 Android TV 기기가 네트워크를 통해 통신하고 있는지 확인할 수 있습니다.

    adb logcat