W wywołaniu webhooka możesz przechowywać wartości parametrów konkretnego użytkownika w sesji w pamięci użytkownika. Akcja może użyć tych wartości później w prompty i warunki oraz kod webhooka może uzyskać dostęp do wartości w pamięci użytkowników dla konkretnego użytkownika.
Stan pamięci użytkownika jest przekazywany w żądaniu app.handle()
i zachowywany
w obiekcie user
.
Odczytywanie i zapisywanie danych w rozmowach
Aby zaktualizować lub ustawić nową wartość miejsca na dane użytkownika, przypisz ją do funkcji params
obiektu user
w wywołaniu webhooka. Poniższe przykładowe zestawy
„przykładowykolor” na „czerwony” w pamięci użytkownika:
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" } } } }
Aby uzyskać dostęp do danych przechowywanych w pamięci użytkowników, przypisz je do zmiennej w webhooku . Ten przykład pobiera wartość z atrybutu „exampleColor” w użytkowniku pamięć masowa:
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" } } } }
Aby usunąć wcześniej zapisaną wartość, ustaw wartość w wywołaniu webhooka na null
.
Ten przykład usuwa wartość „exampleColor” w pamięci użytkownika:
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" } } } }
Odwoływać się do przechowywanych wartości w promptach
Wartości zapisane w pamięci użytkownika możesz odwoływać się w prompcie do wartości zapisanych w pamięci użytkownika. Aby odwołać się do
wartość, użyj składni $user.params.PARAMETER_NAME
, gdzie
PARAMETER_NAME
to nazwa nadana w webhooku, gdy makro
.
Na przykład: wartość koloru była wcześniej przechowywana w pamięci użytkownika jako
exampleColor
. Aby uzyskać dostęp do tej wartości w prompcie, musisz odwoływać się do niej:
używając funkcji $user.params.exampleColor
:
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Your favorite color is $user.params.exampleColor." }] } }] }
Odwoływanie się do przechowywanych wartości w warunkach
W warunkach możesz też odwoływać się do wartości przechowywanych w pamięci użytkownika. Do
odwołuje się do wartości, użyj funkcji user.params.PARAMETER_NAME
składni, gdzie PARAMETER_NAME
to nazwa podana w kluczu
webhooka,
gdy parametr został ustawiony.
Na przykład: wartość koloru była wcześniej przechowywana w pamięci użytkownika jako
exampleColor
i chcesz dopasować go do wartości „red” w
. W warunku odwołujesz się do wartości przedpłaconej za pomocą funkcji
user.params.exampleColor
Twoje wyrażenie warunku wygląda tak:
Składnia warunku
user.params.exampleColor == "red"
Wygaśnięcie miejsca na dane użytkownika
W przypadku zweryfikowanych użytkowników dane przechowywane w miejscu ich przechowywania wygasają, gdy ich dane Internet i Aktywność w aplikacji, a sama akcja może je usunąć. W przypadku niezweryfikowanych użytkowników Asystent czyści zawartość pamięci użytkowników na na koniec rozmowy.
Actions on Google ustawia stan weryfikacji użytkownika na początku każdego
rozmowy na podstawie różnych wskaźników w momencie rozpoczęcia rozmowy. Jako
Na przykład użytkownik zalogowany do Asystenta Google na urządzeniu mobilnym ma
stan weryfikacji konta VERIFIED
.
Oto możliwe powody, dla których stan weryfikacji użytkownika to
GUEST
:
- Użytkownik ma wyłączone Twoje wyniki.
- Użytkownik wyłączył strony internetowe i Aktywność w aplikacjach. Pamiętaj, że niektóre Użytkownicy mogą wyłączyć to ustawienie na poziomie domeny.
- Jeśli na urządzeniu jest włączona funkcja Voice Match, ale dopasowanie się nie powiedzie lub użytkownik wywoła Asystenta bez użycia głosu (np. przytrzymania na urządzeniu Nest Home) urządzenia).
- Użytkownik nie jest zalogowany.
Przed zapisaniem danych użytkownika zawsze sprawdzaj stan weryfikacji użytkownika pamięci, aby uniemożliwić gościom wchodzenie w interakcję z funkcją, która nie powiedzie się; dla nich.
Widoczność dla użytkowników
Jako użytkownik możesz wyświetlać dane przechowywane w pamięci użytkownika na potrzeby wywoływanych akcji. Możesz też usunąć dane przechowywane w pamięci użytkownika z konkretnej akcji lub wyłączyć zapamiętywanie Cię przez usługę.
Aby wyświetlić przechowywane dane lub wyłączyć zapamiętywanie Cię przez usługę, wykonaj te czynności: kroki:
- Otwórz katalog Asystenta.
- Znajdź i wybierz działanie, dla którego chcesz wyświetlić lub wyczyścić pamięć użytkownika.
- Przewiń do dołu strony:
- Aby wyświetlić zawartość miejsca na dane użytkownika, kliknij [Wyświetl zapisane dane].
- Aby zresetować dane przechowywane w pamięci użytkowników przez usługę, kliknij Resetuj.
- Aby usunąć dane przechowywane w pamięci użytkownika i zatrzymać działanie usługi Gdy Cię zapamiętuję, kliknij Wyłącz zapamiętywanie mnie przez: action_name.