Pada panggilan webhook, Anda dapat menyimpan parameter value untuk pengguna tertentu di seluruh sesi penyimpanan pengguna. Action Anda kemudian dapat menggunakan nilai yang disimpan tersebut nanti perintah dan kondisi, dan kode webhook Anda dapat mengakses nilai di penyimpanan pengguna untuk pengguna tertentu jika diperlukan.
Status penyimpanan pengguna diteruskan dalam permintaan app.handle()
dan disimpan
dalam objek user
.
Membaca dan menulis data di seluruh percakapan
Untuk memperbarui atau menetapkan nilai baru di penyimpanan pengguna, tetapkan nilai ke params
dari objek user
dalam panggilan webhook. Contoh berikut menetapkan
"contohWarna" menjadi "merah" dalam penyimpanan pengguna:
Node.js
// Assign color to user storage app.handle('storeColor', conv => { let color = 'red'; conv.user.params.exampleColor = color; });
JSON
{ "responseJson": { "session": { "id": "1234567890123456789", "params": {} }, "prompt": { "override": false }, "user": { "locale": "en-US", "params": { "verificationStatus": "VERIFIED", "exampleColor": "red" } } } }
Untuk mengakses data yang disimpan di penyimpanan pengguna, tetapkan data ke variabel di webhook panggilan telepon. Contoh berikut mengambil nilai dari "exampleColor" dalam pengguna penyimpanan:
Node.js
// Retrieve color from user storage app.handle('getStoredColor', conv => { let color = conv.user.params.exampleColor; });
JSON
{ "responseJson": { "session": { "id": "1234567890123456789", "params": {} }, "prompt": { "override": false }, "user": { "locale": "en-US", "params": { "verificationStatus": "VERIFIED", "exampleColor": "red" } } } }
Untuk menghapus nilai yang disimpan sebelumnya, tetapkan nilai ke null
di panggilan webhook.
Contoh berikut menghapus nilai "exampleColor" dalam penyimpanan pengguna:
Node.js
// Clear color from user storage app.handle('clearStoredColor', conv => { conv.user.params.exampleColor = null; });
JSON
{ "responseJson": { "session": { "id": "1234567890123456789", "params": {} }, "prompt": { "override": false }, "user": { "locale": "en-US", "params": { "verificationStatus": "VERIFIED" } } } }
Mereferensikan nilai tersimpan dalam perintah
Anda dapat mereferensikan nilai yang disimpan dalam penyimpanan pengguna dalam perintah. Untuk mereferensikan
gunakan sintaksis $user.params.PARAMETER_NAME
, dengan
PARAMETER_NAME
adalah nama yang diberikan di webhook saat
ditetapkan.
Misalnya, Anda sebelumnya menyimpan nilai warna di penyimpanan pengguna sebagai
parameter exampleColor
. Untuk mengakses nilai tersebut di prompt, Anda merujuk ke
nilai menggunakan $user.params.exampleColor
:
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Your favorite color is $user.params.exampleColor." }] } }] }
Mereferensikan nilai tersimpan dalam kondisi
Anda juga dapat mereferensikan nilai yang disimpan dalam penyimpanan pengguna dalam kondisi. Kepada
merujuk ke nilai, gunakan user.params.PARAMETER_NAME
sintaksis, dengan PARAMETER_NAME
adalah nama yang diberikan dalam
webhook saat parameter ditetapkan.
Misalnya, Anda sebelumnya menyimpan nilai warna di penyimpanan pengguna sebagai
parameter exampleColor
, dan Anda ingin mencocokkannya dengan nilai "red" di
. Dalam kondisi Anda, Anda mereferensikan nilai yang tersimpan menggunakan
user.params.exampleColor
. Ekspresi kondisi Anda akan terlihat seperti ini:
Sintaksis kondisi
user.params.exampleColor == "red"
Akhir masa berlaku data penyimpanan pengguna
Untuk pengguna terverifikasi, data yang disimpan dalam penyimpanan pengguna akan berakhir berdasarkan tanggal Web & Setelan Aktivitas Aplikasi Anda dan juga dapat dihapus oleh Tindakan itu sendiri. Untuk pengguna yang tidak diverifikasi, Asisten menghapus isi penyimpanan pengguna di akhir percakapan.
Actions on Google menetapkan status verifikasi pengguna di setiap awal
percakapan berdasarkan berbagai indikator
saat percakapan dimulai. Sebagai
satu contoh, pengguna yang login ke Asisten Google di perangkat selulernya memiliki
status verifikasi VERIFIED
.
Berikut adalah kemungkinan alasan pengguna memiliki status verifikasi
GUEST
:
- Pengguna telah menonaktifkan hasil personal.
- Pengguna menonaktifkan layanan Web & Aktivitas Aplikasi. Perlu diingat bahwa beberapa pengguna mungkin telah menonaktifkan pengaturan ini di tingkat domain.
- Jika perangkat telah mengaktifkan Voice Match, dan pencocokan gagal atau pengguna memanggil Asisten tanpa menggunakan suaranya (seperti menekan lama pada Nest Home perangkat).
- Pengguna belum login.
Selalu periksa status verifikasi pengguna sebelum menyimpan data bersama pengguna penyimpanan untuk mencegah pengguna tamu berinteraksi dengan fitur yang akan gagal kepada mereka.
Visibilitas ke pengguna
Sebagai pengguna, Anda dapat melihat data yang tersimpan di penyimpanan pengguna untuk Action yang Anda panggil. Anda juga dapat menghapus data yang disimpan dalam penyimpanan pengguna dari Action tertentu atau membuat layanan berhenti mengingat Anda.
Untuk melihat data yang tersimpan atau menghentikan layanan mengingat Anda, ikuti langkah:
- Buka direktori Asisten.
- Cari dan pilih Tindakan yang ingin Anda lihat atau hapus penyimpanan pengguna Anda.
- Scroll ke bagian bawah halaman:
- Untuk melihat konten penyimpanan pengguna Anda, klik [Lihat data yang tersimpan].
- Untuk mereset data yang disimpan di penyimpanan pengguna untuk layanan, klik Reset.
- Untuk menghapus data yang disimpan di penyimpanan pengguna Anda dan menghentikan layanan dari Mengingat Anda, klik Hentikan action_name agar tidak mengingat saya.