Selamat datang di Pusat Developer Google Home, tujuan baru untuk mempelajari cara mengembangkan tindakan smart home. Catatan: Anda akan terus membuat tindakan di konsol Actions.

Menguji dan men-debug aplikasi

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Sebaiknya buat aplikasi fulfillment lokal Anda menggunakan langkah-langkah yang dijelaskan sebelumnya, lalu uji integrasi smart home Anda di lingkungan hosting Anda 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. Proses 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 tindakan dengan cepat dan lebih mudah menangkap serta men-debug masalah dengan kode Anda.

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 di Konsol Actions.
  2. Di navigasi sebelah kiri, klik Tindakan.
  3. Pada bagian Configure local home SDK (opsional) > Masukkan URL pengujian untuk Chrome, tentukan URL server pengembangan yang menayangkan HTML yang menjalankan aplikasi fulfillment lokal Anda.
  4. Klik Simpan. Google memerlukan waktu hingga 30 menit untuk menerapkan perubahan konsol Anda.
  5. Mulai ulang perangkat uji Google Home atau Google Nest Anda.
  6. Berikan perintah ke perangkat smart Anda. Misalnya, jika perangkat Anda mengimplementasikan 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 (opsional) > Masukkan URL pengujian untuk Node, tentukan URL server pengembangan yang menayangkan JavaScript yang menjalankan aplikasi fulfillment lokal Anda.
  4. Klik Simpan. Google memerlukan waktu hingga 30 menit untuk menerapkan perubahan konsol Anda.
  5. Mulai ulang perangkat uji Google Home atau Google Nest Anda.
  6. Berikan perintah ke perangkat smart Anda. Misalnya, jika perangkat Anda mengimplementasikan fitur OnOff, Anda dapat mengucapkan "Ok Google, nyalakan lampu".

Untuk 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 menetapkan URL pengembangan di konsol ke URL yang dapat dijangkau oleh perangkat Google Home atau Google Nest (baik di jaringan area lokal atau melalui internet),
  • Mesin Anda terhubung 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 SINKRONISASI dalam fulfillment cloud Anda. Tindakan ini akan menampilkan setidaknya satu nilai yang valid dalam 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 Chrome inspector dengan memasukkan: chrome://inspect#devices. Anda akan melihat daftar perangkat di halaman, dan file HTML Anda harus tercantum di bawah nama perangkat pengujian Google Home atau Google Nest Anda.
  3. Klik link pemeriksa biru di bawah HTML untuk meluncurkan Chrome DevTools. Pindah ke tab Konsol. Platform Local Home menampilkan versi aplikasi Anda dan versi Local Home SDK di log konsol. Jika Anda melihat log, artinya Google telah berhasil memuat aplikasi Anda dan dapat terhubung ke log tersebut. Jika tidak, mulai ulang perangkat Google Home atau Google Nest.
  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 Chrome inspector 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 Done.
  7. Klik link pemeriksa biru di bawah skrip untuk meluncurkan Chrome DevTools. Pindah ke tab Konsol. Platform Local Home menampilkan versi aplikasi Anda dan versi Local Home SDK di log konsol. Jika Anda melihat log, artinya Google telah berhasil memuat aplikasi Anda dan dapat terhubung ke log tersebut. Jika tidak, mulai ulang perangkat Google Home atau Google Nest.

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

Tips proses debug

Beberapa hal tambahan yang perlu diperhatikan 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.
  • Refresh halaman di Chrome DevTools untuk memuat ulang penampung aplikasi fulfillment lokal dengan kode terbaru dari URL pengembangan Anda. Tindakan ini tidak akan mereset platform Local Home, 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 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 Anda akan muncul di log error project Anda.

Siapkan dan luncurkan ke produksi

Jika sudah siap meluncurkan Action smart home, ikuti langkah-langkah berikut:

  1. Buka terminal. Di direktori project, 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 dengan mengklik Develop > Actions. Di bagian Configure Local Home SDK, klik Upload JavaScript file.
    Gambar 3: Mengupload aplikasi JavaScript.
  3. Pada dialog Upload files, upload file paket yang sebelumnya Anda buat. Pastikan untuk mengupload kedua versi file paket (Node, Web) agar Action Anda dikonfigurasi agar berfungsi dengan benar di semua lingkungan runtime yang didukung oleh fulfillment lokal.
    1. Upload Node.js penargetan JavaScript Anda: 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 Anda berperilaku seperti yang diharapkan di lingkungan produksi. Untuk mempelajari lebih lanjut, lihat Menguji dan membagikan Action smart home.
  5. Setelah 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 dan sertifikasi.