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:
// Assign color to user storage
app.handle('storeColor', conv => {
let color = 'red';
conv.user.params.exampleColor = color;
});
{
"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:
// Retrieve color from user storage
app.handle('getStoredColor', conv => {
let color = conv.user.params.exampleColor;
});
{
"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:
// Clear color from user storage
app.handle('clearStoredColor', conv => {
conv.user.params.exampleColor = null;
});
{
"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
:
{
"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:
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.