Menguji dan men-debug aplikasi

Sebaiknya bangun 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. Menguji kontrol perangkat.

  3. Melakukan 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 Anda buat dengan cepat untuk membantu men-debug masalah pada kode.

Kontrol perangkat pengujian

Di Google Home Developer Console, Anda harus menentukan URL aplikasi web, yang menyajikan HTML yang dimuat di perangkat Google Home atau perangkat Google Nest selama fulfillment lokal.

Untuk menguji kontrol perangkat dengan fulfillment lokal, ikuti langkah-langkah berikut:

Chrome

  1. Di halaman Penyiapan dan konfigurasi integrasi Cloud-to-cloud Anda di Google Home Developer Console, scroll ke Pemenuhan lokal, lalu aktifkan setelan.
  2. Di bagian Testing URLs > Testing URL for Chrome, tentukan URL server pengembangan yang menyajikan HTML yang menjalankan aplikasi fulfillment lokal Anda.
  3. Klik Simpan. Google mungkin memerlukan waktu hingga 30 menit untuk menerapkan perubahan konsol Anda.
  4. Mulai ulang perangkat Google Home atau Google Nest pengujian Anda.
  5. Berikan perintah ke perangkat smart Anda. Misalnya, jika perangkat Anda menerapkan ciri OnOff, Anda dapat mengucapkan "Ok Google, nyalakan lampu".

Node.js

  1. Di halaman Setup and configuration pada Google Home Developer Console, scroll ke Local fulfillment, lalu aktifkan setelan.
  2. Di bagian Testing URLs > Testing URL for Node, tentukan URL server pengembangan yang menyajikan JavaScript yang menjalankan aplikasi fulfillment lokal Anda.
  3. Klik Simpan. Google mungkin memerlukan waktu hingga 30 menit untuk menerapkan perubahan konsol Anda.
  4. Mulai ulang perangkat Google Home atau Google Nest pengujian Anda.
  5. Berikan perintah ke perangkat smart Anda. Misalnya, jika perangkat Anda menerapkan ciri OnOff, Anda dapat mengucapkan "Ok Google, nyalakan lampu".

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

Melakukan debug dari Chrome

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

Untuk menghubungkan aplikasi fulfillment lokal 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 akan tercantum di bawah nama perangkat Google Home atau Google Nest pengujian Anda.
  3. Klik link periksa berwarna biru di bawah HTML Anda untuk meluncurkan Chrome DevTools. Beralih ke tab Console. Platform Local Home menampilkan versi aplikasi Anda dan versi Local Home SDK di log konsol. Jika Anda melihat log, berarti 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 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, lalu klik Selesai.
  7. Klik link periksa berwarna biru di bawah skrip Anda untuk meluncurkan Chrome DevTools. Beralih ke tab Console. Platform Local Home menampilkan versi aplikasi dan versi Local Home SDK di log konsol. Jika Anda melihat log, berarti 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 menautkan 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 perangkat Google Nest mana yang ditargetkan dengan perintah fulfillment lokal.
  • Muat ulang halaman di Chrome DevTools untuk memuat ulang container 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 Anda 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.

Mempersiapkan 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 akan menghasilkan paket JavaScript berikut untuk aplikasi Anda di direktori dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. Di halaman Setup and configuration pada Google Home Developer Console, scroll ke Local fulfillment dan aktifkan setelan.
  3. Dengan menggunakan tombol Upload JavaScript, upload file paket yang sebelumnya Anda buat.
    Gambar 3: Upload aplikasi JavaScript Anda.
    Pastikan untuk mengupload kedua versi file paket (Node, Web) agar 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 dengan Asisten, untuk memverifikasi bahwa Action berperilaku seperti yang diharapkan di lingkungan produksi. Untuk mempelajari lebih lanjut, lihat Menguji dan membagikan Action smart home Anda.
  5. Jika Anda sudah puas dengan cara kerja Action Anda, kirimkan ke Google untuk deployment produksi dengan mengikuti petunjuk di Meluncurkan Action smart home. Hal ini mencakup penyelesaian langkah-langkah uji mandiri dan permintaan sertifikasi.