앱 테스트 및 디버그
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
앞서 설명한 단계에 따라 오프라인 주문 처리 앱을 빌드한 후 다음 단계에 따라 자체 호스팅 환경에서 스마트 홈 통합을 테스트하는 것이 좋습니다.
자체 호스팅 환경에서 로컬 이행 앱을 실행하는 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 명령어를 수신하고 예상대로 작동할 수 있는지 확인합니다.
JavaScript 업로드 버튼을 사용하여 이전에 생성한 번들 파일을 업로드합니다.
그림 3: JavaScript 앱을 업로드합니다.
로컬 처리에서 지원하는 모든 런타임 환경에서 작업이 올바르게 작동하도록 번들 파일 (Node, Web)의 두 버전을 모두 업로드해야 합니다.
Node.js를 타겟팅하는 JavaScript 업로드: dist/node 디렉터리에서 bundle.js 파일을 업로드합니다.
Chrome (브라우저)을 타겟팅하는 JavaScript 업로드: dist/web 디렉터리에서 bundle.js 파일을 업로드합니다.
어시스턴트 지원 기기에서 작업을 테스트하여 프로덕션 환경에서 예상대로 작동하는지 확인합니다. 자세한 내용은 스마트 홈 작업 테스트 및 공유를 참고하세요.
작업이 작동하는 방식에 만족하면 스마트 홈 작업 출시의 안내에 따라 프로덕션 배포를 위해 Google에 제출하세요. 여기에는 자체 테스트 및 인증 요청 단계를 완료하는 것이 포함됩니다.