Menguji dan men-debug aplikasi

Sebaiknya build aplikasi fulfillment lokal menggunakan langkah-langkah yang dijelaskan sebelumnya, lalu uji integrasi smart home di lingkungan hosting Anda sendiri menggunakan langkah-langkah berikut:

  1. Di lingkungan hosting Anda sendiri, tayangkan halaman HTML yang menjalankan aplikasi fulfillment lokal Anda. 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. Uji kontrol perangkat.

  3. 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 perubahan yang dilakukan dengan cepat dan lebih mudah menemukan serta men-debug masalah pada kode.

Menguji kontrol perangkat

Di konsol Action, Anda perlu menentukan URL aplikasi web, 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 Configure local home SDK (optional) > Enter your testing URL for Chrome, tentukan URL server pengembangan yang menayangkan HTML yang menjalankan aplikasi fulfillment lokal Anda.
  4. Klik Simpan. Mungkin diperlukan waktu hingga 30 menit agar Google menerapkan perubahan konsol Anda.
  5. Mulai ulang perangkat Google Home atau Google Nest pengujian Anda.
  6. Berikan perintah ke perangkat smart Anda. Misalnya, jika perangkat Anda menerapkan karakteristik OnOff, Anda dapat 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 URL server pengembangan yang menayangkan JavaScript yang menjalankan aplikasi fulfillment lokal Anda.
  4. Klik Simpan. Mungkin diperlukan waktu hingga 30 menit bagi Google untuk menerapkan perubahan konsol Anda.
  5. Mulai ulang perangkat Google Home atau Google Nest pengujian Anda.
  6. Berikan perintah ke perangkat smart Anda. Misalnya, jika perangkat Anda menerapkan karakteristik OnOff, Anda dapat mengucapkan "Ok Google, nyalakan lampu".

Untuk mengetahui detail selengkapnya tentang runtime yang digunakan oleh perangkat Anda, lihat Perangkat yang didukung.

Proses debug dari Chrome

Anda dapat men-debug aplikasi fulfillment lokal menggunakan Chrome DevTools. Sebelum Anda dapat men-debug, pastikan lingkungan Anda disiapkan dengan benar:

  • Anda telah menetapkan URL pengembangan di konsol ke URL yang dapat dijangkau oleh perangkat Google Home atau Google Nest (baik di jaringan area lokal maupun melalui internet),
  • Komputer Anda terhubung ke jaringan area lokal yang sama dengan perangkat Google Home atau Google Nest yang 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 fulfillment cloud. Fungsi ini harus menampilkan setidaknya satu nilai yang valid di kolom otherDeviceIds.
  • Anda telah memasukkan informasi konfigurasi pemindaian yang benar di konsol Actions.

Untuk menghubungkan aplikasi fulfillment lokal Anda ke debugger Chrome DevTools, ikuti langkah-langkah berikut:

Chrome

  1. Di mesin pengembangan lokal, instal dan luncurkan browser Google Chrome.
  2. Di kolom URL browser Chrome, luncurkan Chrome Inspector dengan memasukkan: chrome://inspect#devices. Anda akan melihat daftar perangkat di halaman, dan file HTML Anda akan dicantumkan di bawah nama perangkat Google Home atau Google Nest pengujian Anda.
  3. Klik link periksa berwarna biru di bawah HTML untuk meluncurkan Chrome DevTools. Beralihlah ke tab Konsol. Platform Local Home menghasilkan versi aplikasi dan versi Local Home SDK di log konsol. Jika Anda melihat log, artinya Google telah berhasil memuat aplikasi Anda, dan dapat terhubung ke aplikasi tersebut. Jika tidak, mulai ulang perangkat Google Home atau Google Nest Anda.
  4. Gambar 1: Aplikasi fulfillment lokal di chrome://inspect.

Node.js

  1. Di mesin pengembangan lokal, instal dan luncurkan browser Google Chrome.
  2. Tentukan alamat IP lokal perangkat pengujian Anda.
  3. Di kolom URL browser Chrome, luncurkan Chrome Inspector dengan memasukkan: chrome://inspect#devices.
  4. Pilih Konfigurasi... untuk membuka Setelan penemuan target.
  5. Gambar 2: Setelan penemuan target di chrome://inspect.
  6. Masukkan DEVICE_IP_ADDRESS:9222 dalam daftar, lalu klik Selesai.
  7. Klik link periksa berwarna biru di bawah skrip Anda untuk meluncurkan Chrome DevTools. Beralihlah ke tab Konsol. Platform Local Home menghasilkan versi aplikasi dan versi Local Home SDK di log konsol. Jika Anda melihat log, artinya Google telah berhasil memuat aplikasi Anda, dan dapat terhubung ke aplikasi tersebut. Jika tidak, mulai ulang perangkat Google Home atau Google Nest Anda.

Untuk mengetahui detail selengkapnya tentang runtime yang digunakan oleh perangkat Anda, lihat Perangkat yang Didukung.

Tips proses debug

Beberapa hal tambahan yang perlu diingat selama proses debug meliputi:

  • Jangan tautkan beberapa perangkat Google Home atau Google Nest ke akun pengujian Anda di jaringan lokal yang sama. 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 Home Lokal, yang mungkin diperlukan untuk memicu ulang intent platform (seperti IDENTIFY) di aplikasi fulfillment lokal Anda. Untuk mereset platform Home Lokal, mulai ulang perangkat Google Home atau Google Nest.
  • Pastikan aplikasi JavaScript Anda dimuat tanpa error. Untuk melakukannya, periksa bagian konsol di 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 diterima oleh perangkat dan berfungsi 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 di log error project Anda.

Menyiapkan dan meluncurkan ke produksi

Jika Anda 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 direktori dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. Di konsol, upload aplikasi JavaScript Anda dengan mengklik Develop > Actions. Di bagian Konfigurasikan Local Home SDK, klik Upload file JavaScript.
    Gambar 3: Upload aplikasi JavaScript Anda.
  3. Di dialog Upload file, upload file paket yang sebelumnya Anda buat. Pastikan untuk mengupload kedua versi file paket (Node, Web) sehingga Action Anda dikonfigurasi untuk berfungsi dengan benar di semua lingkungan runtime yang didukung fulfillment lokal.
    1. Upload JavaScript yang menargetkan Node.js: Upload file bundle.js dari direktori dist/node.
    2. Upload JavaScript yang menargetkan Chrome (browser): Upload file bundle.js dari direktori dist/web.
  4. Uji Action Anda di perangkat yang dilengkapi Asisten, untuk memverifikasi bahwa Action berperilaku seperti yang diharapkan di lingkungan produksi. Untuk mempelajari lebih lanjut, lihat Menguji dan membagikan Action smart home.
  5. Jika Anda puas dengan cara kerja Action, kirimkan ke Google untuk deployment produksi dengan mengikuti petunjuk di Meluncurkan Action smart home. Hal ini mencakup menyelesaikan langkah-langkah permintaan sertifikasi dan pengujian mandiri.