Menguji dan men-debug aplikasi

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:

  1. 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>
  2. Kontrol perangkat pengujian.

  3. Men-debug dari Chrome. Gunakan titik henti sementara dan log untuk memecahkan masalah integrasi Anda.

  4. 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

  1. Buka project Smart Home Anda di konsol Actions.
  2. Di navigasi sebelah kiri, klik Tindakan.
  3. 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.
  4. Klik Simpan. Mungkin diperlukan waktu hingga 30 menit bagi Google untuk menerapkan perubahan pada konsol.
  5. Mulai ulang pengujian perangkat Google Home atau Google Nest Anda.
  6. Berikan perintah ke perangkat smart Anda. Misalnya, jika perangkat Anda menerapkan trait OnOff, Anda bisa mengucapkan "Ok Google, nyalakan lampu".

Node.js

  1. Buka project Smart Home Anda di konsol Actions.
  2. Di navigasi sebelah kiri, klik Tindakan.
  3. 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.
  4. Klik Simpan. Mungkin diperlukan waktu hingga 30 menit bagi Google untuk menerapkan perubahan pada konsol.
  5. Mulai ulang pengujian perangkat Google Home atau Google Nest Anda.
  6. 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

  1. Di mesin pengembangan lokal Anda, instal dan luncurkan Browser Google Chrome.
  2. 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.
  3. 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.
  4. Gambar 1: Aplikasi fulfillment lokal di chrome://inspect.

Node.js

  1. Di mesin pengembangan lokal Anda, instal dan luncurkan Browser Google Chrome.
  2. Tentukan alamat IP lokal perangkat pengujian Anda.
  3. Di kolom alamat browser Chrome, luncurkan pemeriksa Chrome dengan memasukkan: chrome://inspect#devices.
  4. Pilih Configure... untuk membuka Target discovery settings.
  5. Gambar 2: Setelan penemuan target di chrome://inspect.
  6. Masukkan DEVICE_IP_ADDRESS:9222 dalam daftar dan klik Selesai.
  7. 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 respons IDENTIFY harus cocok dengan salah satu otherDeviceIds dari respons SYNC.
  • 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:

  1. Buka terminal. Di direktori project Anda, jalankan perintah npm run build. Perintah ini menghasilkan paket JavaScript berikut untuk aplikasi Anda di bagian Direktori dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. Di konsol, upload aplikasi JavaScript Anda dengan mengklik Develop > Tindakan. Di bagian Configure Local Home SDK, klik Upload File JavaScript.
    Gambar 3: Mengupload aplikasi JavaScript.
  3. 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.
    1. Upload JavaScript Anda yang menargetkan Node.js: Upload bundle.js dari direktori dist/node.
    2. Upload JavaScript yang menargetkan Chrome (browser): Upload bundle.js dari direktori dist/web.
  4. 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.
  5. 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.