1. بررسی اجمالی
پلتفرم توسعهدهنده Google Assistant به شما امکان میدهد نرمافزاری ایجاد کنید تا عملکرد Google Assistant، یک دستیار شخصی مجازی، را در بیش از 1 میلیارد دستگاه، از جمله بلندگوهای هوشمند، تلفنها، اتومبیلها، تلویزیونها، هدفونها و موارد دیگر گسترش دهید. کاربران برای انجام کارهایی مانند خرید مواد غذایی یا رزرو یک سواری، دستیار را در مکالمه قرار می دهند. بهعنوان یک توسعهدهنده، میتوانید از پلتفرم توسعهدهنده Assistant برای ایجاد و مدیریت آسان تجربیات گفتگوی لذتبخش و مؤثر بین کاربران و سرویس اجرای شخص ثالث خود استفاده کنید.
این نرم افزار کد مفاهیم سطح مبتدی را برای توسعه با دستیار Google پوشش می دهد. برای تکمیل آن نیازی به تجربه قبلی با پلتفرم ندارید. در این نرمافزار، شما یک Action ساده برای دستیار گوگل میسازید که به کاربران میگوید در حالی که ماجراجویی خود را در سرزمین افسانهای گریفینبرگ آغاز میکنند. در لبه کد Actions Builder سطح 2، شما این Action را بیشتر می سازید تا ثروت کاربر را بر اساس ورودی آنها سفارشی کنید.
چیزی که خواهی ساخت
در این کد لبه، شما یک Action ساده با توابع زیر می سازید:
- با یک پیام تبریک به کاربران پاسخ می دهد
- از کاربران سوال می پرسد. وقتی آنها پاسخ می دهند، Action شما به انتخاب کاربر پاسخ مناسبی می دهد
- تراشه های پیشنهادی را ارائه می دهد که کاربران می توانند برای ارائه ورودی کلیک کنند
- پیام تبریک به کاربر را بر اساس اینکه کاربر بازگشتی است یا نه، تغییر میدهد
هنگامی که این لبه کد را تمام کردید، Action تکمیل شده شما جریان مکالمه زیر را خواهد داشت:
چیزی که یاد خواهید گرفت
- نحوه ایجاد پروژه در کنسول Actions
- نحوه ارسال یک درخواست برای کاربر پس از فراخوانی Action شما
- نحوه پردازش ورودی کاربر و بازگشت پاسخ
- چگونه اکشن خود را در شبیه ساز اکشن تست کنید
- نحوه پیاده سازی تکمیل با استفاده از ویرایشگر توابع ابری
آنچه شما نیاز دارید
ابزارهای زیر باید در محیط شما باشند:
- یک مرورگر وب، مانند گوگل کروم
2. راه اندازی کنید
بخشهای زیر نحوه راهاندازی محیط توسعه و ایجاد پروژه Actions را توضیح میدهند.
تنظیمات مجوز Google خود را بررسی کنید
برای آزمایش اکشنی که در این کد لبه میسازید، باید مجوزهای لازم را فعال کنید تا شبیهساز بتواند به اکشن شما دسترسی داشته باشد. برای فعال کردن مجوزها، مراحل زیر را دنبال کنید:
- به صفحه Activity Controls بروید.
- اگر قبلاً این کار را نکردهاید، با حساب Google خود وارد شوید.
- مجوزهای زیر را فعال کنید:
- فعالیت وب و برنامه
- در بخش « فعالیت وب و برنامه »، کادر تأیید « شامل سابقه Chrome و فعالیت از سایتها، برنامهها و دستگاههایی که از خدمات Google استفاده میکنند» را انتخاب کنید.
یک پروژه Actions ایجاد کنید
پروژه Actions شما محفظه ای برای Action شماست. برای ایجاد پروژه Actions خود برای این کد لبه، مراحل زیر را دنبال کنید:
- کنسول Actions را باز کنید.
- پروژه جدید را کلیک کنید.
- نام پروژه را تایپ کنید، مانند
actions-codelab
. (این نام برای مرجع داخلی شما است. بعداً می توانید یک نام خارجی برای پروژه خود تعیین کنید.)
- روی ایجاد پروژه کلیک کنید.
- در چه نوع اکشنی می خواهید بسازید؟ صفحه، کارت سفارشی را انتخاب کنید.
- روی Next کلیک کنید.
- کارت پروژه خالی را انتخاب کنید.
- روی Start building کلیک کنید.
یک حساب صورتحساب را مرتبط کنید
برای اینکه بعداً با استفاده از توابع Cloud اجرای خود را در این آزمایشگاه کد اجرا کنید، باید یک حساب صورتحساب را با پروژه خود در Google Cloud مرتبط کنید.
اگر قبلاً یک حساب صورتحساب را با پروژه خود مرتبط نکردهاید، این مراحل را دنبال کنید:
- به صفحه صورتحساب Google Cloud Platform بروید.
- روی افزودن حساب صورتحساب یا ایجاد حساب کلیک کنید.
- اطلاعات پرداخت خود را وارد کنید
- روی شروع آزمایشی رایگان یا ارسال و فعال کردن صورتحساب کلیک کنید.
- به صفحه صورتحساب Google Cloud Platform بروید.
- روی تب My Projects کلیک کنید.
- روی سه نقطه در زیر Actions در کنار پروژه Actions مربوط به لبه کد کلیک کنید.
- روی تغییر صورتحساب کلیک کنید.
- در منوی کشویی، حساب صورتحساب را که پیکربندی کردهاید انتخاب کنید. روی تنظیم حساب کلیک کنید.
برای جلوگیری از تحمیل هزینه، مراحل موجود در بخش Clean up your project در انتهای این کد لبه را دنبال کنید.
3. یک مکالمه را شروع کنید
کاربران مکالمه را با Action شما از طریق فراخوانی شروع می کنند. برای مثال، اگر اکشنی به نام MovieTime دارید، کاربران میتوانند با گفتن عبارتی مانند «Hey Google, talk to MovieTime» که MovieTime نام نمایشی آن است، اکشن شما را فراخوانی کنند. اگر میخواهید اکشن شما را برای تولید اجرا کنید، باید یک نام نمایشی داشته باشد. با این حال، برای آزمایش Action خود، نیازی به تعریف نام نمایشی ندارید. در عوض، می توانید از عبارت Talk to my test app در شبیه ساز برای فراخوانی Action خود استفاده کنید.
شما باید فراخوان اصلی را ویرایش کنید تا مشخص کنید پس از اینکه کاربر اقدام شما را فراخواند چه اتفاقی می افتد.
بهطور پیشفرض، Actions Builder هنگامی که فراخوانی شما راهاندازی میشود، یک اعلان عمومی ارائه میکند ( "با تعریف فراخوان اصلی شروع به ساختن کنش کنید.").
در بخش بعدی، درخواست برای فراخوانی اصلی خود را در کنسول Actions سفارشی می کنید.
فراخوانی اصلی را تنظیم کنید
برای اصلاح درخواستی که Action شما هنگام فراخوانی Action شما برای کاربر ارسال میکند، این مراحل را دنبال کنید:
- روی فراخوان اصلی در نوار پیمایش کلیک کنید.
- در ویرایشگر کد، متن را در قسمت
speech
(Start building your action...
) با پیام خوشامدگویی زیر جایگزین کنید:A wondrous greeting, adventurer! Welcome to the mythical land of Gryffinberg! Based on your clothes, you are not from around these lands. It looks like you're on your way to an epic journey.
- روی ذخیره کلیک کنید.
فراخوانی اصلی را در شبیه ساز تست کنید
کنسول Actions یک ابزار وب برای آزمایش Action شما به نام شبیه ساز ارائه می دهد. این رابط دستگاههای سختافزاری و تنظیمات آنها را شبیهسازی میکند، بنابراین میتوانید با Action خود طوری صحبت کنید که گویی روی نمایشگر هوشمند، تلفن، بلندگو یا KaiOS اجرا میشود.
وقتی اکشن خود را فراخوانی میکنید، اکنون باید با درخواست سفارشیشدهای که اضافه کردهاید پاسخ دهد ( "A wondrous greeting, adventurer!..."
)
برای آزمایش فراخوانی اصلی Action خود در شبیه ساز، این مراحل را دنبال کنید:
- در نوار پیمایش بالا، روی Test کلیک کنید تا به شبیه ساز بروید.
- برای فراخوانی Action خود در شبیه ساز،
Talk to my test app
در قسمت Input تایپ کنید وEnter
را فشار دهید.
وقتی فراخوان اصلی Action خود را فعال میکنید، «دستیار» با پیام خوشآمدگویی سفارشیشده شما پاسخ میدهد. در این مرحله، پس از پاسخ دستیار با سلام، گفتگو پایان می یابد. در بخش بعدی، Action خود را تغییر می دهید تا گفتگو ادامه یابد.
مشاهده گزارش رویداد
وقتی در برگه تست هستید، پانل سمت راست گزارشهای رویداد را نشان میدهد که تاریخچه مکالمه را به عنوان گزارش رویداد نمایش میدهد. هر گزارش رویداد، رویدادهایی را که در آن نوبت مکالمه اتفاق میافتد نمایش میدهد.
Action شما در حال حاضر دارای یک گزارش رویداد است که هم ورودی کاربر ( "Talk to my test app"
) و هم پاسخ Action شما را نشان می دهد. اسکرین شات زیر گزارش رویداد Action شما را نشان می دهد:
اگر روی پیکان رو به پایین در گزارش رویداد کلیک کنید، میتوانید رویدادهایی را که به ترتیب زمانی در آن نوبت از مکالمه رخ دادهاند، مشاهده کنید:
-
userInput
: مربوط به ورودی کاربر است ("Talk to my test app"
). -
interactionMatch
: مربوط به پاسخ فراخوانی اصلی Action شما است که با ورودی کاربر ایجاد شده است. اگر این ردیف را با کلیک کردن روی فلش گسترش دهید، میتوانید اعلانی را که برای فراخوانی اصلی اضافه کردهاید مشاهده کنید (A wondrous greeting, adventurer!...
) -
endConversation
: مربوط به انتقال انتخاب شده درMain invocation
intent است که در حال حاضر مکالمه را پایان می دهد. (شما در بخش بعدی این کدآلبوم درباره انتقال اطلاعات بیشتر خواهید آموخت.)
گزارشهای رویداد، نحوه عملکرد Action شما را نشان میدهند و در صورت داشتن هر گونه مشکل، ابزار مفیدی برای اشکالزدایی Action شما هستند. برای مشاهده جزئیات یک رویداد، همانطور که در تصویر زیر نشان داده شده است، روی فلش کنار نام رویداد کلیک کنید:
4. مکالمه Action خود را ایجاد کنید
اکنون که مشخص کرده اید پس از فراخوانی یک کاربر Action شما چه اتفاقی می افتد، می توانید بقیه مکالمه Action خود را بسازید. قبل از ادامه کار با این کد، خود را با اصطلاحات زیر آشنا کنید تا بفهمید مکالمه Action شما چگونه کار می کند:
اکشن شما می تواند یک یا چند صحنه داشته باشد و قبل از اجرا باید هر صحنه را فعال کنید. (اکشنی که در این کد لبه میسازید فقط یک صحنه با عنوان Start
دارد.) رایجترین راه برای فعال کردن یک صحنه این است که Action خود را به گونهای پیکربندی کنید که وقتی کاربر با هدف کاربر در یک صحنه مطابقت میکند، آن قصد انتقال به صحنه دیگر را آغاز کند. صحنه و آن را فعال می کند.
به عنوان مثال، یک اقدام فرضی را تصور کنید که حقایق حیوانی را در اختیار کاربر قرار می دهد. هنگامی که کاربر این Action را فراخوانی می کند، هدف Main invocation
مطابقت داده می شود و انتقال به صحنه ای به نام Facts
را آغاز می کند. این انتقال صحنه Facts
را فعال میکند، که پیام زیر را برای کاربر ارسال میکند: Would you like to hear a fact about cats or dogs?
در صحنه Facts
یک هدف کاربر به نام Cat
وجود دارد که شامل عبارات آموزشی است که کاربر ممکن است برای شنیدن یک واقعیت گربه بگوید، مانند "من می خواهم یک واقعیت گربه را بشنوم". یا "گربه" . هنگامی که کاربر درخواست شنیدن یک واقعیت گربه را میدهد، هدف Cat
مطابقت داده میشود و انتقال به صحنهای به نام Cat fact
را آغاز میکند. صحنه Cat fact
فعال میشود و پیامی را برای کاربر ارسال میکند که شامل یک واقعیت گربه است.
شکل 1. جریان یک چرخش مکالمه معمولی در یک Action ساخته شده با Actions Builder
صحنهها، مقاصد و انتقالها با هم، منطق مکالمه شما را تشکیل میدهند و مسیرهای مختلفی را که کاربر شما میتواند از طریق مکالمه Action طی کند، تعریف میکند. در بخش زیر، یک صحنه ایجاد میکنید و نحوه فعال شدن آن صحنه پس از فراخوانی Action توسط کاربر را مشخص میکنید.
انتقال از فراخوان اصلی به صحنه
در این بخش، شما یک صحنه جدید به نام Start
ایجاد میکنید، که پیامی را برای کاربر ارسال میکند و از او میپرسد که آیا میخواهد طالع خود را بیان کند یا خیر. شما همچنین یک انتقال از فراخوان اصلی به صحنه Start
جدید اضافه می کنید.
برای ایجاد این صحنه و افزودن یک انتقال به آن، مراحل زیر را دنبال کنید:
- روی Develop در نوار پیمایش کلیک کنید.
- روی فراخوان اصلی در نوار ناوبری کناری کلیک کنید.
- در بخش Transition ، روی منوی کشویی کلیک کنید و در قسمت متن
Start
را تایپ کنید.
- روی افزودن کلیک کنید. این یک صحنه به نام
Start
ایجاد میکند و به Action میگوید پس از اینکه Action اعلان خوشآمدگویی را به کاربر تحویل میدهد، به صحنهStart
منتقل شود. - برای نمایش فهرست صحنه ها، روی صحنه ها در نوار پیمایش کناری کلیک کنید.
- در زیر صحنهها، روی Start کلیک کنید تا صحنه
Start
را ببینید. - در قسمت On enter صحنه
Start
روی + کلیک کنید. - Send prompts را انتخاب کنید.
- جمله را در قسمت
speech
(Enter the response that users will see or hear...
) با یک سوال از کاربر بپرسید:Before you continue on your quest, would you like your fortune told?
- روی ذخیره کلیک کنید.
وقتی کاربر وارد صحنه Start
می شود، Google Assistant این دستور ( Before you continue on your quest...
) را ارائه می دهد.
تراشه های پیشنهادی را اضافه کنید
تراشههای پیشنهاد پیشنهادات قابل کلیکی را برای کاربر ارائه میدهند که Action شما به عنوان ورودی کاربر پردازش میکند. در این بخش، تراشههای پیشنهادی را برای پشتیبانی از کاربران در دستگاههای دارای صفحه نمایش اضافه میکنید.
برای افزودن تراشههای پیشنهادی به درخواست صحنه Start
، این مراحل را دنبال کنید:
- در صحنه
Start
، روی پیشنهادات کلیک کنید. این عمل یک تراشه پیشنهادی را اضافه می کند. - در قسمت
title
،Suggested Response
را با'Yes'
جایگزین کنید. - با استفاده از همان قالببندی، به صورت دستی یک تراشه پیشنهادی با عنوان
'No'
اضافه کنید. کد شما باید شبیه قطعه زیر باشد:
suggestions:
- title: 'Yes'
- title: 'No'
- روی ذخیره کلیک کنید.
اکشن خود را در شبیه ساز تست کنید
در این مرحله، Action شما باید از فراخوانی اصلی به صحنه Start
منتقل شود و از کاربر بپرسد که آیا مایل است طالع خود را بیان کند یا خیر. تراشه های پیشنهادی نیز باید در نمایشگر شبیه سازی شده ظاهر شوند.
برای آزمایش Action خود در شبیه ساز، مراحل زیر را دنبال کنید:
- در نوار پیمایش، روی Test کلیک کنید تا به شبیه ساز هدایت شوید.
- برای آزمایش Action خود در شبیه ساز،
Talk to my test app
در قسمت Input تایپ کنید وEnter
را فشار دهید. اکشن شما باید با فرمانMain invocation
و اعلان صحنهStart
اضافه شده پاسخ دهد،"Before you continue on your quest, would you like your fortune told?"
.
تصویر زیر این تعامل را نشان می دهد:
- روی تراشه پیشنهادی
Yes
یاNo
کلیک کنید تا به درخواست پاسخ دهید. (همچنین می توانید بگویید «بله» یا «خیر» یاYes
یاNo
را در قسمت ورودی وارد کنید.)
وقتی به درخواست پاسخ میدهید، Action شما با پیامی پاسخ میدهد که نشان میدهد نمیتواند ورودی شما را بفهمد: "متأسفم، متوجه نشدم. میتوانید دوباره امتحان کنید؟" از آنجایی که هنوز Action خود را برای درک و پاسخ دادن به ورودی «بله» یا «خیر» پیکربندی نکردهاید، Action شما ورودی شما را با یک هدف NO_MATCH
.
به طور پیشفرض، هدف سیستم NO_MATCH
پاسخهای عمومی را ارائه میکند، اما میتوانید این پاسخها را سفارشی کنید تا به کاربر نشان دهید که ورودی او را متوجه نشدهاید. دستیار مکالمه کاربر را با Action شما پس از اینکه سه بار با ورودی کاربر مطابقت نداشته باشد پایان میدهد.
اهداف yes
و no
را اضافه کنید
اکنون که کاربران میتوانند به سؤالی که Action شما میپرسد پاسخ دهند، میتوانید Action خود را برای درک پاسخهای کاربران پیکربندی کنید ( "بله" یا "خیر" ). در بخشهای بعدی، مقاصد کاربر را ایجاد میکنید که با گفتن «بله» یا «خیر» کاربر مطابقت دارند و این مقاصد را به صحنه Start
اضافه میکنید.
قصد yes
ایجاد کنید
برای ایجاد قصد yes
، مراحل زیر را دنبال کنید:
- روی Develop در نوار پیمایش کلیک کنید.
- روی Custom Intents در نوار پیمایش کلیک کنید تا لیست intent ها باز شود.
- روی + (علامت بعلاوه) در انتهای لیست مقاصد کلیک کنید.
- نام intent جدید را
yes
وEnter
را فشار دهید. - روی
yes
intent کلیک کنید تا صفحهyes
intent باز شود. - در قسمت افزودن عبارات آموزشی ، روی کادر متنی Enter Phrase کلیک کنید و عبارات زیر را وارد کنید:
-
Yes
-
Y
-
I would
-
Tell me
- روی ذخیره کلیک کنید.
yes
intent را به صحنه Start
اضافه کنید
اکنون، Action میتواند بفهمد که کاربر قصد «بله» را بیان میکند. میتوانید منظور کاربر yes
را به صحنه Start
اضافه کنید، زیرا کاربر به دستور Start
پاسخ میدهد (" قبل از اینکه به جستجوی خود ادامه دهید، آیا میخواهید بخت شما گفته شود؟" ).
برای افزودن این هدف کاربر به صحنه Start
، مراحل زیر را دنبال کنید:
- روی صحنه شروع در نوار پیمایش کلیک کنید.
- روی + (علامت بعلاوه) در صحنه
Start
کنار User intent handling کلیک کنید. - در منوی کشویی intent گزینه yes را انتخاب کنید.
- روی Send prompts کلیک کنید و قسمت
speech
را با متن زیر بهروزرسانی کنید:Your future depends on the aid you choose to use for your quest. Choose wisely! Farewell, stranger.
کد موجود در ویرایشگر شما باید شبیه قطعه زیر باشد:
candidates:
- first_simple:
variants:
- speech: >-
Your future depends on the aid you choose to use for your quest. Choose
wisely! Farewell, stranger.
- در بخش انتقال ، روی منوی کشویی کلیک کنید و پایان مکالمه را انتخاب کنید.
- روی ذخیره کلیک کنید.
نیت yes
را در شبیه ساز تست کنید
در این مرحله، Action شما متوجه میشود که کاربر چه زمانی میخواهد طالع خود را بشنود و پاسخ مناسب را برمیگرداند.
برای آزمایش این هدف در شبیه ساز، مراحل زیر را دنبال کنید:
- در نوار پیمایش، روی تست کلیک کنید.
- برای آزمایش Action خود در شبیه ساز،
Talk to my test app
در قسمت Input تایپ کنید وEnter
را فشار دهید. -
Yes
را در قسمت Input تایپ کنید وEnter
را فشار دهید. یا روی تراشه پیشنهاد بله کلیک کنید.
Action شما به کاربر پاسخ می دهد و به او می گوید که ثروت او به کمکی که انتخاب می کند بستگی دارد. سپس Action شما جلسه را به پایان میرساند زیرا انتقال End conversation
را برای هدف yes
انتخاب کردهاید.
no
قصدی ایجاد نکنید
اکنون، شما باید no
قصد برای درک و پاسخ دادن به کاربر در زمانی که او نمیخواهد ثروت خود را بشنوید، ایجاد کنید. برای ایجاد این هدف، مراحل زیر را دنبال کنید:
- روی Develop در نوار پیمایش کلیک کنید.
- روی Custom Intents در نوار پیمایش کلیک کنید تا لیست intent ها باز شود.
- روی + (علامت بعلاوه) در انتهای لیست مقاصد کلیک کنید.
- نام intent جدید را
no
بگذارید وEnter
را فشار دهید. - روی no کلیک کنید تا صفحه **
no
** را باز کنید. - در قسمت افزودن عبارات آموزشی ، در کادر متنی Enter Phrase کلیک کنید و عبارات زیر را وارد کنید:
-
No
-
N
-
I don't want
-
nope
- روی ذخیره کلیک کنید.
no
قصد به صحنه Start
اضافه کنید
اکنون، Action می تواند بفهمد که کاربر در حال بیان "نه" یا چیزی شبیه به "نه" است، مانند "نه" . شما باید قصد no
کاربر را به صحنه Start
اضافه کنید زیرا کاربر به دستور Start
پاسخ می دهد (" قبل از اینکه به جستجوی خود ادامه دهید، آیا می خواهید بخت خود را بگویید؟" ).
برای افزودن این intent به صحنه Start
، مراحل زیر را دنبال کنید:
- روی صحنه شروع در نوار پیمایش کلیک کنید.
- روی + (علامت بعلاوه) در صحنه
Start
کنار User intent handling کلیک کنید. - در قسمت Intent از منوی کشویی no را انتخاب کنید.
- روی Send prompts کلیک کنید.
- فیلد
speech
را با متن زیر به روز کنید:I understand, stranger. Best of luck on your quest! Farewell.
کد موجود در ویرایشگر شما باید شبیه قطعه زیر باشد:
candidates:
- first_simple:
variants:
- speech: >-
I understand, stranger. Best of luck on your quest! Farewell.
- در بخش Transition ، از منوی کشویی، پایان گفتگو را انتخاب کنید.
- روی ذخیره کلیک کنید.
no
قصد در شبیه ساز تست کنید
در این مرحله، Action شما متوجه میشود که کاربر نمیخواهد طالع خود را بشنود و پاسخ مناسب را برمیگرداند.
برای آزمایش این هدف در شبیه ساز، مراحل زیر را دنبال کنید:
- در نوار پیمایش، روی تست کلیک کنید.
-
Talk to my test app
در قسمت Input تایپ کنید وEnter
را فشار دهید. -
No
را در قسمت Input تایپ کنید وEnter
را فشار دهید. یا روی تراشه بدون پیشنهاد کلیک کنید.
Action شما به جای اینکه به کاربر ثروت خود را بدهید، برای او در سفر آرزوی موفقیت می کند. سپس Action شما جلسه را به پایان میرساند زیرا انتقال End conversation
را برای no
قصد انتخاب کردهاید.
5. اجرای تحقق
در حال حاضر، پاسخهای Action شما ثابت هستند. هنگامی که یک صحنه حاوی یک درخواست فعال می شود، Action شما هر بار همان درخواست را ارسال می کند. در این بخش، شما تحققی را پیاده سازی می کنید که حاوی منطق ایجاد یک پاسخ مکالمه پویا است.
تکمیل شما مشخص می کند که کاربر یک کاربر بازگشتی است یا یک کاربر جدید و پیام تبریک Action را برای کاربران بازگشتی تغییر می دهد. پیام تبریک برای کاربران بازگشتی کوتاه شده است و بازگشت کاربر را تأیید می کند: " یک سلام شگفت انگیز، ماجراجو! به سرزمین افسانه ای گریفینبرگ خوش آمدید!"
برای این لبه کد، از ویرایشگر Cloud Functions در کنسول Actions برای ویرایش و استقرار کد اجرای خود استفاده کنید.
Action شما میتواند وبقلابهایی را راهاندازی کند که انجام شما را از رویدادی که در طول فراخوانی یا بخشهای خاصی از اجرای یک صحنه رخ میدهد، مطلع میکند. هنگامی که یک وب هوک راه اندازی می شود، Action شما درخواستی را با یک بار JSON به همراه نام کنترل کننده برای پردازش رویداد ارسال می کند. این کنترلر مقداری منطق را انجام می دهد و یک پاسخ JSON مربوطه را برمی گرداند.
رضایت خود را بسازید
اکنون میتوانید اجرای خود را در ویرایشگر درون خطی تغییر دهید تا هنگام فراخوانی عملکرد شما، درخواستهای مختلفی برای کاربران بازگشتی و کاربران جدید ایجاد کنید.
برای افزودن این منطق به تحقق خود، این مراحل را دنبال کنید:
- روی Develop در نوار پیمایش کلیک کنید.
- روی تب Webhook در نوار ناوبری کلیک کنید.
- چک باکس Inline Cloud Functions را انتخاب کنید.
- روی تایید کلیک کنید. کد Boilerplate به طور خودکار برای فایل های
index.js
وpackage.json
اضافه می شود.
- کد زیر را جایگزین محتوای
index.js
کنید:
index.js
const { conversation } = require('@assistant/conversation');
const functions = require('firebase-functions');
const app = conversation({debug: true});
app.handle('greeting', conv => {
let message = 'A wondrous greeting, adventurer! Welcome back to the mythical land of Gryffinberg!';
if (!conv.user.lastSeenTime) {
message = 'Welcome to the mythical land of Gryffinberg! Based on your clothes, you are not from around these lands. It looks like you\'re on your way to an epic journey.';
}
conv.add(message);
});
exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app);
- روی Save Fulfillment کلیک کنید.
- روی Deploy Fulfillment کلیک کنید.
چند دقیقه منتظر بمانید تا Cloud Functions اجرای شما را ارائه و اجرا کند. شما باید یک پیام Cloud Function در حال توسعه را در بالای ویرایشگر کد ببینید. هنگامی که کد با موفقیت اجرا شد، پیام بهروزرسانیشده برای استقرار عملکرد Cloud شما بهروز است .
کد را درک کنید
انجام شما که از کتابخانه Actions on Google Fulfillment برای Node.js استفاده میکند، به درخواستهای HTTP از دستیار Google پاسخ میدهد.
در قطعه کد قبلی، کنترل کننده greeting
را تعریف می کنید، که بررسی می کند که آیا کاربر قبلاً از Action بازدید کرده است یا lastSeenTime
. اگر lastSeenTime
تعریف نشده باشد، کاربر جدید است و کنترل کننده greeting
، احوالپرسی کاربر جدید را ارائه می دهد.
فراخوان اصلی را بهروزرسانی کنید تا یک هوک را راهاندازی کنید
اکنون که تابع greeting
را تعریف کرده اید، می توانید کنترل کننده رویداد greeting
را در هدف فراخوانی اصلی خود پیکربندی کنید تا Action شما بداند زمانی که کاربر اقدام شما را فراخوانی می کند، این تابع را فراخوانی کند.
برای پیکربندی Action خود برای فراخوانی کنترل کننده greeting
جدید، این مراحل را دنبال کنید:
- روی فراخوان اصلی در نوار پیمایش کلیک کنید.
- درخواست ارسال را پاک کنید.
- چک باکس Call your webhook را انتخاب کنید.
-
greeting
را در کادر متن اضافه کنید.
- روی ذخیره کلیک کنید.
فراخوان اصلی به روز شده را در شبیه ساز تست کنید
برای آزمایش Action خود در شبیه ساز، مراحل زیر را دنبال کنید:
- در نوار پیمایش، روی Test کلیک کنید تا به شبیه ساز هدایت شوید.
-
Talk to my test app
در قسمت Input تایپ کنید وEnter
را فشار دهید.
از آنجایی که اکشن خود را قبلاً در این نرم افزار کد آزمایش کرده اید، کاربر جدیدی نیستید، بنابراین پیام تبریک کوتاه شده زیر را دریافت می کنید: " یک سلام شگفت انگیز، ماجراجو! به سرزمین افسانه ای گریفینبرگ خوش آمدید!..."
پروژه خود را تمیز کنید [توصیه می شود]
برای جلوگیری از تحمیل هزینه های احتمالی، توصیه می شود پروژه هایی را که قصد استفاده از آنها را ندارید حذف کنید. برای حذف پروژه هایی که در این کد لبه ایجاد کرده اید، مراحل زیر را دنبال کنید:
- برای حذف پروژه Cloud و منابع، مراحل ذکر شده در بخش Shutting down (حذف) پروژه ها را کامل کنید.
- اختیاری: برای حذف فوری پروژه از کنسول Actions، مراحل فهرست شده در بخش Delete a project را تکمیل کنید. اگر این مرحله را کامل نکنید، پروژه شما پس از تقریبا 30 روز به طور خودکار حذف خواهد شد.
6. تبریک می گویم!
شما اصول اولیه ساخت Actions برای Google Assistant را می دانید.
آنچه شما پوشش داده اید
- نحوه راه اندازی یک پروژه Actions با کنسول Actions
- چگونه یک درخواست به فراخوان اصلی اضافه کنیم تا کاربران بتوانند با Action شما مکالمه را شروع کنند
- نحوه ایجاد یک رابط مکالمه با صحنهها، اهداف، انتقالها، تراشههای پیشنهاد و تحقق
- چگونه اکشن خود را با شبیه ساز اکشن تست کنید
بیشتر بدانید
منابع زیر را کاوش کنید تا درباره ساخت Actions برای Google Assistant اطلاعات بیشتری کسب کنید:
- Build Actions برای Google Assistant با استفاده از Actions Builder (سطح 2) برای ادامه ساختن کنش مکالمه خود از این Codelab
- سایت اسناد رسمی برای توسعه Actions for Google Assistant
- اقدامات در صفحه Google GitHub برای کد نمونه و کتابخانه ها
- انجمن رسمی Reddit برای توسعه دهندگانی که با Assistant کار می کنند
- @ActionsOnGoogle در توییتر برای آخرین اعلانها (با #AoGDevs توییت کنید تا آنچه میسازید به اشتراک بگذارید)
نظرسنجی بازخورد
قبل از رفتن، لطفا یک نظرسنجی مختصر در مورد تجربه خود پر کنید.