در تماس وب هوک، میتوانید مقادیر پارامتر را در چندین جلسه در یک خانه (بر اساس نمودار اصلی ) در فضای ذخیرهسازی خانه ذخیره کنید. سپس Action شما میتواند از آن مقادیر ذخیرهشده بعداً در اعلانها و شرایط استفاده کند، و کد webhook شما میتواند در صورت لزوم به مقادیر موجود در فضای ذخیرهسازی خانه برای یک خانواده خاص دسترسی پیدا کند.
وضعیت ذخیره سازی خانه در یک درخواست app.handle()
ارسال می شود و در شی home
ذخیره می شود.
محدودیت ها
فضای ذخیرهسازی خانه را نمیتوان با دستگاههای تلفن همراه استفاده کرد، زیرا آنها بخشی از نمودار خانگی نیستند. در کد وب هوک خود، از قابلیت دستگاه HOME_STORAGE
برای انشعاب منطق تجاری بر اساس توانایی دستگاه کاربر استفاده کنید.
برای استفاده از فضای ذخیرهسازی خانگی باید شرکت کنید:
- در کنسول Actions، به Deploy > Directory information بروید.
- در بخش اطلاعات اضافی ، کادر ذخیرهسازی خانه را علامت بزنید.
خواندن و نوشتن داده ها در یک خانواده
برای بهروزرسانی یا تنظیم یک مقدار جدید در فضای ذخیرهسازی خانگی، مقدار را به فیلد params
شی home
در تماس وب هوک اختصاص دهید. مثال زیر "exampleColor" را روی "قرمز" در فضای ذخیره سازی خانه تنظیم می کند:
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
نحو $home.params. PARAMETER_NAME
، که در آن PARAMETER_NAME
نامی است که هنگام تنظیم پارامتر در وب هوک داده شده است.
به عنوان مثال، قبلاً یک مقدار رنگ را به عنوان پارامتر exampleColor
در فضای ذخیرهسازی خانه ذخیره کردهاید. برای دسترسی به آن مقدار در یک درخواست، با استفاده از $home.params.exampleColor
به آن مقدار ارجاع می دهید:
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Your favorite color is $home.params.exampleColor." }] } }] }
ارجاع مقادیر ذخیره شده در شرایط
همچنین می توانید مقادیر ذخیره شده در فضای ذخیره سازی خانه را در شرایط ارجاع دهید. برای ارجاع به مقدار، از home.params. PARAMETER_NAME
نحو home.params. PARAMETER_NAME
، که در آن PARAMETER_NAME
نامی است که هنگام تنظیم پارامتر در وب هوک داده شده است.
برای مثال، قبلاً یک مقدار رنگ را در فضای ذخیرهسازی خانه بهعنوان پارامتر exampleColor
ذخیره کردهاید، و میخواهید آن را با مقدار «قرمز» در یک شرط مطابقت دهید. در شرایط شما، مقدار ذخیره شده را با استفاده از home.params.exampleColor
ارجاع می دهید. سپس عبارت وضعیت شما به صورت زیر است:
نحو شرط
home.params.exampleColor == "red"
انقضای داده های ذخیره سازی خانه
دادههای ذخیرهسازی خانه پس از 90 روز متوالی از فراخوان نشدن Action پاک میشوند. فراخوانی Action در هر دستگاه مرتبط با ساختار Home Graph تایمر 90 روزه را بازنشانی می کند. اگر ساختار Home Graph حذف شود، داده های ذخیره سازی خانه مربوطه پاک می شود.
برای کنشهایی که از فضای ذخیرهسازی خانگی استفاده میکنند، مدیران ساختار Home Graph میتوانند فضای ذخیرهسازی خانه را برای ساختارهایی که مدیریت میکنند از صفحه Action در فهرست راهنمای Assistant پاک کنند:
- اقدامی را که میخواهید مشاهده کنید یا فضای ذخیرهسازی کاربر خود را برای آن پاک کنید، پیدا کرده و انتخاب کنید.
- به پایین صفحه بروید:
- برای حذف دادههای ذخیره شده برای شما در فضای ذخیرهسازی خانگی، روی توقف action_name از به خاطر سپردن من کلیک کنید.
هنگامی که مدیر یک دستگاه آن را از ساختار جدا می کند، ذخیره سازی خانه نیز جدا می شود. دادههای ذخیرهسازی خانه همچنان با دستگاه مرتبط هستند، حتی اگر مدیر ساختار تغییر کند، مگر اینکه مدیر ساختار آن را پاک کند.
داده های ذخیره سازی خانه در شبیه ساز
هنگام آزمایش Action خود با استفاده از شبیهساز در کنسول Actions ، دادههای ذخیرهشده در حافظه خانگی کمی متفاوت از یک دستگاه فیزیکی رفتار میکنند. شبیهساز بخشی از نمودار اصلی خود در نظر گرفته میشود، بنابراین دادهها در دستگاههای دیگری که ممکن است در شبکه خود داشته باشید باقی نمانند. علاوه بر این، هنگامی که تنظیم شبیهساز کاربر تأیید نشده شبیهسازی فعال باشد، دادههای ذخیرهسازی خانه در تمام جلسات باقی نمیمانند.
تعامل نمونه
در اینجا نمونه ای از تعامل یک کاربر وارد شده در اولین فراخوانی Action آمده است:
پرس و جو کاربر | سلام گوگل، با ExampleAction صحبت کنید. |
---|---|
پاسخ دستیار | گرفتن ExampleAction. |
پاسخ دستیار | فقط برای اینکه بدانید، ExampleAction هر بار که آن را بازی می کنید ذخیره می شود، بنابراین سایر اعضای خانواده شما می توانند از جایی که شما آن را متوقف کرده اید ادامه دهند. |
نمونه پاسخ اقدام | سلام کاربر تایید شده شما در سطح 0 هستید. بگویید next، reset یا cancel. |
پرس و جو کاربر | بعدی |
نمونه پاسخ اقدام | شما در سطح 1 هستید. |
پرس و جو کاربر | ترک کنید. |
سپس، هنگامی که همان کاربر تأیید شده پس از مدتی به Action برمی گردد:
پرس و جو کاربر | سلام گوگل، با ExampleAction صحبت کنید. |
---|---|
پاسخ دستیار | گرفتن ExampleAction. |
نمونه پاسخ اقدام | سلام کاربر تایید شده شما در سطح 1 هستید. بگویید next، reset یا cancel. |
پرس و جو کاربر | بعدی |
نمونه پاسخ اقدام | شما در سطح 2 هستید. |
پرس و جو کاربر | ترک کنید. |
روز بعد، یک کاربر تأیید نشده در دستگاه دیگری در همان خانواده (همانطور که در Home Graph مشخص شده است) با Action تعامل می کند.
پرس و جو کاربر | سلام گوگل، با ExampleAction صحبت کنید. |
---|---|
پاسخ دستیار | گرفتن ExampleAction. |
پاسخ دستیار | فقط برای اینکه بدانید، ExampleAction هر بار که آن را بازی می کنید ذخیره می شود، بنابراین سایر اعضای خانواده شما می توانند از جایی که شما آن را متوقف کرده اید ادامه دهند. |
نمونه پاسخ اقدام | سلام کاربر مهمان. شما در سطح 2 هستید. بگویید next، reset یا cancel. |
پرس و جو کاربر | بعدی |
نمونه پاسخ اقدام | شما در سطح 3 هستید. |
پرس و جو کاربر | ترک کنید. |