1. সংক্ষিপ্ত বিবরণ
গুগল অ্যাসিস্ট্যান্ট ডেভেলপার প্ল্যাটফর্ম আপনাকে স্মার্ট স্পিকার, ফোন, গাড়ি, টিভি, হেডফোন এবং আরও অনেক কিছু সহ ১ বিলিয়নেরও বেশি ডিভাইসে ভার্চুয়াল ব্যক্তিগত সহকারী গুগল অ্যাসিস্ট্যান্টের কার্যকারিতা প্রসারিত করার জন্য সফ্টওয়্যার তৈরি করতে দেয়। ব্যবহারকারীরা মুদিখানা কেনা বা রাইড বুক করার মতো কাজগুলি সম্পন্ন করার জন্য অ্যাসিস্ট্যান্টকে কথোপকথনে জড়িত করে। একজন ডেভেলপার হিসেবে, আপনি ব্যবহারকারী এবং আপনার নিজস্ব তৃতীয়-পক্ষের পরিপূর্ণতা পরিষেবার মধ্যে সহজেই আনন্দদায়ক এবং কার্যকর কথোপকথনের অভিজ্ঞতা তৈরি এবং পরিচালনা করতে অ্যাসিস্ট্যান্ট ডেভেলপার প্ল্যাটফর্ম ব্যবহার করতে পারেন।
এই কোডল্যাবটি Google Assistant-এর মাধ্যমে ডেভেলপ করার জন্য মধ্যবর্তী স্তরের ধারণাগুলি কভার করে এবং Actions SDK (লেভেল ১) কোডল্যাব ব্যবহার করে Build Actions for Google Assistant- এ তৈরি করা অ্যাকশনের উপর ভিত্তি করে তৈরি করে। আমরা দৃঢ়ভাবে সুপারিশ করছি যে আপনি এটি শুরু করার আগে লেভেল ১ কোডল্যাবটি সম্পূর্ণ করুন।
এই কোডল্যাবে আপনি যে অ্যাকশনটি তৈরি করবেন তা ব্যবহারকারীদের তাদের পছন্দের সাহায্যের উপর ভিত্তি করে একটি পৌরাণিক ভূমি, গ্রিফিনবার্গে তাদের অনুসন্ধানের ভাগ্য বলে দেবে।
তুমি কী তৈরি করবে
এই কোডল্যাবে, আপনি নিম্নলিখিত ফাংশনগুলির সাহায্যে একটি পরিশীলিত কথোপকথনমূলক ক্রিয়া তৈরি করবেন:
- ব্যবহারকারীর কাছ থেকে তথ্য সংগ্রহ করে এবং মানের উপর নির্ভর করে কথোপকথনের প্রম্পটগুলি পরিবর্তন করে।
- কথোপকথন আরও এগিয়ে নিতে পরবর্তী প্রশ্নের উত্তর দেয়।
- একটি গেম লুপ তৈরি করে যাতে ব্যবহারকারী ভাগ্য পাওয়ার পরে আবার অ্যাকশনের সাথে ইন্টারঅ্যাক্ট করতে পারে।
তৈরি শুরু করার আগে, আপনি আপনার Google Assistant-সক্ষম ডিভাইসে "Hey Google, talk to Fate and Fortune" বলে লাইভ অ্যাকশনের সাথে ইন্টারঅ্যাক্ট করতে পারেন। ফিরে আসা ব্যবহারকারীর জন্য এই অ্যাকশনের মাধ্যমে ডিফল্ট পথটি নিম্নলিখিত ইন্টারঅ্যাকশনের মতো দেখাবে:


তুমি কি শিখবে
- ব্যবহারকারীর কাছ থেকে তথ্য সংগ্রহের জন্য স্লট কীভাবে ব্যবহার করবেন
- কোনও দৃশ্যে যুক্তি যোগ করার জন্য শর্তগুলি কীভাবে ব্যবহার করবেন
- কিভাবে একটি গেম লুপ যোগ করবেন
- কীভাবে একটি সহায়ক পথ যোগ করবেন
তোমার যা লাগবে
এই কোডল্যাবের পূর্বশর্তগুলির মধ্যে রয়েছে নিম্নলিখিতগুলি:
- আপনার পছন্দের একটি IDE/টেক্সট এডিটর।
- NodeJS , npm এবং git ইনস্টল করে শেল কমান্ড চালানোর জন্য একটি টার্মিনাল।
- একটি ওয়েব ব্রাউজার, যেমন গুগল ক্রোম ।
- একটি সম্পূর্ণ কোডল্যাব লেভেল ১ অ্যাকশন প্রকল্প।
এই কোডল্যাবের পূর্ণতা কোড বোঝার জন্য জাভাস্ক্রিপ্ট (ES6) এর সাথে পরিচিত হওয়ার জোরালো পরামর্শ দেওয়া হচ্ছে, যদিও এটি প্রয়োজনীয় নয়।
ঐচ্ছিক: নমুনা কোডটি পান
আপনি ঐচ্ছিকভাবে Actions Builder Codelab Level 1 GitHub রিপোজিটরি থেকে সম্পূর্ণ লেভেল 1 প্রজেক্ট কোড পেতে পারেন যাতে আপনি এই কোডল্যাবের সাথে অনুসরণ করতে পারেন। আপনি এই Github রিপোজিটরিতে সম্পূর্ণ লেভেল 2 প্রজেক্ট কোডও দেখতে পারেন।
২. কথোপকথনমূলক ইন্টারফেস তৈরি করা চালিয়ে যান
প্রথম কোডল্যাবে, আপনি একটি দৃশ্য, Start দিয়ে একটি সহজ কথোপকথনমূলক অ্যাকশন তৈরি করেছিলেন।
এই কোডল্যাবে, আপনি আপনার অ্যাকশনের কথোপকথন প্রসারিত করবেন। নিম্নলিখিত বিভাগগুলিতে, আপনি আপনার অ্যাকশনকে নিম্নলিখিত কাজগুলি করার জন্য কনফিগার করবেন:
- ব্যবহারকারী যখন তাদের ভাগ্য শুনতে চান তখন একটি নতুন
Fortuneদৃশ্যে রূপান্তর - ব্যবহারকারীকে জিজ্ঞাসা করুন যে তারা তাদের যাত্রার জন্য কোন সহায়তা বেছে নিতে চান।
- ব্যবহারকারীর পছন্দের উপর ভিত্তি করে একটি কাস্টমাইজড ভাগ্য প্রদান করুন
Fortune দৃশ্যে রূপান্তর এবং তৈরি করুন
এই বিভাগে, আপনি নিম্নলিখিতগুলি করবেন:
-
Startদৃশ্য থেকে বিদ্যমান প্রম্পটটি সরিয়ে ফেলুন, যা ব্যবহারকারীর প্রতিক্রিয়া জানায় এবং কথোপকথনটি শেষ করে। -
Startদৃশ্য থেকেFortuneদৃশ্যে রূপান্তর সংজ্ঞায়িত করুন। -
Fortuneদৃশ্য তৈরি করুন
Start দৃশ্যটি পরিবর্তন করতে এবং Fortune দৃশ্যে একটি রূপান্তর যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- আপনার টেক্সট এডিটরে লেভেল ১ কোডল্যাব থেকে আপনার অ্যাকশনস প্রজেক্টটি খুলুন।
-
custom/scenes/Start.yamlফাইলটি খুলুন। -
yesইনটেন্টের জন্যhandlerআপডেট করুন যাতে আপনার কোডটি নীচের স্নিপেটের সাথে মেলে:
স্টার্ট.ইয়ামল
intentEvents:
- intent: "yes"
transitionToScene: Fortune
- handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: I understand, stranger. Best of luck on your quest! Farewell.
intent: "no"
transitionToScene: actions.scene.END_CONVERSATION
- ফাইলটি সংরক্ষণ করুন।
Fortune নামে একটি নতুন দৃশ্য তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- টার্মিনালে আপনার কোডল্যাব লেভেল ১ অ্যাকশন প্রজেক্টে নেভিগেট করুন।
-
scenesডিরেক্টরিতেFortune.yamlনামে একটি নতুন ফাইল তৈরি করুন:
touch custom/scenes/Fortune.yaml
আপনি পরবর্তী বিভাগে এই ফাইলটি সম্পাদনা করবেন।
Fortune দৃশ্যের জন্য কথোপকথনের যুক্তি সংজ্ঞায়িত করুন
এই কোডল্যাবে, আপনি আপনার Fortune দৃশ্যটি ব্যবহারকারীকে জিজ্ঞাসা করার জন্য কনফিগার করেন, " আপনার অনুসন্ধানে আপনাকে সাহায্য করার জন্য আপনি কী বেছে নেন, একটি ড্রাগন, একটি অনুবাদক, অথবা একটি কম্পাস?" এগিয়ে যাওয়ার আগে ব্যবহারকারীর কাছ থেকে প্রয়োজনীয় তথ্য সংগ্রহ করার জন্য আপনি স্লট ফিলিং নামক একটি ক্ষমতা ব্যবহার করতে পারেন।
আপনার অ্যাকশন তিনটি সহায়কের জন্য ভাগ্য প্রদান করে: একটি ড্রাগন, অনুবাদক এবং কম্পাস। ব্যবহারকারীর ইনপুটে এই তিনটি বিকল্প সনাক্ত করার জন্য আপনার অ্যাকশন কনফিগার করতে, আপনাকে একটি নতুন টাইপ তৈরি করতে হবে।
ব্যবহারকারীর কাছ থেকে আপনার প্রয়োজনীয় তথ্য নির্ধারণের জন্য আপনি একটি দৃশ্যের স্লট পূরণ পর্যায়ে টাইপ ব্যবহার করতে পারেন। যখন NLU ইঞ্জিন ব্যবহারকারীর ইনপুটে একটি স্লট মিল সনাক্ত করে, তখন এটি একটি টাইপ করা প্যারামিটার হিসাবে স্লটটি বের করে, যাতে আপনি একটি দৃশ্যে এটি দিয়ে যুক্তি প্রয়োগ করতে পারেন।
available_options টাইপ তৈরি করুন
এই বিভাগে, আপনি available_options নামে একটি নতুন টাইপ তৈরি করবেন, যা ব্যবহারকারীরা প্রম্পটের প্রতিক্রিয়ায় যে তিনটি বিকল্প বেছে নিতে পারেন (ড্রাগন, অনুবাদক এবং কম্পাস) তা নির্দিষ্ট করে। যদি কোনও ব্যবহারকারী অনুরূপ কিছু বলে, তাহলে আপনি এই বিকল্পগুলির জন্য কয়েকটি প্রতিশব্দও সংজ্ঞায়িত করতে পারেন। পরবর্তী বিভাগে, আপনি ব্যবহারকারীর পছন্দ পেতে চান তা নির্দিষ্ট করার জন্য একটি স্লটে available_options টাইপ যোগ করবেন।
available_options টাইপ তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
-
typesনামে একটি নতুন ডিরেক্টরি তৈরি করুন:
mkdir custom/types
-
typesডিরেক্টরিতেavailable_options.yamlনামে একটি নতুন ফাইল তৈরি করুন:
touch custom/types/available_options.yaml
- আপনার টেক্সট এডিটরে
custom/types/available_options.yamlখুলুন।
প্রকারগুলিকে তথ্যের কী-মান জোড়া হিসেবে কনফিগার করা হয়, যেখানে কী হল ধরণের নাম এবং মানগুলি সেই কী-এর সমার্থক শব্দ। আপনি যখন কী সংজ্ঞায়িত করেন, তখন এটি স্বয়ংক্রিয়ভাবে একটি মান হিসেবে যোগ করা হয়। অ্যাকশন SDK-এর সাহায্যে, আপনি কীগুলিকে entities হিসেবে এবং মানগুলিকে synonyms হিসেবে উপস্থাপন করেন।
ব্যবহারকারীর পছন্দের তিনটি বিকল্প যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
-
available_options.yamlফাইলে নিম্নলিখিতentitiesএবংsynonymsযোগ করুন:
available_options.yaml সম্পর্কে
synonym:
entities:
dragon:
synonyms:
- dragon
- hydra
- lizard
translator:
synonyms:
- translator
- communicator
- machine
- decoder
- translate
compass:
synonyms:
- compass
- direction
- guide
- navigator
matchType: EXACT_MATCH
- ফাইলটি সংরক্ষণ করুন।
তোমার অ্যাকশন এখন বুঝতে পারছে যে available_options হল ড্রাগন, অনুবাদক এবং কম্পাস, এবং কিছু সংশ্লিষ্ট প্রতিশব্দও চিনতে পারে।
স্লট ফিলিং কনফিগার করুন
এরপর, আপনাকে Fortune দৃশ্যে স্লট ফিলিং কনফিগার করতে হবে। স্লট ফিলিং লজিক কনফিগার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- আপনার টেক্সট এডিটরে
custom/scenes/Fortune.yamlখুলুন। -
Fortune.yamlফাইলে নিম্নলিখিতslotsডেটা যোগ করুন:
ফরচুন.ইয়ামল
slots:
- commitBehavior:
writeSessionParam: chosenOptions
name: chosenOptions
promptSettings:
initialPrompt:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: What do you choose to help you on your quest, a dragon, a translator, or a compass?
suggestions:
- title: Dragon
- title: Translator
- title: Compass
required: true
type:
name: available_options
- ফাইলটি সংরক্ষণ করুন।
আপনি এখন স্লটে available_options টাইপ যোগ করেছেন, যা আপনার Action কে ব্যবহারকারীর কাছ থেকে (তাদের সাহায্যের পছন্দ) এগিয়ে যাওয়ার আগে সংগ্রহ করতে প্রয়োজনীয় তথ্য বলে। আপনি স্লটের মধ্যে একটি প্রম্পটও কনফিগার করেছেন, যা ব্যবহারকারী দৃশ্যের স্লট পূরণের পর্যায়ে পৌঁছালে প্রম্পট কিউতে যোগ করা হয়।
যখন আপনি স্লট chosenOptions নামকরণ করেন, writeSessionsParam ক্ষেত্রটি একই নামে আপডেট করা হয় ( $session.params.chosenOptions )। আপনি প্রম্পটে এবং ক্লায়েন্ট লাইব্রেরির মাধ্যমে আপনার পরিপূর্ণতায় এই নামে এই প্যারামিটারটি অ্যাক্সেস করতে পারেন।
শর্ত যোগ করুন
এখন যেহেতু আপনি এমন একটি স্লট যোগ করেছেন যার জন্য ব্যবহারকারীর পছন্দের সাহায্য প্রয়োজন, আপনি একটি শর্ত যোগ করতে পারেন যাতে ব্যবহারকারী কথোপকথন চালিয়ে যাওয়ার আগে স্লট ডেটা প্রাপ্ত হয়েছে কিনা তা পরীক্ষা করা যায়।
এই বিভাগে, আপনি scene.slots.status == "FINAL" শর্তটি যোগ করবেন, যা স্লট পূরণ সম্পূর্ণ হয়েছে কিনা তা পরীক্ষা করে। সমস্ত স্লট পূরণ হয়ে গেলে, শর্তটি প্রম্পট কিউতে একটি প্রম্পট ( You picked $session.params.chosenOptions. ) যোগ করবে।
scene.slots.status == "FINAL" অবস্থা কনফিগার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- আপনার টেক্সট এডিটরে
custom/scenes/Fortune.yamlখুলুন। -
Fortune.yamlফাইলের উপরেconditionalEventsডেটা যোগ করুন:
ফরচুন.ইয়ামল
conditionalEvents:
- condition: scene.slots.status == "FINAL"
handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: You picked $session.params.chosenOptions.
- ফাইলটি সংরক্ষণ করুন।
সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন
এই মুহুর্তে, আপনি নির্ধারণ করেছেন যে ব্যবহারকারীর কোন বিকল্পগুলি স্লট পূরণ করার জন্য নির্বাচন করা উচিত। ব্যবহারকারীর কাছ থেকে এই তথ্য পাওয়ার পরে, আপনার অ্যাকশনটি তাদের নির্বাচিত নির্দিষ্ট বিকল্পটি উল্লেখ করার জন্য একটি প্রম্পট প্রদান করবে।
আপনার অ্যাকশন পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- টার্মিনালে, নিম্নলিখিত কমান্ডটি চালান:
gactions deploy preview
আপনার নিচের মতো আউটপুট পাওয়া উচিত:
✔ Done. You can now test your changes in Simulator with this URL: http://console.actions.google.com/project/{project-id}/simulator?disableAutoPreview
- প্রদত্ত URL টি কপি করে একটি ব্রাউজারে পেস্ট করুন।
- ইনপুট ফিল্ডে
Talk to my test appএ ক্লিক করুন অথবা টাইপ করুন এবং Enter টিপুন। - ইনপুট ক্ষেত্রে
Yesটাইপ করুন এবং Enter টিপুন। বিকল্পভাবে, আপনি Yes সাজেশন চিপে ক্লিক করতে পারেন।

- ক্লিক করুন, টাইপ করুন, অথবা বলুন
dragon। আপনার "You picked dragon" প্রম্পটটি পাওয়া উচিত।
পরবর্তী বিভাগে, আপনি ব্যবহারকারীর নির্বাচন করা প্রতিটি সহায়তার জন্য প্রম্পটগুলি কাস্টমাইজ করতে পারবেন।
শর্তাবলী ব্যবহার করে প্রম্পট কাস্টমাইজ করুন
এই বিভাগে, আপনি ব্যবহারকারীর পছন্দের প্রতিটি বিকল্পের জন্য শর্তাবলী যোগ করবেন এবং প্রতিটি শর্তের জন্য একটি কাস্টম প্রম্পট যোগ করবেন।
dragon ভাগ্য কাস্টমাইজ করুন
ব্যবহারকারী যখন "ড্রাগন" বেছে নেবেন তখন শর্ত আপডেট করতে এবং প্রম্পট কাস্টমাইজ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- আপনার টেক্সট এডিটরে
custom/scenes/Fortune.yamlখুলুন। -
Fortune.yamlফাইলেconditionalEventsডেটা নিম্নলিখিত স্নিপেট দিয়ে প্রতিস্থাপন করুন:
ফরচুন.ইয়ামল
conditionalEvents:
- condition: scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon"
handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: The people of Gryffinberg will be awestruck by the beauty and
power of the ancient dragon. Much to your dismay, the townspeople
fall into dispute over who will receive the honor of riding the dragon
first. You return home from your quest without everlasting glory or
a dragon.
- ফাইলটি সংরক্ষণ করুন।
এখন, যখন কোনও ব্যবহারকারী "ড্রাগন" বা অনুরূপ কিছু বলে, তখন আপনার অ্যাকশন সেই নির্বাচনের উপর ভিত্তি করে একটি ভাগ্য প্রদান করে। এরপর, আপনি বাকি দুটি নির্বাচন যোগ করবেন।
translator এবং compass ভাগ্য কাস্টমাইজ করুন
ব্যবহারকারী যখন "অনুবাদক" বা "কম্পাস" বলেন তখন শর্তাবলী যোগ করতে এবং প্রম্পটগুলি কাস্টমাইজ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
-
custom/scenes/Fortune.yamlফাইলে,dragonশর্তের অধীনে অন্য দুটি শর্ত যোগ করুন:
ফরচুন.ইয়ামল
- condition: scene.slots.status == "FINAL" && session.params.chosenOptions == "translator"
handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: With the help of the translator, the rival factions in Gryffinberg
are finally able to communicate with each other and resolve their
disputes. You will complete your quest to restore peace in the town.
The translator will be used on many other journeys across the
earth. After its work is done, it retires honorably to a premier location
in the Gryffinberg History Museum.
- condition: scene.slots.status == "FINAL" && session.params.chosenOptions == "compass"
handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: The compass will help you find the mystical and ancient Library
of Gryffinberg. Among its infinite stacks of dusty books, you find
one entitled "Wisdom of the Ages". By the time you've read the 50,000-page
tome, the townspeople have forgotten their problems. You will write
a second edition of "Wisdom of the Ages", but have limited commercial
success.
- ফাইলটি সংরক্ষণ করুন।
সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন
এই মুহুর্তে, আপনার অ্যাকশন ব্যবহারকারীর জন্য তাদের নির্বাচিত বিকল্পের উপর ভিত্তি করে একটি কাস্টমাইজড ভাগ্য প্রদান করবে।
আপনার অ্যাকশন পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- টার্মিনালে, নিম্নলিখিত কমান্ডটি চালান:
gactions deploy preview
আপনার নিচের মতো আউটপুট পাওয়া উচিত:
✔ Done. You can now test your changes in Simulator with this URL: http://console.actions.google.com/project/{project-id}/simulator?disableAutoPreview
- প্রদত্ত URL টি কপি করে একটি ব্রাউজারে পেস্ট করুন।
- ইনপুট ফিল্ডে
Talk to my test appটাইপ করুন এবং Enter টিপুন। - ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং Enter টিপুন। বিকল্পভাবে, Yes সাজেশন চিপে ক্লিক করুন।
-
Translatorক্লিক করুন, টাইপ করুন অথবা বলুন।

"অনুবাদক" বিকল্পের জন্য আপনার উপযুক্ত ভাগ্য পাওয়া উচিত।
3. গেম লুপ যোগ করুন
এই বিভাগে, আপনি আপনার অ্যাকশনটি এমনভাবে কনফিগার করেন যাতে ব্যবহারকারী অন্য একটি বিকল্প নির্বাচন করতে পারে এবং একটি নির্বাচন করার পরে একটি ভিন্ন ভাগ্য শুনতে পারে। এই পরিবর্তনটি একটি গেমের শেষে "আপনি কি আবার খেলতে চান?" বার্তার মতো। এই লুপটি তৈরি করতে, আপনি পূর্বে তৈরি করা yes এবং no ইন্টেন্টগুলি পুনরায় ব্যবহার করতে পারেন এবং সেগুলিকে Again নামক একটি নতুন দৃশ্যে যুক্ত করতে পারেন।
Again তৈরি করুন দৃশ্য
এই বিভাগে, আপনি একটি নতুন Again দৃশ্য তৈরি করবেন এবং একটি প্রম্পট যোগ করবেন যা ব্যবহারকারীকে জিজ্ঞাসা করবে যে তারা একটি ভিন্ন বিকল্প নির্বাচন করতে চান কিনা।
Again দৃশ্য তৈরি এবং কনফিগার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
-
scenesডিরেক্টরিতেAgain.yamlনামে একটি নতুন ফাইল তৈরি করুন:
touch custom/scenes/Again.yaml
- আপনার টেক্সট এডিটরে
custom/scenes/Again.yamlখুলুন। -
Again.yamlএ নিম্নলিখিতonEnterডেটা যোগ করুন:
আবার.ইয়ামল
onEnter:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: That is what I see for you. Would you like to choose a different option and explore another future?
suggestions:
- title: "Yes"
- title: "No"
- ফাইলটি সংরক্ষণ করুন।
Fortune থেকে Again দৃশ্যে রূপান্তর যোগ করুন
ব্যবহারকারী তাদের ভাগ্য গ্রহণের পর, কথোপকথনটি নতুন Again দৃশ্যে রূপান্তরিত করতে হবে।
Fortune দৃশ্য থেকে Again দৃশ্যে একটি রূপান্তর যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- আপনার টেক্সট এডিটরে
custom/scenes/Fortune.yamlখুলুন। - নিম্নলিখিত স্নিপেটে দেখানো হিসাবে, প্রতিটি শর্তে
transitionToScene: Againযোগ করুন:
ফরচুন.ইয়ামল
conditionalEvents:
- condition: scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon"
handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: The people of Gryffinberg will be awestruck by the beauty and
power of the ancient dragon. Much to your dismay, the townspeople
fall into dispute over who will receive the honor of riding the dragon
first. You return home from your quest without everlasting glory or
a dragon.
transitionToScene: Again
- condition: scene.slots.status == "FINAL" && session.params.chosenOptions == "translator"
handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: With the help of the translator, the rival factions in Gryffinberg
are finally able to communicate with each other and resolve their
disputes. You will complete your quest to restore peace in the town.
The translator will be used on many other journeys across the
earth. After its work is done, it retires honorably to a premier location
in the Gryffinberg History Museum.
transitionToScene: Again
- condition: scene.slots.status == "FINAL" && session.params.chosenOptions == "compass"
handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: The compass will help you find the mystical and ancient Library
of Gryffinberg. Among its infinite stacks of dusty books, you find
one entitled "Wisdom of the Ages". By the time you've read the 50,000-page
tome, the townspeople have forgotten their problems. You will write
a second edition of "Wisdom of the Ages", but have limited commercial
success.
transitionToScene: Again
- ফাইলটি সংরক্ষণ করুন।
সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন
এই মুহুর্তে, আপনার অ্যাকশন ব্যবহারকারীকে তাদের ভাগ্য পাওয়ার পর নিম্নলিখিত প্রম্পট প্রদান করবে: "আমি আপনার জন্য এটাই দেখতে পাচ্ছি। আপনি কি একটি ভিন্ন বিকল্প বেছে নিতে এবং অন্য একটি ভবিষ্যত অন্বেষণ করতে চান?"
আপনার অ্যাকশন পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- টার্মিনালে, নিম্নলিখিত কমান্ডটি চালান:
gactions deploy preview
আপনার নিচের মতো আউটপুট পাওয়া উচিত:
✔ Done. You can now test your changes in Simulator with this URL: http://console.actions.google.com/project/{project-id}/simulator?disableAutoPreview
- প্রদত্ত URL টি কপি করে একটি ব্রাউজারে পেস্ট করুন।
- ইনপুট ফিল্ডে
Talk to my test appটাইপ করুন এবং Enter টিপুন। - ইনপুট ক্ষেত্রে
Yesটাইপ করুন এবং Enter টিপুন। বিকল্পভাবে, Yes সাজেশন চিপে ক্লিক করুন। - ক্লিক করুন, টাইপ করুন, অথবা ধরুন
dragon।

তুমি ড্রাগন অপশন এবং Again প্রম্পটের জন্য ভাগ্য পাবে।
ইন্টেন্ট যোগ করুন এবং Again দৃশ্যে রূপান্তর করুন
এই অংশে, আপনি Again দৃশ্যে yes এবং no intents যোগ করবেন যাতে আপনার Action বুঝতে পারে যে ব্যবহারকারী একটি নতুন বিকল্প বেছে নিতে চান কিনা। আপনি yes এবং no intents-এর জন্য উপযুক্ত transitionsও যোগ করবেন। yes intent Fortune দৃশ্যে রূপান্তরিত হয়, যখন no intents সিস্টেম দৃশ্যে রূপান্তরিত হয় End conversation ।
Again দৃশ্যে ইন্টেন্ট এবং ট্রানজিশন যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- আপনার টেক্সট এডিটরে
custom/scenes/Again.yamlখুলুন। -
Again.yamlফাইলের উপরে,OnEnterএর উপরেintentEventsডেটা যোগ করুন:
আবার.ইয়ামল
intentEvents:
- intent: "yes"
transitionToScene: Fortune
- handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: It pleases me that you are satisfied with your choice. Best
of luck on your quest. Farewell.
intent: "no"
transitionToScene: actions.scene.END_CONVERSATION
- ফাইলটি সংরক্ষণ করুন।
সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন
আপনার অ্যাকশন এখন বুঝতে পারবে যে ব্যবহারকারী একটি নতুন বিকল্প বেছে নিতে চান নাকি কথোপকথন শেষ করতে চান।
yes উদ্দেশ্য পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- টার্মিনালে, নিম্নলিখিত কমান্ডটি চালান:
gactions deploy preview
আপনার নিচের মতো আউটপুট পাওয়া উচিত:
✔ Done. You can now test your changes in Simulator with this URL: http://console.actions.google.com/project/{project-id}/simulator?disableAutoPreview
- প্রদত্ত URL টি কপি করে একটি ব্রাউজারে পেস্ট করুন।
- ইনপুট ফিল্ডে
Talk to my test appটাইপ করুন এবং Enter টিপুন। - ইনপুট ক্ষেত্রে
Yesটাইপ করুন এবং Enter টিপুন। বিকল্পভাবে, Yes সাজেশন চিপে ক্লিক করুন। - যেকোনো একটি বিকল্পে ক্লিক করুন, টাইপ করুন অথবা বলুন।
- ইনপুট ক্ষেত্রে
Yesটাইপ করুন এবং Enter টিপুন।

আপনার কাছে একটি প্রম্পট আসবে, "আপনার অনুসন্ধানে সাহায্য করার জন্য আপনি কী বেছে নেবেন, ড্রাগন, অনুবাদক, নাকি কম্পাস?"
" no " পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- যেকোনো একটি বিকল্পে ক্লিক করুন, টাইপ করুন অথবা বলুন।
- ইনপুট ক্ষেত্রে
Noটাইপ করুন এবং Enter টিপুন।
আপনার End conversation প্রম্পটটি পাওয়া উচিত: "আপনার পছন্দে আপনি সন্তুষ্ট বলে আমি আনন্দিত। আপনার অনুসন্ধানের জন্য শুভকামনা। বিদায়।"
৪. একটি সহায়ক পথ যোগ করুন
আপনার অ্যাকশনে বেশিরভাগ ব্যবহারকারী যে প্রধান পথটি গ্রহণ করেন তা এখন আপনি তৈরি করেছেন। তবে, ব্যবহারকারী Fortune দৃশ্যের প্রম্পটে সাড়া দিতে পারেন, " আপনার অনুসন্ধানে আপনাকে সাহায্য করার জন্য আপনি কী বেছে নেবেন, একটি ড্রাগন, একটি অনুবাদক, অথবা একটি কম্পাস?", এবং এমন একটি বিকল্প বেছে নিতে পারেন যা প্রদত্ত বিকল্পগুলির মধ্যে একটি নয়।
এই বিভাগে, আপনি আপনার Action কনফিগার করবেন যাতে একজন ব্যবহারকারী কখন "magic" , "money" , "horse" , অথবা "phone" বলে তা বুঝতে পারেন এবং ব্যবহারকারীকে এই বিকল্পগুলির মধ্যে একটি বেছে নেওয়ার সময় মূল তিনটি পছন্দের মধ্যে একটি থেকে একটি নির্বাচন করতে পুনরায় অনুরোধ করতে পারেন। এই লজিকটি কনফিগার করার জন্য, আপনাকে একটি নতুন type তৈরি করতে হবে যাতে এই অন্যান্য পছন্দগুলি এবং একটি নতুন intent, other_option , থাকে যা ব্যবহারকারী যখন এই বিকল্পগুলির মধ্যে একটি বলে তখন মিলে যায়। intent প্যারামিটারগুলি সনাক্ত এবং বের করার জন্য আপনাকে other_option intent-এর মধ্যে প্রশিক্ষণ বাক্যাংশগুলি টীকা করতে হবে।
যখন অ্যাসিস্ট্যান্টের ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং ইঞ্জিন ব্যবহারকারীর ইনপুটে কোনও প্যারামিটারের মিল শনাক্ত করে, তখন এটি একটি টাইপ করা প্যারামিটার হিসেবে মানটি বের করে নেয় যাতে আপনি একটি দৃশ্যে এটি দিয়ে যুক্তি প্রয়োগ করতে পারেন। এই কোডল্যাবে, আপনি ব্যবহারকারীর পছন্দের সাহায্যটি বের করার জন্য আপনার অ্যাকশন কনফিগার করেন এবং একটি প্রম্পটে সেই পছন্দটি উল্লেখ করেন।
unavailable_options টাইপ তৈরি করুন
আপনি এখন একটি unavailable_options টাইপ তৈরি করতে পারেন যাতে বিভিন্ন ধরণের বিকল্প থাকে যাতে আপনার Action ব্যবহারকারীর ইনপুটে সেই ডেটা সনাক্ত করতে পারে।
unavailable_options টাইপ তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
-
typesডিরেক্টরিতেunavailable_options.yamlনামে একটি নতুন ফাইল তৈরি করুন:
touch custom/types/unavailable_options.yaml
- আপনার টেক্সট এডিটরে
custom/types/unavailable_options.yamlখুলুন। -
unavailable_options.yamlফাইলে নিম্নলিখিতsynonymsতথ্য যোগ করুন:
অনুপলব্ধ_অপশন.ইয়ামল
synonym:
entities:
money:
synonyms:
- money
- cash
- gold
horse:
synonyms:
- horse
- stallion
- steed
magic:
synonyms:
- magic
- enchanted
- spells
phone:
synonyms:
- phone
- cell
- apps
matchType: EXACT_MATCH
- ফাইলটি সংরক্ষণ করুন।
other_option ইন্টেন্ট তৈরি করুন
এরপর, আপনি other_option নামে একটি ইন্টেন্ট তৈরি করবেন এবং unavailable_options ধরণের বিকল্পগুলি অন্তর্ভুক্ত করে এমন প্রশিক্ষণ বাক্যাংশ যুক্ত করবেন। ব্যবহারকারী যখন unavailable_options ধরণের মধ্যে থাকা একটি পছন্দ নির্বাচন করেন তখন এই ইন্টেন্টটি মিলিত হয়।
other_option ইন্টেন্ট তৈরি এবং কনফিগার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
-
intentsডিরেক্টরিতেother_option.yamlনামে একটি নতুন ফাইল তৈরি করুন:
touch custom/intents/other_option.yaml
- আপনার টেক্সট এডিটরে
custom/intents/other_option.yamlখুলুন। -
other_option.yamlফাইলে নিম্নলিখিতparametersডেটা এবংtrainingPhrasesডেটা যোগ করুন:
অন্য_অপশন.ইয়ামল
parameters:
- name: chosenUnavailableOption
type:
name: unavailable_options
trainingPhrases:
- I want to use ($chosenUnavailableOption 'spells' auto=true)
- I really really want to use a ($chosenUnavailableOption 'phone' auto=true)
- ($chosenUnavailableOption 'magic' auto=true)!
- ($chosenUnavailableOption 'cash' auto=true)
- I want to ride a ($chosenUnavailableOption 'horse' auto=true)
এখানে, আপনি পূর্ববর্তী বিভাগে উল্লেখ করা অনুপলব্ধ বিকল্পগুলি ব্যবহার করে প্রশিক্ষণ বাক্যাংশগুলিকে ম্যানুয়ালি টীকাবদ্ধ করতে পারেন। ইন্টেন্ট প্যারামিটার, chosenUnavailableOption , আপনাকে বিকল্পটির নাম বের করতে এবং একটি প্রম্পটে সেই বিকল্পটি ব্যবহার করতে দেয়, যা আপনি পরবর্তী বিভাগে করবেন।
- ফাইলটি সংরক্ষণ করুন।
Fortune দৃশ্যে other_option ইন্টেন্ট যোগ করুন
এখন আপনার কাছে একটি ইনটেন্ট আছে, other_option , যা ব্যবহারকারীকে এমন একটি বিকল্প নির্দিষ্ট করার বিষয়টি পরিচালনা করতে পারে যা মূল বিকল্পগুলির মধ্যে একটি নয়। এই বিভাগে, আপনি Fortune দৃশ্যে other_option ইনটেন্ট যোগ করবেন। ব্যবহারকারীর ইনপুটের উপর ভিত্তি করে প্রম্পটটি কাস্টমাইজ করতে আপনি ইনটেন্ট প্যারামিটার ব্যবহার করবেন।
Fortune দৃশ্যে other_option ইন্টেন্ট যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- আপনার টেক্সট এডিটরে
custom/scenes/Fortune.yamlখুলুন। -
conditionalEventsডেটা এবংslotsডেটার মধ্যে নিম্নলিখিতintentEventsডেটা যোগ করুন:
ফরচুন.ইয়ামল
intentEvents:
- handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: I have seen the future and a $intent.params.chosenUnavailableOption.original will not aid you on your journey.
intent: other_option
- ফাইলটি সংরক্ষণ করুন।
$intent.params.chosenUnavailableOption অভিব্যক্তিটি ইন্টেন্ট প্যারামিটার অবজেক্টকে বোঝায় এবং $intent.params.chosenUnavailableOption.original সেই অবজেক্টের মানকে বোঝায়। original বৈশিষ্ট্যটি ব্যবহারকারীর নির্দিষ্ট করা কাঁচা ইনপুটকে বোঝায়।
যখন কোনও ব্যবহারকারী Fortune দৃশ্যের সময় unavailable_options টাইপের তালিকাভুক্ত একটি বিকল্প বলেন, তখন other_option ইন্টেন্টটি মিলিত হয় এবং প্রম্পট কিউতে একটি প্রম্পট যোগ করে। যেহেতু কোনও ট্রানজিশন নির্দিষ্ট করা নেই, তাই পরিস্থিতির পর্যায়টি পুনরায় মূল্যায়ন করে দৃশ্য সম্পাদন লুপ চলতে থাকে। তারপর chosenOptions স্লটটি প্রম্পট কিউতে তার প্রম্পট যোগ করে এবং প্রম্পট কিউ ব্যবহারকারীর কাছে পৌঁছে দেওয়া হয়।
সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন
যখন কোনও ব্যবহারকারী unavailable_options টাইপের তালিকাভুক্ত বিকল্পগুলির মধ্যে একটি নির্বাচন করে এবং কোন সহায়তাটি ব্যবহারকারী নির্বাচিত করেছেন তা নির্দিষ্ট করে তখন আপনার Action যথাযথভাবে প্রতিক্রিয়া জানাবে। আপনার Action ব্যবহারকারীকে মূল পছন্দগুলির মধ্যে একটি (একটি ড্রাগন, অনুবাদক, বা কম্পাস) বেছে নিতে পুনরায় অনুরোধ করবে।
সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- টার্মিনালে, নিম্নলিখিত কমান্ডটি চালান:
gactions deploy preview
আপনার নিচের মতো আউটপুট পাওয়া উচিত:
✔ Done. You can now test your changes in Simulator with this URL: http://console.actions.google.com/project/{project-id}/simulator?disableAutoPreview
- প্রদত্ত URL টি কপি করে একটি ব্রাউজারে পেস্ট করুন।
- ইনপুট ফিল্ডে
Talk to my test appটাইপ করুন এবং Enter টিপুন। - ইনপুট ক্ষেত্রে
Yesটাইপ করুন এবং Enter টিপুন। বিকল্পভাবে, Yes সাজেশন চিপে ক্লিক করুন। - ইনপুট ক্ষেত্রে
magicটাইপ করুন এবং Enter টিপুন।

আপনি হয়তো লক্ষ্য করতে পারেন যে ব্যবহারকারী যখন "a" আর্টিকেলের আগে "magic" বেছে নেন তখন প্রম্পটটি সঠিক শোনাচ্ছে না। আপনি নিম্নলিখিত বিভাগগুলিতে এই সমস্যাটি সমাধান করবেন।
unavailable_options হ্যান্ডলার যোগ করুন
unavailable_options টাইপ থেকে উপযুক্ত পছন্দগুলির আগে "a" নিবন্ধটি স্থাপন করতে, আপনি আপনার পূর্ণতা লজিকে একটি ইভেন্ট হ্যান্ডলার কনফিগার করতে পারেন যাতে ব্যবহারকারী যে বিকল্পটি বেছে নেয় তার আগে "a" প্রয়োজন কিনা তা পরীক্ষা করা যায়। প্রথমে, Fortune দৃশ্য থেকে হ্যান্ডলারকে কল করার জন্য আপনাকে আপনার Action কনফিগার করতে হবে।
Fortune দৃশ্যে unavailable_options হ্যান্ডলার যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- আপনার টেক্সট এডিটরে
custom/scenes/Fortune.yamlখুলুন। - নিম্নলিখিত
intentEventsডেটা দিয়েFortune.yamlফাইলটি আপডেট করুন:
ফরচুন.ইয়ামল
intentEvents:
- handler:
webhookHandler: unavailable_options
intent: other_option
- ফাইলটি সংরক্ষণ করুন।
আপডেট করুন এবং পূরণ স্থাপন করুন
এখন যেহেতু আপনি আপনার Action কে unavailable_options ইভেন্ট হ্যান্ডলার কল করার জন্য কনফিগার করেছেন, আপনি আপনার fulfillment এ হ্যান্ডলারটি আপডেট করতে পারেন এবং এটি স্থাপন করতে পারেন।
আপনার পূরণ আপডেট করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- আপনার টেক্সট এডিটরে
webhooks/ActionsOnGoogleFulfillment/index.jsখুলুন। -
greetingহ্যান্ডলারের অধীনেindex.jsএ নিম্নলিখিত কোডটি যোগ করুন:
ইনডেক্স.জেএস
app.handle('unavailable_options', conv => {
const option = conv.intent.params.chosenUnavailableOption.original;
const optionKey = conv.intent.params.chosenUnavailableOption.resolved;
let message = 'I have seen the future and ';
if(optionsNeedA.has(optionKey)){
message = message + 'a ';
}
message = message + `${option} will not aid you on your journey. `;
conv.add(message);
});
-
const app = conversation({debug:true});এর অধীনে নিম্নলিখিত কোডটি যোগ করুন:
ইনডেক্স.জেএস
const optionsNeedA = new Set();
optionsNeedA.add('horse').add('phone');
- ফাইলটি সংরক্ষণ করুন।
কোডটি বুঝুন
unavailable_options হ্যান্ডলার নিম্নলিখিত কাজ করে:
-
convবস্তু থেকেoptionডেটা সংগ্রহ করে এবংoriginalবৈশিষ্ট্যেoptionবরাদ্দ করে, যা ব্যবহারকারীর কাছ থেকে কাঁচা ইনপুট। -
resolvedসম্পত্তিতেoptionKeyবরাদ্দ করে, যাunavailable_optionsধরণের জন্য কী। -
optionKeyহল এমন একটি অপশন কিনা যার জন্য "a" প্রয়োজন তা পরীক্ষা করে; যদি থাকে, তাহলে "a" যোগ করে বার্তাটি তৈরি করে। -
conv.add(message)এর মাধ্যমে বার্তাটি যোগ করে।
হ্যান্ডলার আপডেট করুন
Action কে unavailable_options ব্যবহার করার অনুমতি দিতে, unavailable_options হ্যান্ডলারটি webhooks/ActionsOnGoogleFulfillment.yaml এ যোগ করুন।
-
ActionsOnGoogleFulfillment.yamlএunavailable_optionsহ্যান্ডলারের নাম যোগ করুন:
গুগলে কর্মপূরণ.yaml
handlers: - name: greeting - name: unavailable_options inlineCloudFunction: executeFunction: ActionsOnGoogleFulfillment
- ফাইলটি সংরক্ষণ করুন।
সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন
আপনার অ্যাকশন এখন ব্যবহারকারীর unavailable_options টাইপ থেকে পছন্দের জন্য "a" নিবন্ধের প্রয়োজন কিনা তার উপর ভিত্তি করে প্রম্পটটি সামঞ্জস্য করবে।
আপনার অ্যাকশন পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- টার্মিনালে, নিম্নলিখিত কমান্ডটি চালান:
gactions deploy preview
আপনার নিচের মতো আউটপুট পাওয়া উচিত:
✔ Done. You can now test your changes in Simulator with this URL: http://console.actions.google.com/project/{project-id}/simulator?disableAutoPreview
- প্রদত্ত URL টি কপি করে একটি ব্রাউজারে পেস্ট করুন।
- ইনপুট ফিল্ডে
Talk to my test appএ ক্লিক করুন অথবা টাইপ করুন এবং Enter টিপুন। - ইনপুট ক্ষেত্রে
Yesটাইপ করুন এবং Enter টিপুন। বিকল্পভাবে, Yes সাজেশন চিপে ক্লিক করুন। - ইনপুট ক্ষেত্রে
magicটাইপ করুন এবং "Enter" টিপুন। তারপর, ইনপুট ক্ষেত্রেhorseটাইপ করুন এবং "Enter" টিপুন।

তোমার Action-এ "horse" পছন্দের আগে "a" নিবন্ধটি যোগ করা উচিত, যখন "magic" পছন্দের জন্য "a" নিবন্ধটি ছাড়াই প্রম্পটটি তৈরি করা উচিত।
৫. অ্যাকশন কনসোলে অ্যাকশন ভিজ্যুয়ালাইজ করুন
Actions SDK-এর Actions Builder নামক একটি ওয়েব-ভিত্তিক IDE-এর সাথে আন্তঃকার্যক্ষমতা রয়েছে যা Actions কনসোলে ইন্টিগ্রেটেড। আপনি gactions push কমান্ডের সাহায্যে আপনার স্থানীয় ফাইল সিস্টেমকে কনসোলে আপনার Action-এর খসড়ায় ঠেলে দিতে পারেন। Actions কনসোল আপনার Action-এর কনফিগারেশনের একটি ভিজ্যুয়াল উপস্থাপনা প্রদান করে। আপনার Action-কে দৃশ্যমানভাবে ম্যাপ করা দেখা ডেভেলপমেন্টের সময় কার্যকর হতে পারে এবং পরীক্ষার জন্য পরিবেশিত আপনার Action-এর সংস্করণকে প্রভাবিত করে না।
আপনার অ্যাকশনস প্রজেক্টটি পুশ করতে এবং অ্যাকশনস কনসোলে এটি দেখতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- টার্মিনালে, আপনার প্রকল্পটিকে অ্যাকশন কনসোলে পুশ করতে নিম্নলিখিত কমান্ডটি চালান:
gactions push
আপনার নিচের মতো আউটপুট পাওয়া উচিত:
✔ Done. Files were pushed to Actions Console, and you can now view your project with this URL: https://console.actions.google.com/project/{project-id}/overview. If you want to test your changes, run "gactions deploy preview", or navigate to the Test section in the Console.
- প্রদত্ত URL টি কপি করে একটি ব্রাউজারে পেস্ট করুন।
- অ্যাকশন কনসোলে , উপরের নেভিগেশন বারে ডেভেলপ ক্লিক করুন।
- Scenes এর পাশের ড্রপ-ডাউন তীরটিতে ক্লিক করুন এবং Start এ ক্লিক করুন। আপনি আপনার Action এর
Startদৃশ্যের একটি ভিজ্যুয়াল উপস্থাপনা দেখতে পাবেন, যেমনটি নিম্নলিখিত স্ক্রিনশটে দেখানো হয়েছে:

আপনার প্রকল্পটি পরিষ্কার করুন [প্রস্তাবিত]
সম্ভাব্য চার্জ এড়াতে, আপনি যে প্রকল্পগুলি ব্যবহার করতে চান না সেগুলি সরিয়ে ফেলার পরামর্শ দেওয়া হচ্ছে। এই কোডল্যাবে আপনার তৈরি প্রকল্পগুলি মুছে ফেলার জন্য, এই পদক্ষেপগুলি অনুসরণ করুন:
- ক্লাউড প্রজেক্ট এবং রিসোর্স মুছে ফেলার জন্য, "প্রজেক্ট বন্ধ করা (মুছে ফেলা)" বিভাগে তালিকাভুক্ত ধাপগুলি সম্পূর্ণ করুন।
- ঐচ্ছিক: অ্যাকশন কনসোল থেকে আপনার প্রকল্পটি অবিলম্বে সরাতে, "একটি প্রকল্প মুছুন" বিভাগে তালিকাভুক্ত পদক্ষেপগুলি সম্পূর্ণ করুন। আপনি যদি এই পদক্ষেপটি সম্পূর্ণ না করেন, তাহলে প্রায় 30 দিন পরে আপনার প্রকল্পটি স্বয়ংক্রিয়ভাবে সরানো হবে।
৬. অভিনন্দন!
অ্যাকশনস SDK ব্যবহার করে গুগল অ্যাসিস্ট্যান্টের জন্য অ্যাকশনস তৈরি করার জন্য প্রয়োজনীয় মধ্যবর্তী দক্ষতাগুলি এখন আপনি জানেন।
তুমি যা কভার করেছো
- Node.js পরিপূর্ণতা লাইব্রেরি ব্যবহার করে কীভাবে কথোপকথনমূলক ক্রিয়া তৈরি করবেন
- ব্যবহারকারীর কাছ থেকে তথ্য সংগ্রহের জন্য স্লট কীভাবে ব্যবহার করবেন
- দৃশ্যে যুক্তি যোগ করার জন্য শর্তাবলী কীভাবে ব্যবহার করবেন
- কিভাবে একটি গেম লুপ যোগ করবেন
- কীভাবে একটি সহায়ক পথ যোগ করবেন
আরও জানুন
গুগল অ্যাসিস্ট্যান্টের জন্য অ্যাকশন তৈরি সম্পর্কে জানতে আপনি এই রিসোর্সগুলি অন্বেষণ করতে পারেন:
- গুগল অ্যাসিস্ট্যান্টের জন্য অ্যাকশন তৈরির জন্য ডকুমেন্টেশন
- নমুনা কোড এবং লাইব্রেরির জন্য Google GitHub পৃষ্ঠায় অ্যাকশন
- গুগল অ্যাসিস্ট্যান্টের সাথে কাজ করা ডেভেলপারদের জন্য অফিসিয়াল রেডডিট কমিউনিটি
- কথোপকথন নকশার জন্য সর্বোত্তম অনুশীলনের নির্দেশিকা এবং কথোপকথনমূলক পদক্ষেপ সম্পর্কিত নির্দেশিকা
আমাদের সর্বশেষ ঘোষণাগুলি পেতে টুইটারে @ActionsOnGoogle- এ আমাদের অনুসরণ করুন, এবং আপনার তৈরি করা জিনিসগুলি শেয়ার করতে #AoGDevs- এ টুইট করুন!
প্রতিক্রিয়া জরিপ
যাওয়ার আগে, আপনার অভিজ্ঞতা সম্পর্কে একটি সংক্ষিপ্ত জরিপ পূরণ করুন।