Menguji dan men-debug aplikasi

Sebaiknya build aplikasi fulfillment lokal Anda menggunakan langkah-langkah yang dijelaskan sebelumnya, lalu uji integrasi smart home Anda 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. Lakukan debug dari Chrome. Gunakan titik henti sementara dan log untuk memecahkan masalah integrasi.

  4. Ubah dan kompilasi kode TypeScript Anda, lalu ulangi langkah-langkah berikut.

Dengan mengulangi proses build dan pengujian ini, Anda dapat melihat cara kerja perubahan dengan cepat serta lebih mudah menemukan dan men-debug masalah pada kode Anda.

Uji kontrol perangkat

Di konsol Action, Anda perlu menentukan URL aplikasi web Anda, yang menyalurkan 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 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. Diperlukan waktu hingga 30 menit bagi Google untuk menerapkan perubahan konsol Anda.
  5. Mulai ulang pengujian perangkat Google Home atau Google Nest Anda.
  6. Berikan perintah ke perangkat smart Anda. Misalnya, jika perangkat menerapkan fitur OnOff, Anda dapat mengucapkan "Ok Google, nyalakan lampu".

Node.js

  1. Buka project Smart Home di konsol Actions.
  2. Di navigasi sebelah kiri, klik Tindakan.
  3. Di bagian Configure local home SDK (optional) > Enter your testing URL for Node, tentukan URL server pengembangan yang menayangkan JavaScript yang menjalankan aplikasi fulfillment lokal Anda.
  4. Klik Simpan. Diperlukan waktu hingga 30 menit bagi Google untuk menerapkan perubahan konsol Anda.
  5. Mulai ulang pengujian perangkat Google Home atau Google Nest Anda.
  6. Berikan perintah ke perangkat smart Anda. Misalnya, jika perangkat menerapkan fitur 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 dapat men-debug, pastikan lingkungan Anda telah disiapkan dengan benar:

  • Anda telah menyetel URL pengembangan di konsol ke URL yang dapat dijangkau oleh perangkat Google Home atau Google Nest (di jaringan area lokal atau 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 dalam fulfillment cloud. Seharusnya, setidaknya satu nilai 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 alamat browser Chrome, luncurkan pemeriksa Chrome dengan memasukkan: chrome://inspect#devices. Anda akan melihat daftar perangkat di halaman, dan file HTML Anda akan tercantum di bawah nama perangkat Google Home atau Google Nest pengujian Anda.
  3. Klik link periksa berwarna biru di bawah HTML untuk meluncurkan Chrome DevTools. Beralih ke tab Konsol. Platform Local Home menampilkan versi aplikasi Anda dan versi Local Home SDK di log konsol. Jika Anda melihat log tersebut, 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 alamat browser Chrome, luncurkan pemeriksa Chrome 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 Done.
  7. Klik link periksa berwarna biru di bawah skrip untuk meluncurkan Chrome DevTools. Beralih ke tab Konsol. Platform Local Home menampilkan versi aplikasi Anda dan versi Local Home SDK di log konsol. Jika Anda melihat log tersebut, 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 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 Local Home, yang mungkin diperlukan untuk memicu kembali intent platform (seperti IDENTIFY) di aplikasi fulfillment lokal Anda. Untuk mereset platform Local Home, mulai ulang perangkat Google Home atau Google Nest Anda.
  • 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 di memori. Lihat Siklus proses aplikasi.
  • Error yang ditampilkan oleh aplikasi fulfillment lokal Anda akan muncul di log error project Anda.

Menyiapkan dan meluncurkan aplikasi ke produksi

Saat 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 dengan mengklik Develop > Actions. Di bagian Configure Local Home SDK, klik Upload JavaScript files.
    Gambar 3: Mengupload aplikasi JavaScript.
  3. Pada dialog Upload file, upload file paket yang sebelumnya Anda buat. Pastikan untuk mengupload kedua versi file paket (Node, Web) sehingga Action Anda dikonfigurasi agar berfungsi dengan benar di semua lingkungan runtime yang didukung oleh fulfillment lokal.
    1. Upload JavaScript Anda 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 dengan Asisten untuk memastikan Action berperilaku seperti yang diharapkan di lingkungan produksi. Untuk mempelajari lebih lanjut, lihat Menguji dan membagikan Action smart home.
  5. Jika sudah puas dengan cara kerja Action Anda, kirimkan ke Google untuk deployment produksi dengan mengikuti petunjuk di Meluncurkan Action smart home. Hal ini termasuk menyelesaikan langkah-langkah permintaan pengujian mandiri dan sertifikasi.