앱 테스트 및 디버그
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
앞서 설명한 단계에 따라 오프라인 주문 처리 앱을 빌드한 다음 다음 단계에 따라 자체 호스팅 환경에서 스마트 홈 통합을 테스트하는 것이 좋습니다.
자체 호스팅 환경에서 로컬 이행 앱을 실행하는 HTML 페이지를 제공합니다. 다음 스니펫은 로컬 이행 앱을 실행하는 정적 HTML 파일의 예를 보여줍니다.
<html>
<head>
<!-- Local Home SDK -->
<script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script>
<!-- Local app under development -->
<script src="local_execution.js"></script>
</head>
</html>
Chrome 브라우저의 주소 필드에 chrome://inspect#devices를 입력하여 Chrome 인스펙터를 실행합니다. 페이지에 기기 목록이 표시되고 HTML 파일이 테스트 Google Home 또는 Google Nest 기기 이름 아래에 표시되어야 합니다.
HTML 아래의 파란색 검사 링크를 클릭하여 Chrome DevTools를 실행합니다.
콘솔 탭으로 전환합니다.
Local Home 플랫폼은 콘솔 로그에 앱 버전과 Local Home SDK 버전을 출력합니다. 로그가 표시되면 Google에서 앱을 성공적으로 로드했으며 앱에 연결할 수 있다는 의미입니다.
그렇지 않은 경우 Google Home 또는 Google Nest 기기를 재부팅합니다.
Chrome 브라우저의 주소 필드에 chrome://inspect#devices를 입력하여 Chrome 인스펙터를 실행합니다.
구성...을 선택하여 타겟 검색 설정을 엽니다.
그림 2: chrome://inspect의 타겟 검색 설정
목록에 DEVICE_IP_ADDRESS:9222를 입력하고 완료를 클릭합니다.
스크립트 아래의 파란색 검사 링크를 클릭하여 Chrome DevTools를 실행합니다.
콘솔 탭으로 전환합니다.
Local Home 플랫폼은 콘솔 로그에 앱 버전과 Local Home SDK 버전을 출력합니다. 로그가 표시되면 Google에서 앱을 성공적으로 로드했으며 앱에 연결할 수 있다는 의미입니다.
그렇지 않은 경우 Google Home 또는 Google Nest 기기를 재부팅합니다.
동일한 로컬 네트워크에서 여러 Google Home 또는 Google Nest 기기를 테스트 계정에 연결하지 마세요. 로컬 처리 명령의 타겟이 되는 Google Home 또는 Google Nest 기기를 제어할 수 없습니다.
Chrome DevTools에서 페이지를 새로고침하여 개발 URL의 최신 코드로 로컬 이행 앱 컨테이너를 다시 로드합니다. 이렇게 해도 로컬 홈 플랫폼은 재설정되지 않으며, 로컬 처리 앱에서 플랫폼 인텐트(예: IDENTIFY)를 다시 트리거해야 할 수 있습니다. 로컬 홈 플랫폼을 재설정하려면 Google Home 또는 Google Nest 기기를 재부팅하세요.
JavaScript 앱이 오류 없이 로드되는지 확인합니다. 이렇게 하려면 DevTools 페이지의 콘솔 섹션을 확인하세요. 문제가 있으면 'Uncaught TypeError: Cannot read property 'open' of null.'과 같은 메시지가 표시됩니다.
IDENTIFY 응답의 verificationId은 SYNC 응답의 otherDeviceIds 중 하나와 일치해야 합니다.
EXECUTE 핸들러의 경우 HTTP, TCP 또는 UDP 명령어를 기기에서 수신하고 예상대로 작동할 수 있는지 확인합니다.