W wywołaniu webhooka możesz przechowywać wartości parametrów z wielu sesji w w tym samym gospodarstwie domowym (na podstawie Home Graph) miejsca na dane w tym samym domu. Akcja może użyj tych zapisanych wartości później w promptach i warunkach, W razie potrzeby kod może uzyskać dostęp do wartości w pamięci domowej dla konkretnego gospodarstwa domowego.
Stan przechowywania danych w domu jest przekazywany w żądaniu app.handle()
i zachowywany
w obiekcie home
.
Ograniczenia
Domowego miejsca na dane nie można używać na urządzeniach mobilnych, ponieważ nie są one częścią domu
Wykres. W kodzie webhooka użyj funkcji urządzenia HOME_STORAGE
logikę biznesową zgodnie z funkcjami urządzenia użytkownika
Musisz wyrazić zgodę na korzystanie z pamięci domowej:
- W Konsoli Actions kliknij Deploy > (Wdróż >) Informacje w katalogu.
- W sekcji Dodatkowe informacje zaznacz pole Strona główna miejsca na dane.
Odczyt i zapis danych w gospodarstwie domowym
Aby zaktualizować lub ustawić nową wartość pamięci domowej, przypisz ją do funkcji params
obiektu home
w wywołaniu webhooka. Przykład poniżej
ustawia „exampleColor” na „czerwony” w pamięci domowej:
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" } } } }
Aby uzyskać dostęp do danych przechowywanych w pamięci domowej, przypisz je do zmiennej w webhooku . Ten przykład pobiera wartość z atrybutu „exampleColor” w domu pamięć masowa:
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" } } } }
Aby usunąć wcześniej zapisaną wartość, ustaw wartość w wywołaniu webhooka na null
.
Ten przykład usuwa wartość „exampleColor” w pamięci domowej:
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": {} } } }
Odwoływać się do przechowywanych wartości w promptach
Wartości zapisane w pamięci domowej możesz odwoływać się w prompcie do wartości. Do odwołania
jako wartość, użyj funkcji $home.params.PARAMETER_NAME
składni, gdzie PARAMETER_NAME
to nazwa podana w kluczu
webhooka,
gdy parametr został ustawiony.
Na przykład: wartość koloru została wcześniej zapisana w pamięci domowej jako
exampleColor
. Aby uzyskać dostęp do tej wartości w prompcie, musisz odwoływać się do niej:
używając funkcji $home.params.exampleColor
:
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Your favorite color is $home.params.exampleColor." }] } }] }
Odwoływanie się do przechowywanych wartości w warunkach
Możesz też odwoływać się do wartości przechowywanych w pamięci domowej w sekcji warunki. Do
odwołuje się do wartości, użyj funkcji home.params.PARAMETER_NAME
składni, gdzie PARAMETER_NAME
to nazwa podana w kluczu
webhooka,
gdy parametr został ustawiony.
Na przykład: wartość koloru została wcześniej zapisana w pamięci domowej jako
exampleColor
i chcesz dopasować go do wartości „red” w
. W warunku odwołujesz się do wartości przedpłaconej za pomocą funkcji
home.params.exampleColor
Twoje wyrażenie warunku wygląda tak:
to:
Składnia warunku
home.params.exampleColor == "red"
Wygaśnięcie danych dotyczących miejsca na dane w domu
Dane w domu zostaną wyczyszczone, jeśli akcja nie będzie wykorzystywana przez 90 kolejnych dni . Wywołuję działanie na dowolnym urządzeniu powiązanym z Home Graph resetuje 90-dniowy minutnik. Po usunięciu struktury Home Graph dane z odpowiedniej pamięci domowej zostaną wyczyszczone.
W przypadku działań, które wykorzystują miejsce na dane w domu, menedżerowie domu Home Graph mogą wyczyścić dane o domu miejsce na dane w strukturach, którymi zarządzają na stronie akcji w katalogu Asystenta:
- Znajdź i wybierz działanie, dla którego chcesz wyświetlić lub wyczyścić pamięć użytkownika.
- Przewiń do dołu strony:
- Aby usunąć dane przechowywane w domu, kliknij Zatrzymaj action_name. nie będą mnie pamiętać.
Gdy menedżer urządzenia odłączy je od domu, domowa pamięć masowa i usunięto powiązanie. Dane dotyczące miejsca na dane w domu nadal są powiązane z urządzeniem nawet jeśli zarządca domu się zmieni, chyba że menedżer domu go anuluje.
Dane dotyczące miejsca na dane w domu w symulatorze
Podczas testowania akcji za pomocą symulatora w Konsoli Actions dane przechowywane w domowej pamięci masowej działają nieco inaczej niż na fizycznej urządzenia. Symulator jest traktowany jak osobny wykres na stronie głównej, więc dane nie na innych urządzeniach w sieci. Dodatkowo strona główna dane pamięci masowej nie są zachowywane między sesjami, gdy funkcja Symuluj niezweryfikowane użytkownika.
Przykładowa interakcja
Oto przykładowa interakcja zalogowanego użytkownika podczas pierwszego wywołania funkcji Akcja:
Zapytanie użytkownika | OK Google, porozmawiaj z usługą ExampleAction. |
---|---|
Odpowiedź Asystenta | Pobieram ExampleAction. |
Odpowiedź Asystenta | Przykładowe działanie jest zapisywane przy każdym uruchomieniu, więc inne osoby w domu mogą zacząć od tego samego miejsca. |
Przykładowa odpowiedź | Dzień dobry, Jesteś na poziomie 0. Powiedz Dalej, Zresetuj lub Anuluj. |
Zapytanie użytkownika | Dalej. |
Przykładowa odpowiedź | Jesteś na poziomie 1. |
Zapytanie użytkownika | Wyjdź. |
Następnie, gdy ten sam zweryfikowany użytkownik powróci do działania po pewnym czasie:
Zapytanie użytkownika | OK Google, porozmawiaj z usługą ExampleAction. |
---|---|
Odpowiedź Asystenta | Pobieram ExampleAction. |
Przykładowa odpowiedź | Dzień dobry, Jesteś na poziomie 1. Powiedz Dalej, Zresetuj lub Anuluj. |
Zapytanie użytkownika | Dalej. |
Przykładowa odpowiedź | Jesteś na poziomie 2. |
Zapytanie użytkownika | Wyjdź. |
Następnego dnia niezweryfikowany użytkownik wchodzi w interakcję z działaniem na innym urządzeniu. w tym samym gospodarstwie domowym (zgodnie z informacjami na wykresie głównym).
Zapytanie użytkownika | OK Google, porozmawiaj z usługą ExampleAction. |
---|---|
Odpowiedź Asystenta | Pobieram ExampleAction. |
Odpowiedź Asystenta | Przykładowe działanie jest zapisywane przy każdym uruchomieniu, więc inne osoby w domu mogą zacząć od tego samego miejsca. |
Przykładowa odpowiedź | Dzień dobry, Jesteś na poziomie 2. Powiedz Dalej, Zresetuj lub Anuluj. |
Zapytanie użytkownika | Dalej. |
Przykładowa odpowiedź | Jesteś na poziomie 3. |
Zapytanie użytkownika | Wyjdź. |