FAQ Smart Home

Umum

T: Di mana dan dalam bahasa apa kami harus menerapkan infrastruktur pemenuhan Actions on Google?

J: Selama sistem tersebut mendukung SSL (TLS) dan OAuth 2.0 modern, Anda dapat mengimplementasikan infrastruktur di platform apa pun dan dalam bahasa apa pun yang Anda pilih. Sebaiknya deploy sedekat mungkin ke infrastruktur lainnya Anda untuk meningkatkan keandalan dan mengurangi latensi untuk eksekusi ke perangkat pengguna sebenarnya.


T: Apakah ID perangkat harus unik?

J: ID harus unik. Jika Anda tidak memiliki ID unik di seluruh layanan, ID tersebut harus unik setidaknya pada tingkat per pengguna. Anggaplah sebagai pengguna dengan beberapa rumah, di mana kedua rumah memiliki integrasi dengan pengguna yang sama. Meminta untuk menyalakan lampu di satu rumah tidak boleh menyalakan lampu dengan ID yang sama di rumah lain.


T: Apakah nama perangkat harus unik?

J: Nama tidak harus unik, meskipun seiring waktu kami dapat mendorong pengguna untuk memperbaiki penamaan yang buruk setelah penyiapan untuk pengalaman pengguna yang lebih baik.

Berikut panduan penamaan singkat:

  • Nama harus merupakan hal yang dapat dikatakan orang.
  • Kami mengenali subset string, jadi jika Anda memiliki 'acme color light', kami juga akan menjawab 'acme light'.
  • Sebaiknya gunakan nama deskriptif untuk produk dan satu atau beberapa nama yang ditentukan pengguna.
  • Pengguna tidak perlu memberi lampu nama ruangan, karena kita memiliki ruangan untuk itu; mereka harus memiliki nama unik untuk setiap ruangan, tetapi selalu dapat menggunakan bentuk jamak untuk menjalankan semuanya (misalnya, dua bohlam di ruang lingkup kantor adalah 'lampu utara' dan 'lampu timur', tetapi dapat diberi perintah sebagai 'lampu' saja).

T: Seberapa sering status perangkat diperbarui?

A: Status sementara diambil setelah QUERY atau EXECUTE, yang merupakan tindakan yang dimulai pengguna. Jika pengguna bertanya 'apakah lampunya menyala?', atau ingin mencerahkan lampu, kita harus melakukan kueri untuk mencari tahu keadaan saat ini.


T: Apakah saya dapat mengupdate Home Graph secara langsung dengan status perangkat saat ini?

J: Ya, gunakan panggilan API Report State.


Penautan Akun dan OAuth

J: Ya, penautan akun diperlukan untuk menghubungkan perangkat pengguna ke layanan cloud penyedia.


T: Untuk OAuth, masa berlaku token akses akan berakhir setiap 15.213 jam. Apakah boleh?

J: Ya, tetapi harap uji dengan waktu masa berlaku yang cukup singkat, misalnya 10-20 menit. Klien OAuth kita harus memuat ulang token sesuai kebutuhan, dan pengujian dengan masa berlaku yang singkat akan membuktikan bahwa cara tersebut berhasil.


Intent

T: Kapan SYNC terjadi?

J: SYNC terjadi segera setelah OAuth selesai, dan setelah panggilan Request Sync dilakukan.


T: Mengapa SYNC tidak berfungsi?

J: Ada sejumlah alasan umum yang menyebabkan kegagalan.

  • Anda mengirim jenis perangkat yang salah.

    • Misalnya, kami mengharapkan action.devices.types.LIGHT, tetapi Anda mengirimkan action.devices.types.Light.
  • Anda mengirimkan jenis perangkat yang tidak didukung.

    • Misalnya, Anda mengirim action.devices.types.FLASHLIGHT - ini bukan hal yang kami dukung.
  • Anda mengirimkan kolom yang tidak valid/tidak didukung.

    • Misalnya, Anda memiliki kolom versi atau beberapa kolom lain yang tidak ada dalam spesifikasi kami.
  • Ada beberapa masalah pemformatan lain dengan respons SYNC Anda.

    • Periksa tanda kurung Anda!
  • Anda mengalami masalah penautan akun.

    • Pastikan Anda menerima token akses yang valid di header Auth permintaan SYNC.
  • Anda memerlukan waktu terlalu lama untuk merespons permintaan SYNC.

    • Pastikan Anda merespons permintaan SYNC dalam 5 detik.

T: Apakah respons yang “tertunda” diperbolehkan?

J: Kami lebih memilih respons berhasil/gagal, bukan tertunda, jika perangkat Anda tersedia secara real time. Hubungi kami jika Anda merasa memerlukan respons yang 'tertunda'. Kami menyadari bahwa beberapa perangkat non-real-time berdaya rendah mungkin memerlukan respons tertunda dan model eksekusi asinkron.


Pengujian dan Pengiriman

T: Dapatkah kami menyiapkan lingkungan staging?

J: Ya, buat project terpisah, dan jalankan penyiapan untuk project tersebut. Anda dapat membuat project sebanyak yang dibutuhkan untuk dipetakan ke proses dan infrastruktur pengembangan.


T: Seberapa sering saya perlu memperbarui project draf saya?

J: Project draf perlu diperbarui setiap 3 hari. Setelah 3 hari, agen pengujian akan hilang dari setelan mobile-HomeControl. Jika Anda mengalami hal ini, klik tombol UJI DRAF untuk project Anda di Actions on Google Console.


T: Dapatkah saya melakukan pengujian di lebih dari satu perangkat sekaligus?

J: Actions on Google hanya mendukung satu AP "coba di perangkat" pada satu waktu. Jika Anda pertama kali menggunakan TEST DRAF pada "ap1" dan menyinkronkan perangkat, maka (tanpa membatalkan tautan ap1) langsung menjalankan TEST DRAFT "ap2", "ap1" akan hilang dari setelan mobile-HomeControl. Untuk memperbaikinya, jalankan PENGUJIAN DRAF pada "ap1" lagi dan Anda dapat membatalkan tautan "ap1" di setelan.

Perhatikan bahwa satu Paket Action ini akan tersedia untuk semua perangkat Google Assistant bagi pengguna -- misalnya, Anda dapat menguji integrasi hardware baru pada speaker yang diaktifkan dengan suara dan Android.


T: Pengiriman project Action Saya ditolak karena nama atau pengucapannya. Apa yang harus saya ubah?

J: Kami memeriksa pengucapan nama untuk memastikan nama pengucapan tidak digunakan oleh Action lain di masa mendatang dan cocok dengan nama tampilan (untuk mencegah ketidakcocokan yang memengaruhi pendaftaran nama di masa mendatang).

Untuk terus menggunakan nama yang sama, hubungi dukungan agar nama tampilan ditambahkan oleh tim ucapan ke Assistant.


T: Action Saya tidak terlihat di bagian Kontrol Rumah di aplikasi Google Home. Apa yang terjadi?

J: Masalahnya bisa berupa salah satu dari hal berikut:

  • Anda tidak mengklik tombol UJI DRAF untuk project di Actions Console.
  • Anda hanya dapat memiliki satu Action di Uji di Perangkat sekaligus.
  • Di Actions Console, buka tab Simulator untuk project Action Anda, lalu alihkan tombol Aktif/Tidak Aktif ke Tidak Aktif, lalu Aktif lagi.
  • Jika ini adalah Action yang telah dibagikan kepada Anda, pastikan semua petunjuk berbagi telah diikuti.
  • Uji coba di Perangkat akan berakhir setelah tiga hari. Klik tombol UJI DRAF untuk project Anda di Actions Console.

T: Mengapa muncul error saat saya mengetik "talk to <my agent name>" di Simulator?

J: Action smart home tidak menggunakan nama panggilan. Untuk melakukan pengujian di simulator, Anda harus menjalankan penautan akun di ponsel Android atau iOS dengan Google Home app (GHA) yang terinstal. Anda juga harus memiliki perangkat yang terkait dengan akun Anda sebelum menjalankan penautan akun.


T: Mengapa saya mendapatkan error saat mencoba menggunakan Simulator?

J: Anda tidak dapat menggunakan simulator untuk menguji Action smart home yang di-deploy. Jika ingin menggunakan simulator untuk project otomatisasi rumah yang sedang dalam tahap produksi, Anda harus membuat project baru untuk tujuan pengujian.


Laporkan Status

T: Apakah ada prasyarat untuk menerapkan Status Laporan?

J: Project harus menggunakan Smart Home API, mendukung OAuth2, dan harus memiliki sifat yang memiliki status untuk dilaporkan.


T: Seberapa sering kami perlu Melaporkan Status di perangkat?

J: Google tertarik dengan transisi dan status terminal, tetapi jika ada banyak perubahan status dalam waktu singkat (misalnya, pengguna membuka dan menutup kulkas tiga kali dalam satu menit atau menggeser peredup), maka kita hanya perlu melaporkan status akhir.


T: Apakah status perangkat lengkap harus dikirim saat melakukan panggilan Laporkan Status?

J: Update status sebagian tidak didukung, sehingga panggilan Report State harus selalu menyertakan semua data untuk ciri tertentu yang telah diupdate. Jika dua ciri akan menimbulkan inkonsistensi, keduanya harus dilaporkan kembali bersama-sama.


T: Dapatkah Google mengkueri perangkat saya untuk mendapatkan status (yaitu, polling perangkat)?

J: Ini adalah mekanisme penggantian yang tidak kami rekomendasikan. Jika kami harus sering melakukan polling kembali ke perangkat untuk pengguna tersebut, kami tidak dapat menjamin jumlah beban tambahan. Kebutuhan berasal dari platform visual baru. Selain masalah pemuatan yang tidak diketahui, hal ini juga akan menurunkan pengalaman pengguna. Kami merasa bahwa Report State sangat penting bagi platform.


T: Sifat apa yang mendukung Status Laporan saat ini?

J: Semua karakteristik publik yang memiliki status yang terkait didukung. Setiap perubahan dalam status Online perangkat juga harus dilaporkan.

Perhatikan bahwa Scene tidak memiliki status. Namun, hal tersebut dapat menyebabkan perubahan status perangkat. Jika ada perangkat di Google Home Graph yang memiliki status perubahan, hal ini perlu dilaporkan kembali.


T: Apakah Status Laporan mengharuskan stempel waktu dikirim?

J: Kami tidak mewajibkan stempel waktu; status terakhir yang dikirim akan menggantikan panggilan sebelumnya.


T: Apakah saya perlu Melaporkan Status secara terpisah jika sudah mengirimkan status di Kueri dan/atau Jalankan?

J: Home Graph hanya menyimpan status yang dikirim melalui Report State. Status yang ditampilkan sebagai respons terhadap intent EXECUTE dan QUERY hanya digunakan untuk respons ucapan kepada pengguna dan tidak disimpan. Akibatnya, Report State harus dipanggil meskipun status baru perangkat telah ditampilkan sebagai respons terhadap intent EXECUTE atau QUERY.


T: Apa konsekuensi jika status Laporan tidak diterapkan sepenuhnya dalam batas waktu yang diberikan?

J: Hal ini akan menyebabkan penurunan pengalaman pengguna, misalnya di GHA dan platform visual. Artinya, banyak intent QUERY akan dikirim ke polling status dan kami tidak dapat menjamin apa yang akan terkait dengan beban tambahan di cloud partner.


T: Bagaimana cara menguji penerapan Status Laporan kami?

J: Gunakan Home Graph Viewer - alat pengujian mandiri yang menunjukkan kepada Anda status perangkat saat ini yang tersimpan di Home Graph.


T: Dapatkah kami menggunakan requestId acak untuk Status Laporan?

J: Sebaiknya partner menggunakan requestId yang sama yang mereka terima dari permintaan MEXUTE jika Report State dipicu oleh permintaan MELAKSANKAN. Jika tidak, Anda dapat menggunakan requestId acak.


T: Jika pengguna memiliki beberapa perangkat dan salah satunya berubah status, apakah kami harus melaporkan status terbaru dari semua perangkat?

J: Tidak. Anda hanya perlu melaporkan status perangkat tersebut.


Praktik Terbaik

T: Latensi seperti apa yang dapat diterima?

J: Idealnya, kurang dari 200 md, antara 2-5 dtk tidak apa-apa. Jika latensi Anda melayang sekitar 5 detik, hubungi kami.


T: Bagaimana cara membuat speaker yang diaktifkan suara saya merespons dengan benar saat sedang offline?

J: Menampilkan status offline untuk perangkat offline. Kita menampilkan 'tidak tersedia saat ini' sebagai TTS untuk error ini. Untuk mengetahui informasi selengkapnya, lihat Error dan pengecualian.