تم إيقاف إجراءات المحادثات نهائيًا في 13 حزيران (يونيو) 2023. لمزيد من المعلومات، يُرجى الاطّلاع على
إنهاء إجراءات المحادثة.
مساحة تخزين الجلسة
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يمكنك تخزين قيم المَعلمات لمستخدم معيّن ضمن محادثة في
مساحة تخزين الجلسة. يمكن للإجراء الخاص بك بعد ذلك استخدام هذه القيم المخزّنة لاحقًا في الطلبات.
والشروط، ويمكن لرمز الرد التلقائي على الويب الوصول إلى القيم في تخزين الجلسة
المحادثة عند الضرورة.
أثناء المحادثة، يتم تخزين أي بيانات تم جمعها باستخدام الأنواع في جلسة.
مساحة التخزين. يمكنك أيضًا التفاعل مع البيانات في تخزين الجلسة باستخدام مكالمات الردّ التلقائي على الويب.
بالنسبة إلى مكالمات الرد التلقائي على الويب، يتم تمرير حالة تخزين الجلسة في app.handle()
ويتم تخزينها في كائن session
.
تنتهي صلاحية البيانات المخزَّنة في تخزين الجلسة عند انتهاء محادثة.
قراءة البيانات وكتابتها في مساحة تخزين الجلسة
لتعديل قيمة جديدة في مساحة تخزين الجلسة أو ضبطها، اضبط القيمة على
الحقل params
للعنصر session
في استدعاء ردّ تلقائي على الويب. المثال التالي
تعيين "exampleColor" إلى "أحمر" في مساحة تخزين الجلسة:
Node.js
// Assign color to session storage
app.handle('storeColor', conv => {
let color = 'red';
conv.session.params.exampleColor = color;
});
JSON
{
"responseJson": {
"session": {
"id": "12345678901234567890",
"params": {
"exampleColor": "red"
}
},
"prompt": {
"override": false
}
}
}
للوصول إلى البيانات المخزَّنة في مساحة تخزين الجلسة، يمكنك تخصيصها لمتغيّر في ردّ تلقائي على الويب.
الاتصال. يسترد المثال التالي قيمة من "exampleColor" في الجلسة
مساحة التخزين:
Node.js
// Retrieve color from session storage
app.handle('getStoredColor', conv => {
let color = conv.session.params.exampleColor;
});
JSON
{
"responseJson": {
"session": {
"id": "12345678901234567890",
"params": {
"exampleColor": "red"
}
},
"prompt": {
"override": false
}
}
}
لمحو قيمة تم حفظها سابقًا، اضبط القيمة على null
في مكالمة ردّ تلقائي على الويب.
يمحو المثال التالي قيمة "exampleColor" في مساحة تخزين الجلسة:
Node.js
// Clear color from session storage
app.handle('clearStoredColor', conv => {
conv.session.params.exampleColor = null;
});
JSON
{
"responseJson": {
"session": {
"id": "12345678901234567890",
"params": {}
},
"prompt": {
"override": false
}
}
}
الإشارة إلى القيم المخزّنة في الطلبات
يمكنك الإشارة إلى القيم المخزَّنة في مساحة تخزين الجلسة في طلب. للإشارة إلى
قيمة، استخدم بناء الجملة $session.params.PARAMETER_NAME
، حيث
PARAMETER_NAME
هو الاسم المقدَّم في الرد التلقائي على الويب عندما تكون المَعلمة
تم تعيينها.
على سبيل المثال، سبق لك تخزين قيمة لون في تخزين الجلسة على أنها
المعلمة exampleColor
. للوصول إلى هذه القيمة في الطلب، تشير إلى أن
باستخدام $session.params.exampleColor
:
JSON
{
"candidates": [{
"first_simple": {
"variants": [{
"speech": "Your favorite color is $session.params.exampleColor."
}]
}
}]
}
الإشارة إلى القيم المخزّنة ضمن شروط
يمكنك أيضًا الإشارة إلى القيم المخزّنة في مساحة تخزين الجلسة في الشروط. إلى
تشير إلى القيمة، استخدِم session.params.PARAMETER_NAME
بناء الجملة، حيث يكون PARAMETER_NAME
هو الاسم المحدد في الرد التلقائي على الويب عند
تم تعيين المعلمة.
على سبيل المثال، سبق لك تخزين قيمة لون في تخزين الجلسة على أنها
المعلمة exampleColor
، وتريد مطابقتها بالقيمة "red" في
الشرط. في حالتك، تشير إلى القيمة المخزنة باستخدام
session.params.exampleColor
بعد ذلك، يظهر تعبير الشرط على النحو التالي:
بنية الشرط
session.params.exampleColor == "red"
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eYou can utilize session storage to save user-specific parameter values during a conversation, enabling your Action to reuse them in prompts and conditions, and your webhook code to access them when needed.\u003c/p\u003e\n"],["\u003cp\u003eSession storage automatically stores data gathered using types during a conversation, and you can interact with this data via webhook calls using the \u003ccode\u003esession\u003c/code\u003e object.\u003c/p\u003e\n"],["\u003cp\u003eTo modify or add values in session storage, assign them to the \u003ccode\u003eparams\u003c/code\u003e field of the \u003ccode\u003esession\u003c/code\u003e object within a webhook call; to retrieve them, assign them to a variable within a webhook call.\u003c/p\u003e\n"],["\u003cp\u003eStored values in session storage can be referenced in prompts using the \u003ccode\u003e$session.params.<PARAMETER_NAME>\u003c/code\u003e syntax and in conditions using the \u003ccode\u003esession.params.<PARAMETER_NAME>\u003c/code\u003e syntax.\u003c/p\u003e\n"],["\u003cp\u003eData stored in session storage is ephemeral and automatically deleted when the conversation concludes.\u003c/p\u003e\n"]]],[],null,["# Session storage\n\nYou can store parameter values for a specific user within a conversation in\nsession storage. Your Action can then use those stored values later in prompts\nand conditions, and your webhook code can access values in session storage for\nthe conversation when necessary.\n\nDuring a conversation, any data collected using [types](/assistant/conversational/types) is stored in session\nstorage. You can also interact with data in session storage using webhook calls.\nFor webhook calls, the state of session storage is passed in an `app.handle()`\nrequest and is stored in the [`session`](/assistant/conversational/reference/rest/v1/TopLevel/fulfill#Session) object.\n\nData stored in session storage expires when a conversation ends.\n\nRead and write data to session storage\n--------------------------------------\n\nTo update or set a new value in session storage, assign the value to the\n`params` field of the `session` object in a webhook call. The following example\nsets \"exampleColor\" to \"red\" in session storage: \n\n### Node.js\n\n```javascript\n// Assign color to session storage\napp.handle('storeColor', conv =\u003e {\n let color = 'red';\n conv.session.params.exampleColor = color;\n});\n \n```\n\n### JSON\n\n```text\n{\n \"responseJson\": {\n \"session\": {\n \"id\": \"12345678901234567890\",\n \"params\": {\n \"exampleColor\": \"red\"\n }\n },\n \"prompt\": {\n \"override\": false\n }\n }\n}\n \n```\n\nTo access data stored in session storage, assign it to a variable in a webhook\ncall. The following example retrieves a value from \"exampleColor\" in session\nstorage: \n\n### Node.js\n\n```javascript\n// Retrieve color from session storage\napp.handle('getStoredColor', conv =\u003e {\n let color = conv.session.params.exampleColor;\n});\n \n```\n\n### JSON\n\n```text\n{\n \"responseJson\": {\n \"session\": {\n \"id\": \"12345678901234567890\",\n \"params\": {\n \"exampleColor\": \"red\"\n }\n },\n \"prompt\": {\n \"override\": false\n }\n }\n}\n \n```\n\nTo clear a previously saved value, set the value to `null` in a webhook call.\nThe following example clears the value of \"exampleColor\" in session storage: \n\n### Node.js\n\n```javascript\n// Clear color from session storage\napp.handle('clearStoredColor', conv =\u003e {\n conv.session.params.exampleColor = null;\n});\n \n```\n\n### JSON\n\n```text\n{\n \"responseJson\": {\n \"session\": {\n \"id\": \"12345678901234567890\",\n \"params\": {}\n },\n \"prompt\": {\n \"override\": false\n }\n }\n}\n \n```\n\nReference stored values within prompts\n--------------------------------------\n\nYou can reference values stored in session storage in a [prompt](/assistant/conversational/prompts). To reference the\nvalue, use `$session.params.`\u003cvar translate=\"no\"\u003ePARAMETER_NAME\u003c/var\u003e syntax, where\n\u003cvar translate=\"no\"\u003ePARAMETER_NAME\u003c/var\u003e is the name given in the webhook when the parameter\nwas set.\n\nFor example, you previously stored a color value in session storage as the\nparameter `exampleColor`. To access that value in a prompt, you reference that\nvalue using `$session.params.exampleColor`: \n\n### JSON\n\n```gdscript\n{\n \"candidates\": [{\n \"first_simple\": {\n \"variants\": [{\n \"speech\": \"Your favorite color is $session.params.exampleColor.\"\n }]\n }\n }]\n}\n \n```\n\nReference stored values within conditions\n-----------------------------------------\n\nYou can also reference values stored in session storage in [conditions](/assistant/conversational/conditions). To\nreference the value, use the `session.params.`\u003cvar translate=\"no\"\u003ePARAMETER_NAME\u003c/var\u003e\nsyntax, where \u003cvar translate=\"no\"\u003ePARAMETER_NAME\u003c/var\u003e is the name given in the webhook when\nthe parameter was set.\n\nFor example, you previously stored a color value in session storage as the\nparameter `exampleColor`, and you want to match it with the value \"red\" in a\ncondition. In your condition, you reference the stored value using\n`session.params.exampleColor`. Your condition expression then looks like this: \n\n### Condition syntax\n\n```text\nsession.params.exampleColor == \"red\"\n \n```"]]