Testowanie i debugowanie aplikacji

Zalecamy utworzenie lokalnej aplikacji do realizacji zamówień w sposób opisany powyżej, a następnie przetestowanie integracji inteligentnego domu we własnym środowisku hostingowym. Aby to zrobić:

  1. W swoim środowisku hostingowym wyświetl stronę HTML, na której działa lokalna aplikacja do realizacji zamówień. Poniższy fragment kodu zawiera przykład statycznego pliku HTML, na którym działa lokalna aplikacja do realizacji zamówień.

    <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>
    
    
  2. Sterowanie urządzeniem testowym.

  3. Debuguj z Chrome Użyj punktów przerwania i logów do rozwiązywania problemów z integracją.

  4. Zmodyfikuj i skompiluj kod TypeScript, a następnie powtórz te czynności.

Powtarzając ten proces kompilacji i testowania, możesz szybciej i łatwiej dostrzegać i debugować zmiany wprowadzone w kodzie.

Sterowanie urządzeniem testowym

W konsoli działań musisz podać adres URL aplikacji internetowej, która przesyła kod HTML wczytany na urządzeniu Google Home lub Google Nest podczas realizacji lokalnej.

Aby przetestować sterowanie urządzeniami w ramach lokalnej realizacji zamówienia, wykonaj te czynności:

Chrome

  1. Otwórz projekt Smart Home w Konsoli Actions.
  2. W menu po lewej stronie kliknij Działania.
  3. W sekcji Skonfiguruj lokalny pakiet SDK do strony głównej (opcjonalnie) > Wpisz testowy adres URL dla Chrome podaj adres URL serwera programistycznego, który udostępnia kod HTML, na którym działa Twoja lokalna aplikacja do realizacji zamówień.
  4. Kliknij Zapisz. Rozpowszechnienie przez Google zmian w konsoli może potrwać do 30 minut.
  5. Zrestartuj urządzenie testowe Google Home lub Google Nest.
  6. Wydaj polecenie do urządzenia. Jeśli na przykład Twoje urządzenie obsługuje funkcję OnOff, możesz powiedzieć „OK Google, włącz światło”.

Node.js

  1. Otwórz projekt Smart Home w Konsoli Actions.
  2. W menu po lewej stronie kliknij Działania.
  3. W sekcji Skonfiguruj lokalny pakiet SDK dla strony głównej (opcjonalnie) > Wpisz testowy adres URL węzła podaj URL serwera programistycznego, który udostępnia kod JavaScript uruchamiający Twoją lokalną aplikację logiczną.
  4. Kliknij Zapisz. Rozpowszechnienie przez Google zmian w konsoli może potrwać do 30 minut.
  5. Zrestartuj urządzenie testowe Google Home lub Google Nest.
  6. Wydaj polecenie do urządzenia. Jeśli na przykład Twoje urządzenie obsługuje funkcję OnOff, możesz powiedzieć „OK Google, włącz światło”.

Więcej informacji o tym, które środowisko wykonawcze jest używane przez urządzenie, znajdziesz w sekcji Obsługiwane urządzenia.

.

Debugowanie z Chrome

Lokalną aplikację realizacji zamówień możesz debugować za pomocą Narzędzi deweloperskich w Chrome. Zanim rozpoczniesz debugowanie, upewnij się, że środowisko jest prawidłowo skonfigurowane:

  • Adres URL do programowania masz ustawiony w konsoli na adres, do którego ma dostęp urządzenie Google Home lub Google Nest (w sieci lokalnej albo przez internet).
  • Urządzenie jest połączone z tą samą siecią lokalną co urządzenie Google Home lub Google Nest, które testujesz.
  • Sieć nie blokuje pakietów między urządzeniami.
  • Jesteś zalogowany(-a) na tym samym koncie Google w Konsoli Actions i na urządzeniu Google Home lub Google Nest.
  • Zaktualizowaliśmy odpowiedź SYNC w realizacji w chmurze. Powinien zwrócić co najmniej jedną prawidłową wartość w polu otherDeviceIds.
  • czy w konsoli Actions zostały podane prawidłowe informacje o konfiguracji skanowania.

Aby połączyć lokalną aplikację do realizacji zamówień z debugerem Narzędzi deweloperskich w Chrome, wykonaj te czynności:

Chrome

  1. Na komputerze lokalnym zainstaluj i uruchom przeglądarkę Google Chrome.
  2. W polu adresu przeglądarki Chrome uruchom inspektora Chrome, wpisując: chrome://inspect#devices. Na stronie powinna się wyświetlać lista urządzeń. Plik HTML powinien znajdować się pod nazwą testowego urządzenia Google Home lub Google Nest.
  3. Kliknij niebieski link inspekcji pod kodem HTML, aby uruchomić Narzędzia deweloperskie w Chrome. Przejdź na kartę Console (Konsola). Platforma Local Home w dzienniku konsoli podaje wersję aplikacji i wersję pakietu SDK Local Home. Jeśli widzisz ten dziennik, oznacza to, że aplikacja została wczytana przez Google i może się z nią połączyć. Jeśli nie, zrestartuj urządzenie Google Home lub Google Nest.
  4. Rysunek 1. Lokalna aplikacja do realizacji zamówień pod adresem chrome://inspect.

Node.js

  1. Na komputerze lokalnym zainstaluj i uruchom przeglądarkę Google Chrome.
  2. Określ lokalny adres IP urządzenia testowego.
  3. W polu adresu przeglądarki Chrome uruchom inspektora Chrome, wpisując: chrome://inspect#devices.
  4. Kliknij Skonfiguruj..., aby otworzyć Ustawienia wykrywania celów.
  5. Rysunek 2. Ustawienia wykrywania reklam docelowych na stronie chrome://inspect.
  6. Wpisz na liście DEVICE_IP_ADDRESS:9222 i kliknij Gotowe.
  7. Kliknij niebieski link inspekcji pod skryptem, aby uruchomić Narzędzia deweloperskie w Chrome. Przejdź na kartę Console (Konsola). Platforma Local Home w dzienniku konsoli podaje wersję aplikacji i wersję pakietu SDK Local Home. Jeśli widzisz ten dziennik, oznacza to, że aplikacja została wczytana przez Google i może się z nią połączyć. Jeśli nie, zrestartuj urządzenie Google Home lub Google Nest.

Więcej informacji o środowisku wykonawczym używanym przez urządzenie znajdziesz w sekcji Obsługiwane urządzenia.

Wskazówki dotyczące debugowania

Podczas debugowania pamiętaj o tych kwestiach:

  • Nie łącz wielu urządzeń Google Home lub Google Nest z kontem testowym w tej samej sieci lokalnej. Za pomocą lokalnych poleceń realizacji zamówień nie będziesz mieć możliwości kontrolowania, na które urządzenia Google Home lub Google Nest mają być kierowane reklamy.
  • Odśwież stronę w Narzędziach deweloperskich w Chrome, aby ponownie załadować lokalny kontener aplikacji do realizacji zamówień za pomocą najnowszego kodu z adresu URL dla programistów. Nie powoduje to zresetowania platformy Local Home, co może być konieczne do ponownego aktywowania intencji platformy (np. IDENTIFY) w lokalnej aplikacji do realizacji zamówień. Aby zresetować platformę Local Home, uruchom ponownie urządzenie Google Home lub Google Nest.
  • Sprawdź, czy aplikacja JavaScript wczytuje się bez błędów. W tym celu otwórz sekcję konsoli na stronie Narzędzi deweloperskich. Jeśli wystąpi problem, zobaczysz taki komunikat: Uncaught TypeError: Cannot read property ‘open’ of null.
  • Element verificationId w odpowiedzi IDENTIFY musi być zgodny z jednym ze wszystkich elementów otherDeviceIds w odpowiedzi SYNC.
  • W przypadku modułu obsługi EXECUTE sprawdź, czy polecenia HTTP, TCP i UDP mogą być odbierane przez urządzenie i działają zgodnie z oczekiwaniami.
  • Pamiętaj, aby zwrócić Promise z modułów obsługi.
  • Unikaj utrzymywania stanu globalnego w pamięci. Zobacz Cykl życia aplikacji.
  • Błędy zgłoszone przez lokalną aplikację do realizacji zamówień pojawią się w logach błędów projektu.

Przygotowywanie i wprowadzanie aplikacji na ścieżkę produkcyjną

Gdy wszystko będzie gotowe do uruchomienia działania inteligentnego domu, wykonaj te czynności:

  1. Otwórz terminal. W katalogu projektu uruchom polecenie npm run build. To polecenie wygeneruje następujące pakiety JavaScript dla aplikacji w katalogu dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. Prześlij w konsoli aplikację JavaScript, klikając Programowanie > Działania. W sekcji Skonfiguruj pakiet SDK aplikacji lokalnej kliknij Prześlij pliki JavaScript.
    Rys.3: Przesyłanie aplikacji JavaScript
  3. W oknie Prześlij pliki prześlij wygenerowane wcześniej pliki pakietu. Prześlij obie wersje plików pakietu (węzeł i sieć), tak aby akcja została skonfigurowana do prawidłowego działania we wszystkich środowiskach wykonawczych obsługiwanych przez lokalną realizację.
    1. Prześlij plik JavaScript kierowany na Node.js: prześlij plik bundle.js z katalogu dist/node.
    2. Prześlij plik JavaScript kierowany na Chrome (przeglądarkę): prześlij plik bundle.js z katalogu dist/web.
  4. Przetestuj akcję na urządzeniu z Asystentem, aby sprawdzić, czy działa zgodnie z oczekiwaniami w środowisku produkcyjnym. Więcej informacji znajdziesz w artykule Testowanie i udostępnianie działania inteligentnego domu.
  5. Jeśli działanie jest zadowalające, prześlij je do Google w celu wdrożenia produkcyjnego, wykonując czynności opisane w artykule Uruchamianie działania w inteligentnym domu. Obejmuje to samodzielne sprawdzenie aplikacji i złożenie wniosku o certyfikat.