ذخیره سازی کاربر

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

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

خواندن و نوشتن داده ها در سراسر مکالمات

برای به‌روزرسانی یا تنظیم یک مقدار جدید در فضای ذخیره‌سازی کاربر، مقدار را به params شی user در تماس وب هوک اختصاص دهید. مثال زیر "exampleColor" را روی "قرمز" در فضای ذخیره سازی کاربر تنظیم می کند:

Node.js

// Assign color to user storage
app.handle('storeColor', conv => {
  let color = 'red';
  conv.user.params.exampleColor = color;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "user": {
      "locale": "en-US",
      "params": {
        "verificationStatus": "VERIFIED",
        "exampleColor": "red"
      }
    }
  }
}
    

برای دسترسی به داده های ذخیره شده در حافظه کاربر، آن را به متغیری در تماس وب هوک اختصاص دهید. مثال زیر مقداری را از "exampleColor" در فضای ذخیره سازی کاربر بازیابی می کند:

Node.js

// Retrieve color from user storage
app.handle('getStoredColor', conv => {
  let color = conv.user.params.exampleColor;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "user": {
      "locale": "en-US",
      "params": {
        "verificationStatus": "VERIFIED",
        "exampleColor": "red"
      }
    }
  }
}
    

برای پاک کردن مقداری که قبلاً ذخیره شده است، در تماس وب هوک مقدار را null کنید. مثال زیر مقدار "exampleColor" را در فضای ذخیره سازی کاربر پاک می کند:

Node.js

// Clear color from user storage
app.handle('clearStoredColor', conv => {
  conv.user.params.exampleColor = null;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "user": {
      "locale": "en-US",
      "params": {
        "verificationStatus": "VERIFIED"
      }
    }
  }
}
    

ارجاع به مقادیر ذخیره شده در دستورات

می توانید مقادیر ذخیره شده در حافظه کاربر را در یک درخواست ارجاع دهید. برای ارجاع به مقدار، از $user.params. PARAMETER_NAME نحو $user.params. PARAMETER_NAME ، که در آن PARAMETER_NAME نامی است که هنگام تنظیم پارامتر در وب هوک داده شده است.

به عنوان مثال، شما قبلاً یک مقدار رنگ را به عنوان پارامتر exampleColor در حافظه کاربر ذخیره کرده اید. برای دسترسی به آن مقدار در یک درخواست، با استفاده از $user.params.exampleColor به آن مقدار ارجاع می دهید:

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Your favorite color is $user.params.exampleColor."
      }]
    }
  }]
}
    

ارجاع مقادیر ذخیره شده در شرایط

همچنین می توانید مقادیر ذخیره شده در فضای ذخیره سازی کاربر را در شرایط ارجاع دهید. برای ارجاع به مقدار، از user.params. PARAMETER_NAME نحو user.params. PARAMETER_NAME ، که در آن PARAMETER_NAME نامی است که هنگام تنظیم پارامتر در وب هوک داده شده است.

به عنوان مثال، شما قبلاً یک مقدار رنگ را در حافظه کاربر به عنوان پارامتر exampleColor ذخیره کرده اید و می خواهید آن را با مقدار "قرمز" در یک شرط مطابقت دهید. در شرایط شما، مقدار ذخیره شده را با استفاده از user.params.exampleColor ارجاع می دهید. سپس بیان شرایط شما به این صورت است:

نحو شرط

user.params.exampleColor == "red"
    

منقضی شدن اطلاعات ذخیره سازی کاربر

برای کاربران تأیید شده، داده‌های ذخیره‌شده در فضای ذخیره‌سازی کاربر بر اساس تنظیمات Web & App Activity منقضی می‌شود و همچنین می‌تواند توسط خود Action پاک شود. برای کاربرانی که تأیید نشده‌اند، «دستیار» محتوای فضای ذخیره‌سازی کاربر را در پایان مکالمه پاک می‌کند.

Actions on Google وضعیت راستی‌آزمایی کاربر را در شروع هر مکالمه بر اساس شاخص‌های مختلفی هنگام شروع مکالمه تنظیم می‌کند. به عنوان یک مثال، کاربری که در دستگاه تلفن همراه خود به Google Assistant وارد شده است وضعیت تأیید VERIFIED دارد.

دلایل احتمالی زیر برای یک کاربر برای داشتن وضعیت تأیید GUEST هستند:

  • کاربر نتایج شخصی را خاموش کرده است.
  • کاربر فعالیت وب و برنامه خود را غیرفعال کرد. به خاطر داشته باشید که برخی از کاربران ممکن است این تنظیم را در سطح دامنه غیرفعال کنند.
  • اگر دستگاهی Voice Match را فعال کرده باشد، و مطابقت ناموفق باشد یا کاربر بدون استفاده از صدای خود، «دستیار» را فراخوانی کند (مانند فشار طولانی روی دستگاه Nest Home).
  • کاربر وارد نشده است.

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

قابلیت مشاهده برای کاربران

به عنوان یک کاربر، می توانید داده های ذخیره شده در حافظه کاربر خود را برای اقداماتی که فراخوانی می کنید مشاهده کنید. همچنین می‌توانید داده‌های ذخیره‌شده در فضای ذخیره‌سازی کاربر خود را از یک Action خاص حذف کنید یا از به خاطر سپردن سرویس جلوگیری کنید.

برای مشاهده داده های ذخیره شده خود یا جلوگیری از به خاطر سپردن شما توسط سرویس، این مراحل را دنبال کنید:

  1. به دایرکتوری Assistant بروید.
  2. اقدامی را که می‌خواهید مشاهده کنید یا فضای ذخیره‌سازی کاربر خود را برای آن پاک کنید، پیدا کرده و انتخاب کنید.
  3. به پایین صفحه رجوع کنید:
    • برای مشاهده محتویات فضای ذخیره سازی کاربر، روی [مشاهده داده های ذخیره شده] کلیک کنید.
    • برای بازنشانی داده‌های ذخیره شده در فضای ذخیره‌سازی کاربر برای سرویس، روی Reset کلیک کنید.
    • برای حذف داده‌های ذخیره شده در فضای ذخیره‌سازی کاربر و جلوگیری از به خاطر سپردن شما توسط سرویس، روی توقف action_name از به خاطر سپردن من کلیک کنید.