ذخیره سازی خانه

در تماس وب هوک، می‌توانید مقادیر پارامتر را در چندین جلسه در یک خانه (بر اساس نمودار اصلی ) در فضای ذخیره‌سازی خانه ذخیره کنید. سپس Action شما می‌تواند از آن مقادیر ذخیره‌شده بعداً در اعلان‌ها و شرایط استفاده کند، و کد webhook شما می‌تواند در صورت لزوم به مقادیر موجود در فضای ذخیره‌سازی خانه برای یک خانواده خاص دسترسی پیدا کند.

وضعیت ذخیره سازی خانه در یک درخواست app.handle() ارسال می شود و در شی home ذخیره می شود.

محدودیت ها

فضای ذخیره‌سازی خانه را نمی‌توان با دستگاه‌های تلفن همراه استفاده کرد، زیرا آنها بخشی از نمودار خانگی نیستند. در کد وب هوک خود، از قابلیت دستگاه HOME_STORAGE برای انشعاب منطق تجاری بر اساس توانایی دستگاه کاربر استفاده کنید.

برای استفاده از فضای ذخیره‌سازی خانگی باید شرکت کنید:

  1. در کنسول Actions، به Deploy > Directory information بروید.
  2. در بخش اطلاعات اضافی ، کادر ذخیره‌سازی خانه را علامت بزنید.

خواندن و نوشتن داده ها در یک خانواده

برای به‌روزرسانی یا تنظیم یک مقدار جدید در فضای ذخیره‌سازی خانگی، مقدار را به فیلد 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 پاک کنند:

  1. اقدامی را که می‌خواهید مشاهده کنید یا فضای ذخیره‌سازی کاربر خود را برای آن پاک کنید، پیدا کرده و انتخاب کنید.
  2. به پایین صفحه بروید:
    • برای حذف داده‌های ذخیره شده برای شما در فضای ذخیره‌سازی خانگی، روی توقف 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 هستید.
پرس و جو کاربر ترک کنید.