Intent smart home adalah objek pesan sederhana yang menjelaskan integrasi Cloud-to-cloud yang akan dilakukan seperti menyalakan lampu atau mentransmisikan audio ke speaker.
Semua intent smart home terdapat dalam
namespace action.devices
dan Anda harus menyediakan fulfillment untuknya. Setiap kali
Google Assistant mengirim intent ke fulfillment, token akses OAuth 2 pihak ketiga
pengguna akan diteruskan di header Otorisasi.
Berikut adalah intent smart home yang didukung:
SINKRONKAN
Intent action.devices.SYNC
digunakan untuk meminta daftar
perangkat smart home yang telah dihubungkan pengguna dan
tersedia untuk digunakan.
Saat pengguna menyiapkan perangkat dengan Google Home app (GHA), mereka juga
akan diautentikasi ke infrastruktur cloud Anda. Kemudian,
Assistant menerima token OAuth2. Pada tahap ini,
Assistant mengirim intent action.devices.SYNC
ke
fulfillment Anda untuk mengambil daftar awal perangkat dan kemampuan pengguna dari
infrastruktur cloud Anda.
![Gambar ini menunjukkan interaksi antara infrastruktur Google
dan infrastruktur partner. Dari infrastruktur Google, ada
daftar partner yang tersedia untuk aplikasi klien Asisten, yang kemudian
mengalir ke infrastruktur partner untuk menyelesaikan autentikasi OAuth. Autentikasi
OAuth di sisi partner adalah webview penyiapan partner, webview OAuth,
setelan dan persyaratan opsional, serta layanan cloud partner. Infrastruktur partner,
kemudian menampilkan kredensial OAuth ke aplikasi klien Asisten. Layanan cloud
partner mengirimkan perangkat dan kemampuan yang tersedia ke layanan Asisten,
yang kemudian menyimpan informasi di Home Graph.](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome001.png?authuser=6&hl=id)
Untuk menghindari pembatalan tautan dan penautan ulang akun pengguna, Anda dapat mengirim sinkronisasi permintaan
ke Assistant. Tindakan ini akan mengirim intent action.devices.SYNC
ke fulfillment Anda untuk menyinkronkan daftar perangkat dan kemampuan. Lihat
Menerapkan Sinkronisasi Permintaan untuk informasi
selengkapnya.
![Diagram alur intent SYNC](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome002.png?authuser=6&hl=id)
Selama penyiapan fulfillment lokal, platform Local Home akan memeriksa respons SYNC
dari
fulfillment cloud Action smart home Anda. Untuk mempelajari lebih lanjut cara
mengubah respons SYNC
untuk mendukung fulfillment lokal, lihat
Memperbarui respons SYNC di fulfillment cloud.
QUERY
Intent action.devices.QUERY
digunakan untuk mengkueri status
perangkat smart home saat ini.
Saat pengguna mengkueri status perangkat, untuk menjawab pertanyaan seperti
Ok Google, lampu apa yang menyala di dapur?,
Assistant mengirimkan intent action.devices.QUERY
ke fulfillment
Anda.
![Diagram alur intent QUERY](https://developers.home.google.com/static/cloud-to-cloud/primer/images/query-diagram.png?authuser=6&hl=id)
Untuk pengalaman pengguna terbaik, Anda harus menerapkan Status Laporan untuk melaporkan status perangkat pengguna saat ini secara proaktif langsung ke Google Home Graph. Misalnya, hal ini memungkinkan Assistant mengetahui apakah pengguna Anda menyalakan lampu smart dengan tombol lampu fisik.
![Melaporkan status perangkat menggunakan Status Laporan](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome004.png?authuser=6&hl=id)
JALANKAN
Intent action.devices.EXECUTE
digunakan untuk memberikan perintah
yang akan dijalankan di perangkat smart home.
Saat pengguna mengirim perintah ke perangkat dengan Assistant, fulfillment
Anda akan menerima intent action.devices.EXECUTE
ke fulfillment yang
menjelaskan tindakan dan perangkat yang akan ditindaklanjuti. Pengguna dapat menjalankan tindakan
di perangkat dengan perintah seperti Ok Google, nyalakan lampu ruang tamu saya.
![Diagram alur intent EXECUTE](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome003.png?authuser=6&hl=id)
PUTUSKAN SAMBUNGAN
Intent action.devices.DISCONNECT
dipicu untuk memberi tahu Anda
saat pengguna telah membatalkan tautan akun aplikasi dari Assistant.
Setelah menerima intent action.devices.DISCONNECT
, Anda tidak boleh melaporkan
status untuk perangkat pengguna ini.