Sebaiknya Anda membangun aplikasi fulfillment lokal menggunakan langkah-langkah yang dijelaskan sebelumnya, lalu menguji integrasi smart home di lingkungan hosting Anda menggunakan langkah-langkah berikut:
Di lingkungan hosting Anda sendiri, tayangkan halaman HTML yang menjalankan aplikasi fulfillment lokal. Cuplikan berikut menunjukkan contoh file HTML statis yang menjalankan aplikasi fulfillment lokal Anda.
<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>
Men-debug dari Chrome. Gunakan titik henti sementara dan log untuk memecahkan masalah integrasi Anda.
Ubah dan kompilasi kode TypeScript Anda, lalu ulangi langkah-langkah ini.
Dengan mengulangi proses build-dan-pengujian ini, Anda dapat melihat penerapan perubahan menangkap dan men-debug masalah dengan kode Anda dengan cepat dan mudah.
Menguji kontrol perangkat
Di Konsol Action, Anda perlu menentukan URL aplikasi web Anda, yang menayangkan HTML yang dimuat di perangkat Google Home atau Google Nest selama fulfillment lokal.
Untuk menguji kontrol perangkat dengan fulfillment lokal, ikuti langkah-langkah berikut:
Chrome
- Buka project Smart Home Anda di konsol Actions.
- Di navigasi sebelah kiri, klik Tindakan.
- Di bagian Konfigurasi SDK rumah lokal (opsional) > Masukkan URL pengujian untuk Chrome, tentukan server pengembangan URL yang menayangkan HTML yang menjalankan aplikasi fulfillment lokal Anda.
- Klik Simpan. Mungkin diperlukan waktu hingga 30 menit bagi Google untuk menerapkan perubahan pada konsol.
- Mulai ulang pengujian perangkat Google Home atau Google Nest Anda.
- Berikan perintah ke perangkat smart Anda. Misalnya, jika perangkat Anda menerapkan trait OnOff, Anda bisa mengucapkan "Ok Google, nyalakan lampu".
Node.js
- Buka project Smart Home Anda di konsol Actions.
- Di navigasi sebelah kiri, klik Tindakan.
- Di bagian Konfigurasi SDK rumah lokal (opsional) > Masukkan URL pengujian untuk Node, tentukan server pengembangan URL yang menayangkan JavaScript yang menjalankan aplikasi fulfillment lokal Anda.
- Klik Simpan. Mungkin diperlukan waktu hingga 30 menit bagi Google untuk menerapkan perubahan pada konsol.
- Mulai ulang pengujian perangkat Google Home atau Google Nest Anda.
- Berikan perintah ke perangkat smart Anda. Misalnya, jika perangkat Anda menerapkan trait OnOff, Anda bisa mengucapkan "Ok Google, nyalakan lampu".
Untuk detail selengkapnya tentang runtime yang digunakan oleh perangkat Anda, lihat Didukung perangkat.
Proses debug dari Chrome
Anda dapat men-debug aplikasi fulfillment lokal menggunakan Chrome DevTools. Sebelum dapat men-debug, pastikan bahwa lingkungan Anda disiapkan dengan benar:
- Anda telah menyetel URL pengembangan di konsol ke URL yang dapat dijangkau oleh perangkat Google Home atau Google Nest (baik di jaringan area lokal atau melalui internet),
- Komputer Anda tersambung ke jaringan area lokal yang sama dengan Perangkat Google Home atau Google Nest yang sedang Anda uji.
- Jaringan Anda tidak memblokir paket antar-perangkat.
- Anda login dengan Akun Google yang sama di konsol Actions dan di perangkat Google Home atau Google Nest.
- Anda telah memperbarui respons SYNC di cloud Anda
pemenuhan pesanan.
Ini harus menampilkan minimal satu nilai yang valid di kolom
otherDeviceIds
. - Anda telah memasukkan konfigurasi pemindaian yang benar informasi di Konsol Actions.
Untuk menghubungkan aplikasi fulfillment lokal Anda ke debugger Chrome DevTools, ikuti langkah-langkah berikut:
Chrome
- Di mesin pengembangan lokal Anda, instal dan luncurkan Browser Google Chrome.
- Di kolom alamat browser Chrome, luncurkan pemeriksa Chrome
dengan memasukkan:
chrome://inspect#devices
. Anda akan melihat daftar perangkat di halaman, dan file HTML Anda seharusnya dicantumkan di bawah nama pengujian Perangkat Google Home atau Google Nest. - Klik link pemeriksaan biru di bawah HTML Anda untuk meluncurkan Chrome DevTools. Beralih ke tab Konsol. Platform Local Home menghasilkan versi aplikasi Anda dan Local Home SDK di log konsol. Jika Anda melihat log itu, itu berarti Google telah berhasil memuat aplikasi Anda, dan dapat terhubung ke sana. Jika tidak, reboot perangkat Google Home atau Google Nest Anda.
Node.js
- Di mesin pengembangan lokal Anda, instal dan luncurkan Browser Google Chrome.
- Tentukan alamat IP lokal perangkat pengujian Anda.
- Di kolom alamat browser Chrome, luncurkan pemeriksa Chrome
dengan memasukkan:
chrome://inspect#devices
. - Pilih Configure... untuk membuka Target discovery settings.
- Masukkan
DEVICE_IP_ADDRESS:9222
dalam daftar dan klik Selesai. - Klik link pemeriksaan biru di bawah skrip Anda untuk meluncurkan Chrome DevTools. Beralih ke tab Konsol. Platform Local Home menghasilkan versi aplikasi Anda dan Local Home SDK di log konsol. Jika Anda melihat log itu, itu berarti Google telah berhasil memuat aplikasi Anda, dan dapat terhubung ke sana. Jika tidak, reboot perangkat Google Home atau Google Nest Anda.
Untuk mengetahui detail selengkapnya tentang runtime yang digunakan oleh perangkat Anda, lihat Didukung Perangkat.
Tips proses debug
Beberapa hal tambahan yang perlu diingat selama proses debug meliputi:
- Jangan menautkan beberapa perangkat Google Home atau Google Nest ke akun pengujian Anda secara bersamaan jaringan lokal. Anda tidak akan dapat mengontrol perangkat Google Home atau Google Nest mana yang ditargetkan dengan perintah fulfillment lokal.
- Muat ulang halaman di Chrome DevTools untuk memuat ulang penampung aplikasi fulfillment lokal Anda
dengan kode terbaru dari URL pengembangan Anda. Tindakan ini tidak mereset
Platform Local Home, yang mungkin diperlukan untuk memicu kembali intent platform
(seperti
IDENTIFY
) di aplikasi fulfillment lokal Anda. Untuk mereset platform Local Home, reboot perangkat Google Home atau Google Nest Anda. - Pastikan aplikasi JavaScript Anda dimuat tanpa error. Untuk melakukannya, lihat
bagian konsol pada halaman DevTools. Jika ada masalah, Anda akan melihat
pesan seperti ini:
Uncaught TypeError: Cannot read property ‘open’ of null.
verificationId
dari responsIDENTIFY
harus cocok dengan salah satuotherDeviceIds
dari responsSYNC
.- Untuk pengendali
EXECUTE
, pastikan perintah HTTP, TCP, atau UDP dapat berupa diterima oleh perangkat Anda dan bekerja seperti yang diharapkan. - Pastikan untuk menampilkan
Promise
dari pengendali. - Hindari mempertahankan status global dalam memori. Lihat Siklus proses aplikasi.
- Error yang ditampilkan oleh aplikasi fulfillment lokal akan muncul dalam project Anda log error.
Menyiapkan dan meluncurkan ke produksi
Jika Anda sudah siap meluncurkan Action smart home, ikuti langkah-langkah berikut:
- Buka terminal. Di direktori project Anda, jalankan perintah
npm run build
. Perintah ini menghasilkan paket JavaScript berikut untuk aplikasi Anda di bagian Direktoridist
:project-directory/ └── dist ├── web │ └── bundle.js └── node └── bundle.js
- Di konsol, upload aplikasi JavaScript Anda dengan mengklik Develop > Tindakan. Di bagian Configure Local Home SDK, klik Upload File JavaScript.
- Pada dialog Upload files, upload file paket yang sebelumnya
dibuat. Pastikan untuk mengupload kedua versi file paket (Node, Web)
sehingga Action Anda dikonfigurasi agar berfungsi dengan benar di semua runtime
yang didukung oleh fulfillment lokal.
- Upload JavaScript Anda yang menargetkan Node.js: Upload
bundle.js
dari direktoridist/node
. - Upload JavaScript yang menargetkan Chrome (browser): Upload
bundle.js
dari direktoridist/web
.
- Upload JavaScript Anda yang menargetkan Node.js: Upload
- Menguji Action Anda di perangkat yang dilengkapi dengan Asisten untuk memverifikasi bahwa perilakunya seperti yang diharapkan dalam lingkungan produksi. Untuk mempelajari lebih lanjut, lihat Uji dan bagikan Action smart home Anda.
- Jika Anda sudah puas dengan cara kerja Action, kirimkan ke Google untuk deployment produksi dengan mengikuti petunjuk dalam Luncurkan Action smart home. Ini termasuk menyelesaikan langkah-langkah ujian mandiri dan permintaan sertifikasi.