Zalecamy utworzenie aplikacji do realizacji zamówień lokalnych, korzystając z opisanych wcześniej czynności, a następnie przetestowanie integracji z urządzeniami inteligentnego domu w własnym środowisku hostingu. Aby to zrobić:
We własnym środowisku hostingowym wyświetl stronę HTML, na której działa lokalna aplikacja do realizacji zamówień. Poniższy fragment kodu zawiera przykładowy statyczny plik HTML, który uruchamia lokalną aplikację 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>
Debugowanie w Chrome. Aby rozwiązać problemy z integracją, użyj punktów przerwania i logów.
Zmodyfikuj i skompiluj kod TypeScript, a potem powtórz te czynności.
Powtarzając proces kompilacji i testowania, możesz szybko sprawdzać zmiany w działaniu oraz łatwiej wykrywać i rozwiązywać problemy z kodem.
Testowanie sterowania urządzeniem
W Konsoli Action musisz podać adres URL aplikacji internetowej, która wyświetla kod HTML wczytywany na urządzeniu Google Home lub Google Nest podczas lokalnej realizacji.
Aby przetestować sterowanie urządzeniem za pomocą lokalnej realizacji, wykonaj te czynności:
Chrome
- Otwórz projekt Smart Home w konsoli Actions.
- W panelu użytkownika po lewej stronie kliknij Działania.
- W sekcji Skonfiguruj pakiet SDK lokalnego interfejsu domowego (opcjonalnie) > Wpisz adres URL testowy Chrome podaj adres URL serwera programistycznego, który dostarcza kod HTML używany przez Twoją aplikację do realizacji lokalnej.
- Kliknij Zapisz. Rozpowszechnienie przez Google zmian w konsoli może zająć do 30 minut.
- Uruchom ponownie testowe urządzenie Google Home lub Google Nest.
- Wydaj polecenie na urządzeniu smart. Jeśli na przykład Twoje urządzenie obsługuje cechę OnOff, możesz powiedzieć „OK Google, włącz światła”.
Node.js
- Otwórz projekt inteligentnego domu w Konsoli Actions.
- W panelu nawigacyjnym po lewej stronie kliknij Działania.
- W sekcji Skonfiguruj lokalny pakiet SDK na stronie głównej (opcjonalnie) > Wpisz adres URL do testowania dla węzła podaj URL serwera programistycznego, który udostępnia kod JavaScript uruchamiający lokalną aplikację realizującą realizację.
- Kliknij Zapisz. Rozpowszechnienie zmian w konsoli może potrwać do 30 minut.
- Uruchom ponownie testowe urządzenie Google Home lub Google Nest.
- Wydaj polecenie na urządzeniu smart. Jeśli na przykład Twoje urządzenie obsługuje cechę OnOff, możesz powiedzieć „OK Google, włącz światła”.
Więcej informacji o tym, z którego środowiska uruchomieniowego korzysta Twoje urządzenie, znajdziesz w sekcji Obsługiwane urządzenia.
Debugowanie w Chrome
Aplikację do obsługi zamówień lokalnych możesz debugować za pomocą Narzędzi deweloperskich w Chrome. Zanim zaczniesz debugować, sprawdź, czy środowisko jest prawidłowo skonfigurowane:
- w konsoli ustawiony jest URL do celów testowania, który jest dostępny z urządzenia Google Home lub Google Nest (w sieci lokalnej lub przez Internet);
- Komputer jest połączony z tą samą siecią lokalną co testowane urządzenie Google Home lub Google Nest.
- Twoja sieć nie blokuje pakietów między urządzeniami.
- Zaloguj się na to samo konto Google w Konsoli Actions i na urządzeniu Google Home lub Google Nest.
- Zaktualizowano odpowiedź SYNC w Twoim środowisku cloud fulfillment.
Powinna zwrócić co najmniej 1 prawidłową wartość w polu
otherDeviceIds
. - W Konsoli czynności wpisano prawidłowe informacje o konfiguracji skanowania.
Aby połączyć lokalną aplikację do obsługi zapytań z debugerem w Narzędziach deweloperskich Chrome, wykonaj te czynności:
Chrome
- Na lokalnym komputerze deweloperskim zainstaluj i uruchom przeglądarkę Google Chrome.
- Uruchom inspektor Chrome w polu adresu przeglądarki Chrome, wpisując:
chrome://inspect#devices
. Na stronie powinna być widoczna lista urządzeń, a plik HTML powinien być podany pod nazwą testowego urządzenia Google Home lub Google Nest. - Kliknij niebieski link „Zbadaj” pod kodem HTML, aby otworzyć Narzędzia deweloperskie w Chrome. Przejdź na kartę Konsola. Platforma Local Home wyświetla w logu konsoli wersję aplikacji i wersję pakietu SDK Local Home. Jeśli widzisz ten dziennik, oznacza to, że Google załadowało Twoją aplikację i może się z nią połączyć. Jeśli nie, uruchom ponownie urządzenie Google Home lub Google Nest.
Node.js
- Na lokalnym komputerze deweloperskim zainstaluj i uruchom przeglądarkę Google Chrome.
- Określ lokalny adres IP urządzenia testowego.
- W polu adresu przeglądarki Chrome uruchom Chrome Inspect, wpisując:
chrome://inspect#devices
. - Kliknij Konfiguruj…, aby otworzyć Ustawienia wykrywania docelowego.
- Wpisz
DEVICE_IP_ADDRESS:9222
na liście i kliknij Gotowe. - Kliknij niebieski link „Sprawdź” pod skryptem, aby otworzyć Narzędzia deweloperskie w Chrome. Przejdź na kartę Konsola. Platforma Local Home wyświetla w logu konsoli wersję aplikacji i wersję pakietu SDK Local Home. Jeśli widzisz ten dziennik, oznacza to, że Google załadowało Twoją aplikację i może się z nią połączyć. Jeśli nie, uruchom ponownie 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 należy pamiętać o kilku dodatkowych kwestiach:
- Nie łącz wielu urządzeń Google Home ani Google Nest z kontem testowym w tej samej sieci lokalnej. Nie będziesz mieć możliwości wyboru urządzenia Google Home ani Google Nest, które ma być docelowe dla poleceń lokalnego przetwarzania.
- Odśwież stronę w Narzędziach deweloperskich w Chrome, aby ponownie załadować kontener lokalnej aplikacji do realizacji zamówień za pomocą najnowszego kodu z adresu URL programowania. Nie powoduje to zresetowania platformy lokalnej, która może być potrzebna do ponownego wywołania intencji platformy (np.
IDENTIFY
) w lokalnej aplikacji do realizacji. Aby zresetować platformę lokalną, zrestartuj Google Home lub Google Nest. - Sprawdź, czy aplikacja JavaScript wczytuje się bez błędów. Aby to zrobić, sprawdź sekcję konsoli na stronie Narzędzi deweloperskich. Jeśli wystąpi problem, zobaczysz komunikat podobny do tego:
Uncaught TypeError: Cannot read property ‘open’ of null.
- Pole
verificationId
z odpowiedziIDENTIFY
musi być zgodne z jednym zotherDeviceIds
w odpowiedziSYNC
. - W przypadku obsługi
EXECUTE
sprawdź, czy urządzenie może odbierać polecenia HTTP, TCP lub UDP i czy działają one zgodnie z oczekiwaniami. - Pamiętaj, aby zwracać
Promise
z elementów obsługi. - Unikaj utrzymywania stanu globalnego w pamięci. Zobacz cykl życia aplikacji.
- Błędy wygenerowane przez aplikację do obsługi zamówień lokalnych pojawią się w dziennikach błędów projektu.
Przygotowanie i wdrożenie wersji produkcyjnej
Gdy wszystko będzie gotowe, wykonaj te czynności:
- Otwórz terminal. W katalogu projektu uruchom polecenie
npm run build
. To polecenie generuje w katalogudist
te pakiety JavaScripta dla aplikacji:project-directory/ └── dist ├── web │ └── bundle.js └── node └── bundle.js
- W konsoli prześlij aplikację JavaScript, klikając Tworzenie > Działania. W sekcji Skonfiguruj pakiet SDK Local Home kliknij Prześlij pliki JavaScript.
- W oknie Prześlij pliki prześlij wcześniej wygenerowane pliki pakietu. Prześlij obie wersje plików pakietu (Node i Web), aby działanie akcji było prawidłowo skonfigurowane we wszystkich środowiskach uruchomieniowych obsługiwanych przez realizację lokalną.
- Przesyłanie kodu JavaScript kierowanego na Node.js: prześlij plik
bundle.js
z katalogudist/node
. - Prześlij ustawienia kierowania na język JavaScript w Chrome (przeglądarka): prześlij plik
bundle.js
z katalogudist/web
.
- Przesyłanie kodu JavaScript kierowanego na Node.js: prześlij plik
- Przetestuj działanie na urządzeniu z Asystentem, aby sprawdzić, czy działa ona zgodnie z oczekiwaniami w środowisku produkcyjnym. Więcej informacji znajdziesz w artykule Testowanie i udostępnianie akcji inteligentnego domu.
- Gdy będziesz zadowolony z działania swojego działania, prześlij je do Google w celu wdrożenia w wersji produkcyjnej, wykonując instrukcje podane w artykule Uruchomienie działania domowego. Obejmuje to wykonanie testu samodzielnego i wysłanie prośby o certyfikację.