Pada panggilan webhook, Anda dapat menyimpan parameter value di beberapa sesi dalam anggota keluarga yang sama (berdasarkan Grafik Rumah) di penyimpanan rumah. Action Anda dapat menggunakan nilai yang disimpan tersebut nanti dalam perintah dan kondisi, serta webhook Anda kode tertentu dapat mengakses nilai dalam penyimpanan rumah untuk rumah tangga tertentu jika diperlukan.
Status penyimpanan rumah diteruskan dalam permintaan app.handle()
dan disimpan
dalam objek home
.
Batasan
Penyimpanan rumah tidak dapat digunakan dengan perangkat seluler karena perangkat tersebut bukan bagian dari Home
Grafik. Di kode webhook Anda, gunakan kemampuan perangkat HOME_STORAGE
untuk mencabangkan logika bisnis berdasarkan
kemampuan perangkat pengguna.
Anda harus memilih untuk menggunakan penyimpanan rumah:
- Di Konsol Actions, buka Deploy > Informasi direktori.
- Di bagian Informasi Tambahan, centang kotak Rumah Google Cloud Storage.
Membaca dan menulis data dalam rumah tangga
Untuk memperbarui atau menetapkan nilai baru di penyimpanan rumah, tetapkan nilai ke params
dari objek home
dalam panggilan webhook. Contoh berikut
mengatur "exampleColor" menjadi "merah" dalam penyimpanan rumah:
Node.js
// Assign color to home storage app.handle('storeColor', conv => { let color = 'red'; conv.home.params.exampleColor = color; });
JSON
{ "responseJson": { "session": { "id": "1234567890123456789", "params": {} }, "prompt": { "override": false }, "home": { "params": { "exampleColor": "red" } } } }
Untuk mengakses data yang disimpan di penyimpanan rumah, tetapkan data ke variabel di webhook panggilan telepon. Contoh berikut mengambil nilai dari "exampleColor" di rumah penyimpanan:
Node.js
// Retrieve color from home storage app.handle('getStoredColor', conv => { let color = conv.home.params.exampleColor; });
JSON
{ "responseJson": { "session": { "id": "1234567890123456789", "params": {} }, "prompt": { "override": false }, "home": { "params": { "homeColor": "red" } } } }
Untuk menghapus nilai yang disimpan sebelumnya, tetapkan nilai ke null
di panggilan webhook.
Contoh berikut menghapus nilai "exampleColor" dalam penyimpanan rumah:
Node.js
// Clear color from home storage app.handle('clearStoredColor', conv => { conv.home.params.exampleColor = null; });
JSON
{ "responseJson": { "session": { "id": "1234567890123456789", "params": {} }, "prompt": { "override": false }, "home": { "params": {} } } }
Mereferensikan nilai tersimpan dalam perintah
Anda dapat mereferensikan nilai yang disimpan di penyimpanan rumah dalam perintah. Untuk referensi
nilainya, gunakan $home.params.PARAMETER_NAME
sintaksis, dengan PARAMETER_NAME
adalah nama yang diberikan dalam
webhook saat parameter ditetapkan.
Misalnya, Anda sebelumnya menyimpan nilai warna di penyimpanan rumah sebagai
parameter exampleColor
. Untuk mengakses nilai tersebut di prompt, Anda merujuk ke
nilai menggunakan $home.params.exampleColor
:
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Your favorite color is $home.params.exampleColor." }] } }] }
Mereferensikan nilai tersimpan dalam kondisi
Anda juga dapat mereferensikan nilai yang disimpan di penyimpanan rumah dalam kondisi. Kepada
merujuk ke nilai, gunakan home.params.PARAMETER_NAME
sintaksis, dengan PARAMETER_NAME
adalah nama yang diberikan dalam
webhook saat parameter ditetapkan.
Misalnya, Anda sebelumnya menyimpan nilai warna di penyimpanan rumah sebagai
parameter exampleColor
, dan Anda ingin mencocokkannya dengan nilai "merah" di
. Dalam kondisi Anda, Anda mereferensikan nilai yang tersimpan menggunakan
home.params.exampleColor
. Ekspresi kondisi Anda kemudian akan terlihat seperti
ini:
Sintaksis kondisi
home.params.exampleColor == "red"
Akhir masa berlaku data penyimpanan rumah
Data penyimpanan rumah akan dihapus total setelah 90 hari berturut-turut Action tidak dihapus dipanggil. Memanggil Action di perangkat apa pun yang terkait dengan Home Graph mengatur ulang penghitung waktu 90 hari. Jika struktur Home Graph dihapus, data penyimpanan rumah yang bersangkutan akan dihapus.
Untuk Action yang menggunakan penyimpanan rumah, pengelola struktur Home Graph dapat mengosongkan rumah penyimpanan untuk struktur yang dikelola dari halaman Tindakan di direktori Asisten:
- Cari dan pilih Tindakan yang ingin Anda lihat atau hapus penyimpanan pengguna Anda.
- Scroll ke bagian bawah halaman:
- Untuk menghapus data yang disimpan untuk Anda di penyimpanan rumah, klik Stop action_name karena mengingat saya.
Ketika pengelola perangkat memisahkannya dari struktur, penyimpanan rumah juga terpisah. Data penyimpanan rumah akan terus dikaitkan dengan perangkat bahkan jika manajer struktur berubah, kecuali manajer struktur menghapusnya.
Data penyimpanan rumah di simulator
Saat menguji Action menggunakan simulator di Konsol Actions, data yang disimpan di penyimpanan rumah berperilaku sedikit berbeda dengan di penyimpanan perangkat seluler. Simulator dianggap sebagai bagian dari {i>Home Graph<i} sendiri, sehingga data tidak tetap ada di perangkat lain yang mungkin Anda miliki di jaringan Anda. Selain itu, beranda data penyimpanan tidak dipertahankan di seluruh sesi saat pesan Simulasikan belum diverifikasi setelan simulator pengguna diaktifkan.
Contoh interaksi
Berikut ini contoh interaksi dari pengguna yang login pada pemanggilan pertama Action:
Kueri pengguna | Ok Google, bicara dengan ExampleAction. |
---|---|
Respons Asisten | Mendapatkan ExampleAction. |
Respons Asisten | Sekadar informasi, ExampleAction disimpan setiap kali Anda memainkannya, jadi anggota keluarga lainnya dapat melanjutkan dari percakapan terakhir Anda. |
Respons ExampleAction | Pengguna terverifikasi yang terhormat. Anda berada di level 0. Ucapkan berikutnya, reset, atau batalkan. |
Kueri pengguna | Berikutnya. |
Respons ExampleAction | Anda berada di level 1. |
Kueri pengguna | Keluar. |
Kemudian, ketika pengguna terverifikasi yang sama kembali ke Action setelah beberapa waktu:
Kueri pengguna | Ok Google, bicara dengan ExampleAction. |
---|---|
Respons Asisten | Mendapatkan ExampleAction. |
Respons ExampleAction | Pengguna terverifikasi yang terhormat. Anda berada di level 1. Ucapkan berikutnya, reset, atau batalkan. |
Kueri pengguna | Berikutnya. |
Respons ExampleAction | Anda berada di level 2. |
Kueri pengguna | Keluar. |
Keesokan harinya, pengguna yang belum diverifikasi berinteraksi dengan Action di perangkat lain dalam rumah yang sama (seperti yang ditentukan pada Home Graph).
Kueri pengguna | Ok Google, bicara dengan ExampleAction. |
---|---|
Respons Asisten | Mendapatkan ExampleAction. |
Respons Asisten | Sekadar informasi, ExampleAction disimpan setiap kali Anda memainkannya, jadi anggota keluarga lainnya dapat melanjutkan dari percakapan terakhir Anda. |
Respons ExampleAction | Halo pengguna tamu. Anda berada di level 2. Ucapkan berikutnya, reset, atau batalkan. |
Kueri pengguna | Berikutnya. |
Respons ExampleAction | Anda berada di level 3. |
Kueri pengguna | Keluar. |