ในการเรียกเว็บฮุค คุณสามารถจัดเก็บค่าพารามิเตอร์ในหลายๆ เซสชันในครอบครัวเดียวกัน (อิงตาม Home Graph) ในพื้นที่เก็บข้อมูลในบ้านได้ จากนั้นการดำเนินการจะใช้ค่าที่จัดเก็บไว้ภายหลังในพรอมต์และเงื่อนไขได้ และโค้ดเว็บฮุคจะเข้าถึงค่าในพื้นที่เก็บข้อมูลในบ้านของครอบครัวหนึ่งๆ ได้เมื่อจำเป็น
ระบบจะส่งสถานะของพื้นที่เก็บข้อมูลในบ้านไปในคำขอ app.handle()
และจัดเก็บไว้ในออบเจ็กต์ home
ข้อจำกัด
พื้นที่เก็บข้อมูลในบ้านจะใช้ร่วมกับอุปกรณ์เคลื่อนที่ไม่ได้ เนื่องจากไม่ได้เป็นส่วนหนึ่งของ Home Graph ในโค้ดเว็บฮุค ให้ใช้HOME_STORAGE
ความสามารถของอุปกรณ์
เพื่อโยงโครงสร้างธุรกิจตามสิ่งที่อุปกรณ์ของผู้ใช้ทำได้
คุณต้องเลือกใช้พื้นที่เก็บข้อมูลในบ้าน โดยทำดังนี้
- ในคอนโซล Actions ให้ไปที่ทำให้ใช้งานได้ > ข้อมูลไดเรกทอรี
- ในส่วนข้อมูลเพิ่มเติม ให้เลือกช่องพื้นที่เก็บข้อมูล Home
อ่านและเขียนข้อมูลในครอบครัว
หากต้องการอัปเดตหรือกำหนดค่าใหม่ในพื้นที่เก็บข้อมูลภายในบ้าน ให้กำหนดค่าให้กับช่อง params
ของออบเจ็กต์ home
ในการเรียกใช้เว็บฮุค ตัวอย่างต่อไปนี้ตั้งค่า "exampleColor" เป็น "red" ในพื้นที่เก็บข้อมูลในบ้าน
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" } } } }
หากต้องการเข้าถึงข้อมูลที่เก็บไว้ในพื้นที่เก็บข้อมูลในบ้าน ให้กำหนดข้อมูลดังกล่าวให้กับตัวแปรในการเรียกใช้เว็บฮุค ตัวอย่างต่อไปนี้ดึงค่าจาก "exampleColor" ในพื้นที่เก็บข้อมูลในบ้าน
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" } } } }
หากต้องการล้างค่าที่บันทึกไว้ก่อนหน้านี้ ให้ตั้งค่าเป็น null
ในการเรียกใช้เว็บฮุค
ตัวอย่างต่อไปนี้จะล้างค่า "exampleColor" ในพื้นที่เก็บข้อมูลในบ้าน
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": {} } } }
อ้างอิงค่าที่จัดเก็บไว้ภายในข้อความแจ้ง
คุณอ้างอิงค่าที่เก็บไว้ในพื้นที่เก็บข้อมูลในบ้านได้ในข้อความแจ้ง หากต้องการอ้างอิงค่า ให้ใช้ไวยากรณ์ $home.params.PARAMETER_NAME
โดยที่ PARAMETER_NAME
คือชื่อที่ระบุในเว็บฮุคเมื่อมีการตั้งค่าพารามิเตอร์
เช่น ก่อนหน้านี้คุณจัดเก็บค่าสีไว้ในพื้นที่เก็บข้อมูลในบ้านเป็นพารามิเตอร์ exampleColor
หากต้องการเข้าถึงค่านั้นในพรอมต์ ให้อ้างอิงค่านั้นโดยใช้ $home.params.exampleColor
ดังนี้
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Your favorite color is $home.params.exampleColor." }] } }] }
อ้างอิงค่าที่จัดเก็บไว้ภายในเงื่อนไข
นอกจากนี้ คุณยังอ้างอิงค่าที่เก็บไว้ในพื้นที่เก็บข้อมูลในบ้านได้ในส่วนconditions หากต้องการอ้างอิงค่า ให้ใช้ไวยากรณ์ home.params.PARAMETER_NAME
โดยที่ PARAMETER_NAME
คือชื่อที่ระบุในเว็บฮุคเมื่อมีการตั้งค่าพารามิเตอร์
เช่น ก่อนหน้านี้คุณจัดเก็บค่าสีไว้ในพื้นที่เก็บข้อมูลภายในบ้านเป็นพารามิเตอร์ exampleColor
และคุณต้องการจับคู่กับค่า "red" ในเงื่อนไขหนึ่งๆ ในเงื่อนไขของคุณ คุณอ้างอิงค่าที่จัดเก็บไว้โดยใช้ home.params.exampleColor
นิพจน์เงื่อนไข
จะมีลักษณะดังนี้
ไวยากรณ์ของเงื่อนไข
home.params.exampleColor == "red"
การหมดอายุของข้อมูลพื้นที่เก็บข้อมูลในบ้าน
ระบบจะล้างข้อมูลในพื้นที่เก็บข้อมูลภายในบ้านหลังจากไม่มีการเรียกใช้การดำเนินการเป็นเวลา 90 วันติดต่อกัน การเรียกใช้การดำเนินการในอุปกรณ์ใดก็ตามที่เชื่อมโยงกับโครงสร้าง Home Graph จะรีเซ็ตตัวจับเวลา 90 วัน หากโครงสร้างของ Home Graph ถูกลบ ระบบจะล้างข้อมูลพื้นที่เก็บข้อมูลในบ้านที่ตรงกัน
สำหรับการดำเนินการที่ใช้พื้นที่เก็บข้อมูลในบ้าน ผู้จัดการโครงสร้างของ Home Graph จะล้างพื้นที่เก็บข้อมูลในบ้านสำหรับโครงสร้างที่จัดการได้จากหน้าของการดำเนินการในไดเรกทอรี Assistant โดยทำดังนี้
- ค้นหาและเลือกการดำเนินการที่ต้องการดูหรือล้างพื้นที่เก็บข้อมูลของผู้ใช้
- เลื่อนลงไปที่ด้านล่างของหน้า
- หากต้องการนำข้อมูลที่จัดเก็บไว้ในพื้นที่เก็บข้อมูลในบ้านออก ให้คลิกหยุด action_name ไม่ให้จดจำฉัน
เมื่อผู้จัดการอุปกรณ์แยกอุปกรณ์ออกจากโครงสร้างแล้ว พื้นที่เก็บข้อมูลในบ้านก็จะแยกการเชื่อมโยงด้วย ข้อมูลพื้นที่เก็บข้อมูลในบ้านจะยังเชื่อมโยงกับอุปกรณ์ต่อไป แม้จะมีการเปลี่ยนผู้จัดการโครงสร้าง เว้นแต่ผู้จัดการโครงสร้างจะล้างข้อมูลแทน
ข้อมูลพื้นที่เก็บข้อมูลในบ้านในเครื่องมือจำลอง
เมื่อทดสอบการดำเนินการโดยใช้เครื่องจำลองในคอนโซลการดำเนินการ ข้อมูลที่เก็บไว้ในพื้นที่เก็บข้อมูลในบ้านจะทำงานต่างจากในอุปกรณ์จริงเล็กน้อย เครื่องมือจำลองถือเป็นส่วนหนึ่งของ Home Graph ในตัว ข้อมูลจึงไม่ได้อยู่กับอุปกรณ์อื่นๆ ที่คุณอาจมีในเครือข่าย นอกจากนี้ ข้อมูลพื้นที่เก็บข้อมูลภายในบ้านจะไม่คงอยู่ในเซสชันต่างๆ เมื่อเปิดใช้การตั้งค่าเครื่องจำลองจำลองผู้ใช้ที่ไม่ได้รับการยืนยัน
ตัวอย่างการโต้ตอบ
ต่อไปนี้คือตัวอย่างการโต้ตอบของผู้ใช้ที่ลงชื่อเข้าใช้ในการเรียกใช้การดำเนินการครั้งแรก
คำค้นหาของผู้ใช้ | Ok Google พูดกับ ExampleAction |
---|---|
คำตอบของ Assistant | การรับ ExampleAction |
คำตอบของ Assistant | โปรดทราบว่า ExampleAction จะได้รับการบันทึกทุกครั้งที่คุณเล่น เพื่อให้คนอื่นๆ ในครอบครัวสามารถเล่นต่อจากจุดที่ค้างไว้ได้ |
การตอบกลับของ ExampleAction | สวัสดี ผู้ใช้ที่ผ่านการยืนยันแล้ว คุณอยู่ที่ระดับ 0 พูดว่าถัดไป รีเซ็ต หรือยกเลิก |
คำค้นหาของผู้ใช้ | ถัดไป, |
การตอบกลับของ ExampleAction | คุณอยู่ที่ระดับ 1 |
คำค้นหาของผู้ใช้ | ออก |
จากนั้นเมื่อผู้ใช้ที่ได้รับการยืนยันคนเดิมกลับมาที่การดำเนินการหลังจากผ่านไปสักพัก
คำค้นหาของผู้ใช้ | Ok Google พูดกับ ExampleAction |
---|---|
คำตอบของ Assistant | การรับ ExampleAction |
การตอบกลับของ ExampleAction | สวัสดี ผู้ใช้ที่ผ่านการยืนยันแล้ว คุณอยู่ที่ระดับ 1 พูดว่าถัดไป รีเซ็ต หรือยกเลิก |
คำค้นหาของผู้ใช้ | ถัดไป, |
การตอบกลับของ ExampleAction | คุณอยู่ที่ระดับ 2 |
คำค้นหาของผู้ใช้ | ออก |
ในวันถัดไป ผู้ใช้ที่ไม่ได้รับการยืนยันโต้ตอบกับการดำเนินการในอุปกรณ์อื่นภายในครอบครัวเดียวกัน (ตามที่ระบุไว้ใน Home Graph)
คำค้นหาของผู้ใช้ | Ok Google พูดกับ ExampleAction |
---|---|
คำตอบของ Assistant | การรับ ExampleAction |
คำตอบของ Assistant | โปรดทราบว่า ExampleAction จะได้รับการบันทึกทุกครั้งที่คุณเล่น เพื่อให้คนอื่นๆ ในครอบครัวสามารถเล่นต่อจากจุดที่ค้างไว้ได้ |
การตอบกลับของ ExampleAction | สวัสดี ผู้ใช้ที่เป็นผู้มาเยือน คุณอยู่ที่ระดับ 2 พูดว่าถัดไป รีเซ็ต หรือยกเลิก |
คำค้นหาของผู้ใช้ | ถัดไป, |
การตอบกลับของ ExampleAction | คุณอยู่ที่ระดับ 3 |
คำค้นหาของผู้ใช้ | ออก |