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.

Mood

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

Intent smart home adalah objek pesan sederhana yang menjelaskan tindakan smart home yang harus dilakukan seperti menyalakan lampu atau transmisi audio ke speaker.

Semua intent smart home terdapat dalam namespace action.devices dan Anda harus memberikan fulfillment untuknya. Setiap kali Google Assistant mengirim intent ke fulfillment, token akses OAuth 2 pihak ketiga pengguna diteruskan di header Authorization.

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 menyiapkan perangkat dengan Google Home app (GHA), pengguna 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, terdapat 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, persyaratan dan ketentuan opsional, serta layanan cloud partner. Infrastruktur partner,
    lalu 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.
Gambar 1: Interaksi antara Google dan infrastruktur Partner

Untuk menghindari pembatalan tautan dan penautan ulang akun pengguna, Anda dapat mengirimkan sinkronisasi permintaan ke Assistant. Tindakan ini akan mengirimkan intent action.devices.SYNC ke fulfillment Anda untuk menyinkronkan daftar perangkat dan kemampuan. Lihat Menerapkan Sinkronisasi Permintaan untuk informasi selengkapnya.

Diagram alir intent intent SYNC
Gambar 2: Intent sinkronisasi

Selama penyiapan fulfillment lokal, platform Home Local 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 dalam 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 alir intent QUERY
Gambar 3: Intent QUERY

Untuk pengalaman pengguna terbaik, Anda harus mengimplementasikan Status Laporan untuk secara proaktif melaporkan status perangkat pengguna saat ini langsung ke Google Home Graph. Misalnya, hal ini memungkinkan Assistant mengetahui apakah pengguna menyalakan lampu smart dengan sakelar lampu fisik.

Melaporkan status perangkat menggunakan Status Laporan
Gambar 4: Melaporkan status perangkat

EKSEKUSI

Intent action.devices.EXECUTE digunakan untuk memberikan perintah untuk dieksekusi pada perangkat smart home.

Saat pengguna mengirimkan perintah ke perangkat dengan Assistant, fulfillment Anda akan menerima intent action.devices.EXECUTE ke fulfillment Anda yang menjelaskan tindakan dan perangkat yang akan ditindaklanjuti. Pengguna dapat menjalankan tindakan di perangkat dengan perintah seperti Ok Google, nyalakan lampu ruang keluarga.

Diagram alir intent EXECUTE
Gambar 5: Intent EXECUTE

PUTUSKAN KONEKSI

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.