১. এক নজরে
Google Assistant ডেভেলপার প্ল্যাটফর্ম আপনাকে Google Assistant-এর কার্যকারিতা বাড়ানোর জন্য সফ্টওয়্যার তৈরি করতে দেয়, যা একটি ভার্চুয়াল ব্যক্তিগত সহকারী, স্মার্ট স্পিকার, ফোন, গাড়ি, টিভি, হেডফোন এবং আরও অনেক কিছু সহ ১ বিলিয়নেরও বেশি ডিভাইস জুড়ে। ব্যবহারকারীরা Assistant-এর সাথে কথোপকথন চালিয়ে কাজ করিয়ে নেন, যেমন মুদিখানার জিনিস কেনা বা রাইড বুক করা। একজন ডেভেলপার হিসেবে, আপনি Assistant ডেভেলপার প্ল্যাটফর্ম ব্যবহার করে ব্যবহারকারী এবং আপনার থার্ড-পার্টি ফুলফিলমেন্ট পরিষেবার মধ্যে সহজেই আনন্দদায়ক এবং কার্যকর কথোপকথন অভিজ্ঞতা তৈরি এবং ম্যানেজ করতে পারবেন।
এই কোডল্যাবে Google Assistant-এর জন্য Actions SDK-এর মাধ্যমে ডেভেলপ করার প্রাথমিক ধারণা দেওয়া হয়েছে; এটি সম্পূর্ণ করার জন্য আপনার এই প্ল্যাটফর্ম সম্পর্কে পূর্ব অভিজ্ঞতা থাকার প্রয়োজন নেই। এই কোডল্যাবে, আপনি Google Assistant-এর জন্য একটি সাধারণ অ্যাকশন তৈরি করবেন যা ব্যবহারকারীদের গ্রিফিনবার্গের পৌরাণিক ভূমিতে তাদের অ্যাডভেঞ্চার শুরু করার সাথে সাথে তাদের ভাগ্য বলে। Actions SDK লেভেল ২ কোডল্যাবে, আপনি ব্যবহারকারীর ইনপুটের উপর ভিত্তি করে তার ভাগ্য কাস্টমাইজ করার জন্য এই অ্যাকশনটি আরও তৈরি করেন।
আপনি কী তৈরি করবেন
এই কোডল্যাবে, আপনি নিম্নলিখিত ফাংশন সহ একটি সাধারণ অ্যাকশন তৈরি করবেন:
- ব্যবহারকারীকে স্বাগত জানিয়ে মেসেজ পাঠায়
- ব্যবহারকারীকে প্রশ্ন করে এবং ব্যবহারকারীর বেছে নেওয়া বিকল্পের ভিত্তিতে যথাযথ উত্তর দেয়
- সাজেশন চিপ প্রদান করে, ইনপুট দেওয়ার জন্য ব্যবহারকারীরা এতে ক্লিক করতে পারেন
- ব্যবহারকারী ফিরে আসা ব্যবহারকারী কিনা তার উপর ভিত্তি করে তাকে পাঠানো অভিবাদন মেসেজ পরিবর্তন করে
আপনি এই কোডল্যাব শেষ করলে, আপনার সম্পূর্ণ করা অ্যাকশনে নিম্নলিখিত কথোপকথনের ফ্লো থাকবে (মাইক্রোফোনের পাশে থাকা টেক্সট ব্যবহারকারীর ইনপুট দেখায়, আর স্পিকারের পাশে থাকা টেক্সট অ্যাকশনের উত্তর দেখায়):


আপনি কী শিখবেন
- Actions কনসোলে কীভাবে প্রোজেক্ট তৈরি করতে হয়
- Actions কনসোল এবং আপনার লোকাল ফাইল সিস্টেমের মধ্যে আপনার অ্যাকশন প্রোজেক্ট পুশ এবং পুল করতে gactions টুল কীভাবে ব্যবহার করবেন
- ব্যবহারকারী আপনার অ্যাকশন চালু করার পরে তাকে কীভাবে প্রম্পট পাঠাবেন
- ব্যবহারকারীর ইনপুট কীভাবে প্রসেস করতে হয় এবং উত্তর দিতে হয়
- অ্যাকশন সিমুলেটরে আপনার অ্যাকশন কীভাবে পরীক্ষা করবেন
- Cloud Functions এডিটর ব্যবহার করে কীভাবে ফুলফিলমেন্ট প্রয়োগ করবেন
আপনার কী প্রয়োজন হবে
আপনার এনভায়রনমেন্টে নিম্নলিখিত টুলগুলি থাকতে হবে:
- আপনার পছন্দের IDE বা টেক্সট এডিটর
- Node.js ও npm-এর জন্য শেল কমান্ড রান করার টার্মিনাল
- Google Chrome-এর মতো ওয়েব ব্রাউজার
২. সেট-আপ করুন
আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট কীভাবে সেট-আপ করবেন এবং অ্যাকশন প্রোজেক্ট তৈরি করবেন তা নিম্নলিখিত বিভাগে বর্ণনা করা হয়েছে।
আপনার Google অনুমতি সেটিংস চেক করুন
এই কোডল্যাবে আপনার তৈরি করা অ্যাকশন পরীক্ষা করতে, আপনাকে প্রয়োজনীয় অনুমতি চালু করতে হবে যাতে সিমুলেটর আপনার অ্যাকশন অ্যাক্সেস করতে পারে।
অনুমতি চালু করতে, এই ধাপগুলি অনুসরণ করুন:
- অ্যাক্টিভিটি কন্ট্রোল বিকল্পে যান।
- আপনি আগে এটি না করে থাকলে, নিজের Google অ্যাকাউন্ট দিয়ে সাইন-ইন করুন।
- নিম্নলিখিত অনুমতি চালু করুন:
- ওয়েব ও অ্যাপ অ্যাক্টিভিটি
- ওয়েব ও অ্যাপ অ্যাক্টিভিটি বিকল্পের অধীনে, Google পরিষেবা ব্যবহার করে এমন সাইট, অ্যাপ ও ডিভাইস থেকে Chrome ইতিহাস ও অ্যাক্টিভিটি অন্তর্ভুক্ত করুন চেকবক্স বেছে নিন**।**
একটি অ্যাকশন প্রোজেক্ট তৈরি করুন
আপনার অ্যাকশন প্রোজেক্ট হল আপনার অ্যাকশনের জন্য একটি কন্টেনার।
এই কোডল্যাবের জন্য আপনার অ্যাকশন প্রোজেক্ট তৈরি করতে, এই ধাপগুলি অনুসরণ করুন:
- Actions কনসোল খুলুন।
- নতুন প্রোজেক্ট বিকল্পে ক্লিক করুন।
- প্রোজেক্টের নাম লিখুন, যেমন
actions-codelab। (নামটি আপনার ইন্টার্নাল রেফারেন্সের জন্য। পরে, আপনার প্রোজেক্টের জন্য একটি এক্সটার্নাল নাম সেট করতে পারবেন।)

- প্রোজেক্ট তৈরি করুন বিকল্পে ক্লিক করুন।
- আপনি কোন ধরনের অ্যাকশন তৈরি করতে চান? স্ক্রিনে, কাস্টম কার্ড বেছে নিন।
- পরবর্তী বিকল্পে ক্লিক করুন।
- আপনি এটি কীভাবে তৈরি করতে চান? স্ক্রিনে, ফাঁকা প্রোজেক্ট কার্ড বেছে নিন।
- তৈরি করা শুরু করুন বিকল্পে ক্লিক করুন।
আপনার অ্যাকশনের জন্য প্রোজেক্ট আইডি সেভ করুন
প্রোজেক্ট আইডি হল আপনার অ্যাকশনের জন্য একটি অনন্য শনাক্তকারী। এই কোডল্যাবের বিভিন্ন ধাপে আপনার প্রোজেক্ট আইডি প্রয়োজন হবে।
আপনার প্রোজেক্ট আইডি ফিরিয়ে আনতে, এইসব ধাপ অনুসরণ করুন:
- Actions কনসোলে, তিনটি উল্লম্ব ডটে (এখানে আইকন যোগ করুন) ক্লিক করুন।
- প্রোজেক্ট সেটিংস বিকল্পে ক্লিক করুন।

- প্রোজেক্ট আইডি কপি করুন**.**
বিলিং অ্যাকাউন্ট যুক্ত করুন
আপনার যদি আগে থেকে কোনও বিলিং অ্যাকাউন্ট না থাকে, তাহলে আপনাকে একটি বিলিং অ্যাকাউন্ট তৈরি করতে হবে এবং পরে ক্লাউড ফাংশনের মাধ্যমে আপনার ফুলফিলমেন্ট ডিপ্লয় করার জন্য Google Cloud-এ আপনার প্রোজেক্টের সাথে এটি যুক্ত করতে হবে।
আপনার প্রোজেক্টের সাথে বিলিং অ্যাকাউন্ট যুক্ত করতে, এইসব ধাপ অনুসরণ করুন:
- Google Cloud Platform বিলিং পৃষ্ঠায় যান।
- বিলিং অ্যাকাউন্ট যোগ করুন বা অ্যাকাউন্ট তৈরি করুন বিকল্পে ক্লিক করুন।
- আপনার পেমেন্টের তথ্য লিখুন।
- আমার ফ্রি ট্রায়াল শুরু করুন অথবা জমা দিন এবং বিলিং চালু করুন বিকল্পে ক্লিক করুন।
- Google Cloud Platform বিলিং পৃষ্ঠায় যান।
- আমার প্রোজেক্ট ট্যাবে ক্লিক করুন।
- কোডল্যাবের জন্য অ্যাকশন প্রোজেক্টের পাশে অ্যাকশন-এর নিচে তিনটি ডটে ক্লিক করুন।
- বিলিং পরিবর্তন করুন বিকল্পে ক্লিক করুন।
- ড্রপ-ডাউন মেনু থেকে, আপনার কনফিগার করা বিলিং অ্যাকাউন্ট বেছে নিন।
- অ্যাকাউন্ট সেট করুন বিকল্পে ক্লিক করুন।
চার্জ এড়াতে, এই কোডল্যাবের শেষে আপনার প্রোজেক্ট ক্লিন-আপ করুন বিভাগে উল্লেখ করা ধাপগুলি অনুসরণ করুন।
gactions কমান্ড-লাইন ইন্টারফেস ইনস্টল করুন
এই কোডল্যাবে, আপনি gactions কমান্ড-লাইন ইন্টারফেস (CLI) টুল ব্যবহার করে অ্যাকশন কনসোল এবং আপনার লোকাল ফাইল সিস্টেমের মধ্যে আপনার অ্যাকশন প্রোজেক্ট সিঙ্ক করেন।
gactions CLI ইনস্টল করতে, gactions কমান্ড-লাইন টুল ইনস্টল করুন-এ দেওয়া নির্দেশাবলী অনুসরণ করুন।
আপনার অ্যাকশন প্রোজেক্ট ডাউনলোড করুন
Actions কনসোল থেকে আপনার Actions প্রোজেক্ট ডাউনলোড করে আপনার অ্যাকশন ডেভেলপ করা শুরু করুন।
আপনার অ্যাকশন প্রোজেক্ট ডাউনলোড করতে, এইসব ধাপ অনুসরণ করুন:
- নতুন ডিরেক্টরি তৈরি করতে এবং সেই ডিরেক্টরিতে পরিবর্তন করতে, নিম্নলিখিত কমান্ড রান করুন:
mkdir myproject cd myproject
- আপনার লোকাল ফাইল সিস্টেমে অ্যাকশন প্রোজেক্টের কনফিগারেশন কপি করতে, নিম্নলিখিত কমান্ড রান করুন:
gactions pull --project-id <projectID>
ফাইলের স্ট্রাকচার বোঝা
Actions কনসোল থেকে আপনি যে Actions প্রোজেক্ট ডাউনলোড করেন সেটি YAML ফাইল স্ট্রাকচারে দেখানো হয়। নিচের ছবিতে ফাইল স্ট্রাকচারের হাই-লেভেল উপস্থাপনা দেখানো হয়েছে:

ফাইল স্ট্রাকচারে নিম্নলিখিত বিষয়গুলি থাকে:
actions/: আপনার অ্যাকশন প্রোজেক্টকে দেখায়। আপনার অ্যাকশন ইনভোক করা হলে সিস্টেমactions.yaml-কে কল করে, যা পরেcustom/global/actions.intent.MAIN.yamlফাইলকে কল করে।custom/: আপনার অ্যাকশন পরিবর্তন করার জন্য আপনি যে ডিরেক্টরিতে কাজ করবেন।global/: এই ডিরেক্টরিতে সিস্টেম ইনটেন্ট থাকে যা প্ল্যাটফর্ম অটোমেটিক আপনার প্রোজেক্টে যোগ করে। এই কোডল্যাবে পরে আপনি সিস্টেম ইনটেন্ট সম্পর্কে আরও জানতে পারবেন।manifest.yaml: এমন একটি ফাইল যাতে ট্রান্সফার করা যায় এমন তথ্য থাকে অথবা কোনও নির্দিষ্ট প্রোজেক্টের জন্য নয় এবং প্রোজেক্টের মধ্যে সরানো যায়।settings/: অ্যাকশন প্রোজেক্টের সেটিংস দেখায়, যেমন ডিসপ্লে নাম, ডিফল্ট লোকাল ও বিভাগ।
৩. কথোপকথন শুরু করুন
ব্যবহারকারীরা ইনভোকেশন-এর মাধ্যমে আপনার অ্যাকশনের সাথে কথোপকথন শুরু করেন। যেমন, আপনার যদি MovieTime নামের কোনও অ্যাকশন থাকে, তাহলে ব্যবহারকারীরা "Ok Google, MovieTime-এর সাথে কথা বলো"-এর মতো কোনও বাক্যাংশ বলে আপনার অ্যাকশন চালু করতে পারেন, যেখানে MovieTime হল যে নাম দেখানো হবে। আপনার অ্যাকশন প্রোডাকশনে ডেপ্লয় করতে চাইলে, সেটির একটি ডিসপ্লে নাম থাকতে হবে; তবে, আপনার অ্যাকশন পরীক্ষা করার জন্য, আপনাকে ডিসপ্লে নাম নির্ধারণ করতে হবে না। পরিবর্তে, আপনার অ্যাকশন চালু করতে সিমুলেটরে "আমার টেস্ট অ্যাপের সাথে কথা বলো" বাক্যাংশটি ব্যবহার করতে পারেন। এই বিভাগের পরবর্তী অংশে আপনি সিমুলেটর সম্পর্কে আরও জানতে পারবেন।
ব্যবহারকারী আপনার অ্যাকশন ইনভোক করার পরে কী হবে তা নির্ধারণ করতে আপনাকে অবশ্যই প্রধান ইনভোকেশন এডিট করতে হবে।
ডিফল্ট হিসেবে, আপনার ইনভোকেশন ট্রিগার করা হলে, আপনার অ্যাকশন একটি জেনেরিক প্রম্পট প্রদান করে ("প্রধান ইনভোকেশন সংজ্ঞায়িত করার মাধ্যমে আপনার অ্যাকশন তৈরি করা শুরু করুন।").
পরবর্তী বিভাগে, আপনি custom/global/actions.intent.MAIN.yaml ফাইলে আপনার প্রধান ইনভোকেশনের জন্য প্রম্পট কাস্টমাইজ করেন।
প্রধান ইনভোকেশন সেট-আপ করুন
আপনি actions.intent.MAIN.yaml ফাইলে আপনার মূল ইনভোকেশন প্রম্পট এডিট করতে পারবেন।
ব্যবহারকারী আপনার অ্যাকশন চালু করলে, আপনার অ্যাকশন ব্যবহারকারীকে যে প্রম্পট পাঠায় তা পরিবর্তন করতে, এই ধাপগুলি অনুসরণ করুন:
- আপনার টেক্সট এডিটরে
custom/global/actions.intent.MAIN.yamlখুলুন। 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.intent.MAIN.yaml
handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: 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.
transitionToScene: actions.scene.END_CONVERSATION
- ফাইলটি সেভ করুন।
সিমুলেটরে মূল ইনভোকেশন টেস্ট করুন
অ্যাকশন কনসোল আপনার অ্যাকশন পরীক্ষা করার জন্য একটি ওয়েব টুল প্রদান করে যাকে সিমুলেটর বলা হয়। ইন্টারফেসটি হার্ডওয়্যার ডিভাইস এবং তাদের সেটিংস সিমুলেট করে, যাতে আপনি আপনার অ্যাকশনের সাথে এমনভাবে কথা বলতে পারেন যেন এটি কোনও স্মার্ট ডিসপ্লে, ফোন, স্পিকার বা KaiOS-এ চলছে।
আপনি যখন নিজের অ্যাকশন চালু করবেন, তখন এটি আপনার যোগ করা কাস্টমাইজ করা প্রম্পটের সাথে উত্তর দেবে ("একটি চমৎকার শুভেচ্ছা, অভিযাত্রী!...")।
আপনার অ্যাকশন প্রোজেক্টের ভার্সন আপডেট না করেই কনসোলে আপনার অ্যাকশন পরীক্ষা করার জন্য আপনি gactions deploy preview কমান্ড ব্যবহার করতে পারেন। আপনি এই কমান্ড রান করলে, আপনার লোকাল ফাইল সিস্টেমে করা কোনও পরিবর্তন আপনার অ্যাকশন প্রোজেক্টের ডিপ্লয় করা ভার্সনে প্রয়োগ করা হয় না, তবে আপনি প্রিভিউ ভার্সনে সেগুলি পরীক্ষা করতে পারেন।
সিমুলেটরে আপনার অ্যাকশনের প্রধান ইনভোকেশন পরীক্ষা করতে, এই ধাপগুলি অনুসরণ করুন:
- পরীক্ষা করার জন্য আপনার প্রোজেক্ট Actions কনসোলে ডেপ্লয় করতে, টার্মিনালে নিম্নলিখিত কমান্ড রান করুন:
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প্রেস করুন।

আপনি অ্যাকশনের মূল ইনভোকেশন ট্রিগার করলে, Assistant আপনার কাস্টমাইজ করা স্বাগত মেসেজ দিয়ে উত্তর দেয়। এই পর্যায়ে, Assistant শুভেচ্ছা জানানোর পরে কথোপকথন শেষ হয়ে যায়। পরবর্তী বিভাগে, আপনি নিজের অ্যাকশন পরিবর্তন করেন যাতে কথোপকথন চলতে থাকে।
ইভেন্ট লগ দেখুন
আপনি অ্যাকশন কনসোলের টেস্ট ট্যাবে থাকলে, প্যানেলটি ইভেন্ট লগ দেখায়, যা কথোপকথনের ইতিহাসকে ইভেন্ট লগ হিসেবে দেখায়। প্রতিটি ইভেন্ট লগ, কথোপকথনের সেই টার্নে ঘটা ইভেন্টগুলি দেখায়।
আপনার অ্যাকশনে বর্তমানে একটি ইভেন্ট লগ আছে, যা ব্যবহারকারীর ইনপুট ("আমার টেস্ট অ্যাপের সাথে কথা বলো") এবং আপনার অ্যাকশনের উত্তর, দুটিই দেখায়। নিচের স্ক্রিনশটে আপনার অ্যাকশনের ইভেন্ট লগ দেখানো হয়েছে:

ইভেন্ট লগে Talk to my test app-এর পাশে নিচের দিকে মুখ করা তীরচিহ্নে ক্লিক করলে, আপনি কালানুক্রমিকভাবে সাজানো ইভেন্টগুলি দেখতে পাবেন, যা কথোপকথনের সেই পর্যায়ে ঘটেছে:
userInput: ব্যবহারকারীর ইনপুটের সাথে সম্পর্কিত ("আমার টেস্ট অ্যাপের সাথে কথা বলো")interactionMatch: আপনার অ্যাকশনের প্রধান ইনভোকেশন রেসপন্সের সাথে সম্পর্কিত, যা ব্যবহারকারীর ইনপুটের মাধ্যমে ট্রিগার করা হয়েছে। তীরচিহ্নে ক্লিক করে এই সারি বড় করলে, আপনি মূল ইনভোকেশনের (A wondrous greeting, adventurer!...) জন্য যে প্রম্পট যোগ করেছেন তা দেখতে পাবেনendConversation:Main invocationইনটেন্টে বেছে নেওয়া ট্রানজিশনের সাথে সম্পর্কিত, যা বর্তমানে কথোপকথন শেষ করে। এই কোডল্যাবের পরবর্তী বিভাগে আপনি ট্রানজিশন সম্পর্কে আরও জানতে পারবেন।
ইভেন্ট লগ থেকে আপনার অ্যাকশন কীভাবে কাজ করছে তা দেখা যায় এবং আপনার অ্যাকশনে কোনও সমস্যা থাকলে তা ডিবাগ করার জন্য এটি একটি উপযোগী টুল। কোনও ইভেন্টের বিবরণ দেখতে, ইভেন্টের নামের পাশে দেখানো তীরচিহ্নে ক্লিক করুন, যেমনটি নিম্নলিখিত স্ক্রিনশটে দেখানো হয়েছে:

৪. আপনার অ্যাকশনের কথোপকথন তৈরি করুন
ব্যবহারকারী আপনার অ্যাকশন চালু করার পরে কী হবে তা আপনি এখন নির্ধারণ করেছেন, তাই আপনার অ্যাকশনের বাকি কথোপকথন তৈরি করতে পারেন। এই কোডল্যাব নিয়ে এগিয়ে যাওয়ার আগে, আপনার অ্যাকশনের কথোপকথন কীভাবে কাজ করে তা বুঝতে নিম্নলিখিত শব্দগুলির সাথে পরিচিত হন:
আপনার অ্যাকশনে এক বা একাধিক দৃশ্য থাকতে পারে এবং প্রতিটি দৃশ্য চালানোর আগে আপনাকে তা অ্যাক্টিভেট করতে হবে। এই কোডল্যাবে আপনি যে অ্যাকশন তৈরি করবেন তাতে Start নামের একটিই দৃশ্য থাকবে। কোনও সিন অ্যাক্টিভেট করার সবচেয়ে সাধারণ উপায় হল আপনার অ্যাকশন কনফিগার করা যাতে ব্যবহারকারীর ইনপুট কোনও সিনের মধ্যে থাকা ইনটেন্টের সাথে ম্যাচ করলে, সেই ইনটেন্ট অন্য সিনের ট্রানজিশন ট্রিগার করে এবং সেটি অ্যাক্টিভেট করে।
যেমন, ধরুন একটি কাল্পনিক অ্যাকশন ব্যবহারকারীকে পশুদের সম্পর্কে তথ্য প্রদান করে। ব্যবহারকারী এই অ্যাকশন চালু করলে, Main invocation ইনটেন্ট ম্যাচ করে এবং Facts. নামের দৃশ্যে ট্রানজিশন ট্রিগার করে। এই ট্রানজিশন Facts দৃশ্য অ্যাক্টিভেট করে, যা ব্যবহারকারীকে এই প্রম্পট পাঠায়: Would you like to hear a fact about cats or dogs? Facts দৃশ্যের মধ্যে Cat নামের একটি কাস্টম ইনটেন্ট আছে, যাতে ট্রেনিং ফ্রেজ থাকে যা ব্যবহারকারী বিড়াল সম্পর্কে কোনও তথ্য শোনার জন্য বলতে পারেন, যেমন "আমি বিড়াল সম্পর্কে কোনও তথ্য শুনতে চাই" অথবা "বিড়াল"। ব্যবহারকারী বিড়াল সম্পর্কে কোনও তথ্য জানতে চাইলে, Cat ইনটেন্ট ম্যাচ করে এবং Cat fact. নামক দৃশ্যে ট্রানজিশন ট্রিগার করে। Cat fact দৃশ্য অ্যাক্টিভেট হয় এবং ব্যবহারকারীকে একটি প্রম্পট পাঠায় যাতে বিড়াল সম্পর্কে তথ্য থাকে।

ছবি ১. Actions SDK-এর মাধ্যমে তৈরি করা অ্যাকশনে সাধারণ কথোপকথনের ফ্লো।
একসাথে, দৃশ্য, ইন্টেন্ট এবং ট্রানজিশন আপনার কথোপকথনের জন্য যুক্তি তৈরি করে এবং আপনার অ্যাকশনের কথোপকথনের মাধ্যমে আপনার ব্যবহারকারী যে বিভিন্ন পথ নিতে পারে তা নির্ধারণ করে। নিম্নলিখিত বিভাগে, আপনি একটি দৃশ্য তৈরি করেন এবং ব্যবহারকারী আপনার অ্যাকশন চালু করার পরে কীভাবে সেই দৃশ্যটি সক্রিয় হয় তা নির্ধারণ করেন।
প্রধান ইনভোকেশন থেকে দৃশ্যে ট্রানজিশন
এই বিভাগে, আপনি Start নামে একটি নতুন দৃশ্য তৈরি করেন, যা ব্যবহারকারীকে একটি প্রম্পট পাঠায় এবং জিজ্ঞাসা করে যে তিনি তার ভাগ্য জানতে চান কিনা। এছাড়াও, আপনি মূল ইনভোকেশন থেকে নতুন Start দৃশ্যে ট্রানজিশন যোগ করেন।
এই দৃশ্য তৈরি করতে এবং এতে ট্রানজিশন যোগ করতে, এইসব ধাপ অনুসরণ করুন:
- আপনার টেক্সট এডিটরে
custom/global/actions.intent.MAIN.yamlখুলুন। transitionToSceneফিল্ডের (actions.scene.END_CONVERSATION) টেক্সট নিম্নলিখিত টেক্সট দিয়ে পরিবর্তন করুন:transitionToScene: Start
actions.intent.MAIN.yaml
handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: 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.
transitionToScene: Start
এটি আপনার অ্যাকশনকে মূল ইনভোকেশন থেকে Start দৃশ্যে ট্রানজিশন করতে বলে।
- ফাইলটি সেভ করুন।
- টার্মিনালে,
customডিরেক্টরিতে একটি নতুনscenesডিরেক্টরি তৈরি করুন:
mkdir custom/scenes
scenesডিরেক্টরিতেStart.yamlনামে একটি নতুন ফাইল তৈরি করুন, যা আপনার অ্যাকশনেstartদৃশ্যকে দেখায়:
touch custom/scenes/Start.yaml
- আপনার টেক্সট এডিটরে
Start.yamlখুলুন। Start.yamlফাইলে নিম্নলিখিত কোড পেস্ট করুন:
Start.yaml
onEnter:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: Before you continue on your quest, would you like your fortune
told?
Start.yaml ফাইল কোডে, onEnter নামে একটি ফিল্ড আছে, যা কোনও দৃশ্যের লাইফসাইকেলে চলা প্রথম স্টেজ।
এই ক্ষেত্রে, ব্যবহারকারী প্রথমবার Start দৃশ্যে প্রবেশ করলে প্রম্পট (Before you continue on your quest...) প্রম্পট সারিতে যোগ করা হয়।
সাজেশন চিপ যোগ করুন
সাজেশন চিপ ব্যবহারকারীকে ক্লিক করার মতো সাজেশন অফার করে যা আপনার অ্যাকশন ব্যবহারকারীর ইনপুট হিসেবে প্রসেস করে। এই বিভাগে, আপনি Yes এবং No সাজেশন চিপ যোগ করেন যা স্ক্রিন সহ ডিভাইসে ব্যবহারকারীদের সাহায্য করার জন্য আপনার কনফিগার করা প্রম্পটের (Before you continue on your quest, would you like your fortune told?) নিচে দেখা যায়।
Start দৃশ্যের প্রম্পটে সাজেশন চিপ যোগ করতে, এইসব ধাপ অনুসরণ করুন:
- নিম্নলিখিত কোড স্নিপেটের সাথে ম্যাচ করার জন্য
Start.yaml-এ কোড আপডেট করুন, এতে সাজেশন চিপ কনফিগার করার কোড অন্তর্ভুক্ত আছে:
Start.yaml
onEnter:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: Before you continue on your quest, would you like your fortune
told?
suggestions:
- title: "Yes"
- title: "No"
- ফাইলটি সেভ করুন।
সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন
এই পর্যায়ে, আপনার অ্যাকশন মূল ইনভোকেশন থেকে Start দৃশ্যে ট্রানজিশন করা উচিত এবং ব্যবহারকারীকে জিজ্ঞাসা করা উচিত যে তিনি তার ভাগ্য জানতে চান কিনা। সিমুলেটেড ডিসপ্লেতেও সাজেশন চিপ দেখানো উচিত।
সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করতে, এই ধাপগুলি অনুসরণ করুন:
- টার্মিনালে, নিম্নলিখিত কমান্ড রান করুন:
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প্রেস করুন। আপনার অ্যাকশনMain invocationপ্রম্পট এবং যোগ করাStartসিন প্রম্পট, "আপনার কোয়েস্ট চালিয়ে যাওয়ার আগে, আপনি কি নিজের ভাগ্য জানতে চান?", সাজেশন চিপ সহ উত্তর দেবে।
এই ইন্টার্যাকশনটি নিম্নলিখিত স্ক্রিনশটে দেখানো হয়েছে:

- প্রম্পটের উত্তর দিতে হ্যাঁ বা না সাজেশন চিপে ক্লিক করুন। (এছাড়াও, আপনি "হ্যাঁ" বা "না" বলতে পারেন অথবা ইনপুট ফিল্ডে
YesবাNoলিখতে পারেন।)
আপনি প্রম্পটের উত্তর দিলে, আপনার অ্যাকশন একটি মেসেজের মাধ্যমে উত্তর দেয় যা থেকে বোঝা যায় যে এটি আপনার ইনপুট বুঝতে পারেনি: "আমি বুঝতে পারিনি। আবার চেষ্টা করে দেখবেন?" আপনি এখনও "হ্যাঁ" বা "না" ইনপুট বুঝতে ও উত্তর দিতে আপনার অ্যাকশন কনফিগার করেননি, তাই আপনার অ্যাকশন NO_MATCH ইনটেন্টের সাথে আপনার ইনপুট ম্যাচ করে।
ডিফল্ট হিসেবে, NO_MATCH সিস্টেম ইনটেন্ট সাধারণ উত্তর প্রদান করে, তবে আপনি এইসব উত্তর কাস্টমাইজ করতে পারবেন যাতে ব্যবহারকারী বুঝতে পারেন যে আপনি তার ইনপুট বুঝতে পারেননি। ব্যবহারকারীর ইনপুট তিনবার ম্যাচ না করলে, Assistant আপনার অ্যাকশনের সাথে ব্যবহারকারীর কথোপকথন শেষ করে দেয়।
yes এবং no ইনটেন্ট যোগ করুন
আপনার অ্যাকশনের করা প্রশ্নের উত্তর এখন ব্যবহারকারীরা দিতে পারবেন, তাই ব্যবহারকারীর উত্তর ("হ্যাঁ" বা "না") বোঝার জন্য আপনি অ্যাকশন কনফিগার করতে পারবেন। নিম্নলিখিত বিভাগে, আপনি কাস্টম ইনটেন্ট তৈরি করেন যা ব্যবহারকারী "হ্যাঁ" বা "না" বললে মিলে যায় এবং এইসব ইনটেন্ট Start দৃশ্যে যোগ করেন।
yes ইনটেন্ট তৈরি করুন
yes ইনটেন্ট তৈরি করতে, এই ধাপগুলি অনুসরণ করুন:
- টার্মিনালে,
customডিরেক্টরিতেintentsনামে একটি নতুন ডিরেক্টরি তৈরি করুন:
mkdir custom/intents
intentsডিরেক্টরিতেyes.yamlনামে একটি নতুন ফাইল তৈরি করুন:
touch custom/intents/yes.yaml
- আপনার টেক্সট এডিটরে
yes.yamlখুলুন। yes.yaml-এ ট্রেনিং বাক্যাংশ সহ নিম্নলিখিত কোড স্নিপেট পেস্ট করুন:
yes.yaml
trainingPhrases:
- of course
- let's do it
- ok
- sure
- "y"
- "yes"
- ফাইলটি সেভ করুন।
Start দৃশ্যে yes ইনটেন্ট যোগ করুন
এখন, ব্যবহারকারী "হ্যাঁ" ইনটেন্ট প্রকাশ করলে, অ্যাকশন তা বুঝতে পারে। আপনি Start দৃশ্যে yes কাস্টম ইনটেন্ট যোগ করতে পারেন, কারণ ব্যবহারকারী Start প্রম্পটের ("আপনার কোয়েস্ট চালিয়ে যাওয়ার আগে, আপনি কি নিজের ভাগ্য জানতে চান?") উত্তর দিচ্ছেন।
Start দৃশ্যে এই কাস্টম ইনটেন্ট যোগ করতে, এইসব ধাপ অনুসরণ করুন:
- আপনার টেক্সট এডিটরে
custom/scenes/Start.yamlখুলুন। Start.yamlফাইলের শেষেintentEventsএবংyesহ্যান্ডলার যোগ করুন:
Start.yaml
intentEvents:
- handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: Your future depends on the item you choose to use for your quest. Choose wisely! Farewell, stranger.
intent: "yes"
transitionToScene: actions.scene.END_CONVERSATION
yes ইনটেন্ট ম্যাচ করলে, "আপনার ভবিষ্যৎ নির্ভর করে আপনার কোয়েস্টের জন্য আপনি যে আইটেম ব্যবহার করতে বেছে নিয়েছেন তার উপর..." প্রম্পটটি প্রম্পট সারিতে যোগ করা হয়। এরপর Start সিন থেকে 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 ইনটেন্টের জন্য End conversation ট্রানজিশন কনফিগার করেছেন।
no ইনটেন্ট তৈরি করুন
এখন, আপনি no ইন্টেন্ট তৈরি করতে পারবেন যাতে ব্যবহারকারী তার ভাগ্য জানতে না চাইলে আপনার অ্যাকশন তা বুঝতে পারে এবং সেই অনুযায়ী উত্তর দিতে পারে।
এই ইনটেন্ট তৈরি করতে, এইসব ধাপ অনুসরণ করুন:
- টার্মিনালে,
intentsডিরেক্টরিতেno.yamlনামে একটি নতুন ফাইল তৈরি করুন:
touch custom/intents/no.yaml
- আপনার টেক্সট এডিটরে
no.yamlখুলুন। no.yamlফাইলে নিম্নলিখিত ট্রেনিং ফ্রেজ পেস্ট করুন:
no.yaml
trainingPhrases:
- nope
- I don't want
- "n"
- "no"
- nah
- no thanks
- ফাইলটি সেভ করুন।
Start দৃশ্যে no ইনটেন্ট যোগ করুন
এখন, অ্যাকশনটি বুঝতে পারে যে ব্যবহারকারী কখন "না" বা "না"-এর মতো কিছু প্রকাশ করছেন, যেমন "না"। আপনাকে Start দৃশ্যে no কাস্টম ইনটেন্ট যোগ করতে হবে কারণ ব্যবহারকারী Start প্রম্পটের উত্তর দিচ্ছেন ("আপনার কোয়েস্ট চালিয়ে যাওয়ার আগে, আপনি কি নিজের ভাগ্য জানতে চান?")।
Start দৃশ্যের জন্য এই ইনটেন্ট যোগ করতে, এইসব ধাপ অনুসরণ করুন:
- আপনার টেক্সট এডিটরে
custom/scenes/Start.yamlখুলুন। Start.yaml-এyesহ্যান্ডলারের নিচে নিম্নলিখিতnoহ্যান্ডলার যোগ করুন:
Start.yaml
- handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: I understand, stranger. Best of luck on your quest! Farewell.
intent: "no"
transitionToScene: actions.scene.END_CONVERSATION
- ফাইলটি সেভ করুন।
সিমুলেটরে no ইনটেন্ট টেস্ট করুন
এই পর্যায়ে, আপনার অ্যাকশন বুঝতে পারে যে ব্যবহারকারী কখন তার ভাগ্য জানতে চান না এবং সেই অনুযায়ী উপযুক্ত উত্তর দেয়।
সিমুলেটরে এই ইনটেন্ট পরীক্ষা করতে, এইসব ধাপ অনুসরণ করুন:
- টার্মিনালে, নিম্নলিখিত কমান্ড রান করুন:
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প্রেস করুন। - ইনপুট ফিল্ডে
Noটাইপ করেEnterপ্রেস করুন। অন্যথায়,Noসাজেশন চিপে ক্লিক করুন।

ব্যবহারকারীকে তার ভাগ্য বলার পরিবর্তে, আপনার অ্যাকশন তাকে তার যাত্রার জন্য শুভকামনা জানায়। আপনার অ্যাকশন তারপর সেশন শেষ করে কারণ আপনি no ইনটেন্টের জন্য End conversation ট্রানজিশন কনফিগার করেছেন।
৫. ফুলফিলমেন্ট প্রয়োগ করুন
বর্তমানে, আপনার অ্যাকশনের উত্তর স্ট্যাটিক; প্রম্পট সহ কোনও দৃশ্য অ্যাক্টিভেট করা হলে, আপনার অ্যাকশন প্রতিবার একই প্রম্পট পাঠায়। এই বিভাগে, আপনি ফুলফিলমেন্ট প্রয়োগ করেন যাতে ডাইনামিক কথোপকথনমূলক উত্তর তৈরি করার লজিক থাকে।
আপনার ফুলফিলমেন্ট শনাক্ত করে যে ব্যবহারকারী নতুন নাকি পুরনো এবং পুরনো ব্যবহারকারীদের জন্য অ্যাকশনের শুভেচ্ছা বার্তা পরিবর্তন করে। ফিরে আসা ব্যবহারকারীদের জন্য শুভেচ্ছা মেসেজটি ছোট করা হয়েছে এবং ব্যবহারকারীর ফিরে আসার কথা স্বীকার করা হয়েছে: "ফিরে আসার জন্য ধন্যবাদ, অ্যাডভেঞ্চারার! গ্রিফিনবার্গের পৌরাণিক ভূমিতে আপনাকে আবার স্বাগত!"
এই কোডল্যাবের জন্য, আপনার ফুলফিলমেন্ট কোড এডিট ও ডিপ্লয় করতে Cloud Functions এডিটর ব্যবহার করুন।
আপনার অ্যাকশন ওয়েবহুক ট্রিগার করতে পারে যা ইনভোকেশন বা দৃশ্যের এক্সিকিউশনের নির্দিষ্ট অংশের সময় ঘটা কোনও ইভেন্টের ফুলফিলমেন্ট সম্পর্কে আপনাকে বিজ্ঞপ্তি দেয়। কোনও ওয়েবহুক ট্রিগার করা হলে, আপনার অ্যাকশন, ইভেন্ট প্রসেস করার জন্য ব্যবহার করা হ্যান্ডলারের নামের সাথে আপনার ফুলফিলমেন্টে JSON পেলোড সহ একটি অনুরোধ পাঠায়। এই হ্যান্ডলার কিছু লজিক প্রয়োগ করে এবং সংশ্লিষ্ট JSON রেসপন্স প্রদান করে।
আপনার ফুলফিলমেন্ট তৈরি করুন
এই বিভাগে, ব্যবহারকারীরা আপনার অ্যাকশন চালু করলে, ফিরে আসা ব্যবহারকারী এবং নতুন ব্যবহারকারীদের জন্য বিভিন্ন প্রম্পট তৈরি করতে আপনি নিজের ফুলফিলমেন্ট পরিবর্তন করেন।
আপনার ফুলফিলমেন্টে এই লজিক যোগ করতে, এইসব ধাপ অনুসরণ করুন:
- টার্মিনালে, আপনার প্রোজেক্টের রুট ডিরেক্টরিতে আছেন কিনা তা নিশ্চিত করুন এবং একটি নতুন
webhooksডিরেক্টরি তৈরি করুন:
mkdir webhooks
webhooksডিরেক্টরিতেActionsOnGoogleFulfillment.yamlনামে একটি নতুন ফাইল তৈরি করুন:
touch webhooks/ActionsOnGoogleFulfillment.yaml
- আপনার টেক্সট এডিটরে
ActionsOnGoogleFulfillment.yamlখুলুন। ActionsOnGoogleFulfillment.yamlফাইলেgreetingহ্যান্ডলার ওinlineCloudFunctionকন্টেন্ট যোগ করুন:
ActionsOnGoogleFulfillment.yaml
handlers:
- name: greeting
inlineCloudFunction:
executeFunction: ActionsOnGoogleFulfillment
ActionsOnGoogleFulfillment.yaml ফাইলটি আপনার ওয়েবহুক হ্যান্ডলার (যেমন greeting হ্যান্ডলার) সংজ্ঞায়িত করে এবং আপনার অ্যাকশনকে ওয়েবহুক এন্ডপয়েন্ট হিসেবে Cloud Functions ব্যবহার করতে বলে।
webhooksডিরেক্টরিতে নতুনActionsOnGoogleFulfillmentডিরেক্টরি তৈরি করুন:
mkdir webhooks/ActionsOnGoogleFulfillment
ActionsOnGoogleFulfillmentডিরেক্টরিতেindex.jsনামে একটি নতুন ফাইল তৈরি করুন:
touch webhooks/ActionsOnGoogleFulfillment/index.js
- আপনার টেক্সট এডিটরে
index.jsখুলুন। index.js-এ নিম্নলিখিত কোড যোগ করুন:
index.js
const { conversation } = require('@assistant/conversation');
const functions = require('firebase-functions');
const app = conversation({debug: true});
app.handle(>39;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);
এই কোডটি greeting হ্যান্ডলারকে সংজ্ঞায়িত করে, যা উপযুক্ত শুভেচ্ছা পাঠায়
ব্যবহারকারী।
- ফাইলটি সেভ করুন।
ActionsOnGoogleFulfillmentডিরেক্টরিতেpackage.jsonনামে একটি নতুন ফাইল তৈরি করুন:
touch webhooks/ActionsOnGoogleFulfillment/package.json
package.json ফাইলটি আপনার ওয়েব হুকের জন্য নির্ভরতা এবং অন্যান্য মেটাডেটা নির্দিষ্ট করে।
- আপনার টেক্সট এডিটরে
package.jsonখুলুন। - এই GitHub রিপোজিটরি থেকে কোড কপি করে
package.jsonফাইলে পেস্ট করুন। - ফাইলটি সেভ করুন।
কোডটি বুঝুন
আপনার ফুলফিলমেন্ট, যা Node.js-এর জন্য Actions on Google ফুলফিলমেন্ট লাইব্রেরি ব্যবহার করে, Google Assistant থেকে HTTP অনুরোধের উত্তর দেয়।
আগের কোড স্নিপেটে, আপনি greeting হ্যান্ডলারকে সংজ্ঞায়িত করেন, যা চেক করে দেখে যে ব্যবহারকারী আগে lastSeenTime প্রপার্টি সহ অ্যাকশন ভিজিট করেছেন কিনা। lastSeenTime প্রপার্টি নির্দিষ্ট করা না থাকলে, ব্যবহারকারী নতুন এবং নতুন ব্যবহারকারীদের জন্য নির্ধারিত শুভেচ্ছা পান। অন্যথায়, মেসেজটি ব্যবহারকারীর ফিরে আসার কথা স্বীকার করে এবং একটি পরিবর্তিত অভিবাদন তৈরি করে।
ওয়েবহুক ট্রিগার করতে মূল ইনভোকেশন আপডেট করুন
এখন আপনি greeting ফাংশনটি সংজ্ঞায়িত করেছেন, আপনি আপনার প্রধান ইনভোকেশন ইনটেন্টে greeting ইভেন্ট হ্যান্ডলার কনফিগার করতে পারেন যাতে ব্যবহারকারী আপনার অ্যাকশন ইনভোক করলে আপনার অ্যাকশন এই ফাংশনটি কল করতে জানে।
নতুন greeting হ্যান্ডলারকে কল করার জন্য আপনার অ্যাকশন কনফিগার করতে, এই ধাপগুলি অনুসরণ করুন:
- আপনার টেক্সট এডিটরে
custom/global/actions.intent.MAIN.yamlখুলুন। actions.intent.MAIN.yaml-এ থাকা কোডটি নিম্নলিখিত কোড দিয়ে পরিবর্তন করুন:
actions.intent.MAIN.yaml
handler:
webhookHandler: greeting
transitionToScene: Start
- ফাইলটি সেভ করুন।
এখন, আপনার প্রধান ইনভোকেশন ইনটেন্ট ম্যাচ করলে, greeting ওয়েবহুক হ্যান্ডলারকে কল করা হয়।
সিমুলেটরে আপডেট করা মূল ইনভোকেশন টেস্ট করুন
সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করতে, এই ধাপগুলি অনুসরণ করুন:
- টার্মিনালে, নিম্নলিখিত কমান্ড রান করুন:
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প্রেস করুন।
আপনি এই কোডল্যাবে আগেই আপনার অ্যাকশন পরীক্ষা করেছেন, তাই আপনি নতুন ব্যবহারকারী নন, তাই আপনি নিম্নলিখিত সংক্ষিপ্ত অভিবাদন পাবেন: "একটি চমৎকার অভিবাদন, অভিযাত্রী! গ্রিফিনবার্গের পৌরাণিক ভূমিতে আপনাকে আবার স্বাগত জানাই!..."
৬. Actions Builder-এর মাধ্যমে অ্যাকশন ভিজ্যুয়ালাইজ করা
Actions SDK-এর সাথে Actions Builder নামক ওয়েব-ভিত্তিক IDE-এর ইন্টারঅপারেবিলিটি আছে যা Actions কনসোলে ইন্টিগ্রেট করা থাকে। gactions push কমান্ডের সাহায্যে আপনি কনসোলে আপনার অ্যাকশনের ড্রাফ্টে আপনার লোকাল ফাইল সিস্টেম পুশ করতে পারেন। gactions deploy preview-এর মতো নয়, যা আপনাকে শুধুমাত্র সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করতে দেয়, gactions push আপনার স্থানীয় ফাইল থেকে সমস্ত কন্টেন্ট অ্যাকশন বিল্ডারে নিয়ে যায়।
অ্যাকশন কনসোল আপনার অ্যাকশনের কনফিগারেশনের একটি ভিজ্যুয়াল উপস্থাপনা প্রদান করে। ডেভেলপমেন্টের সময় আপনার অ্যাকশন ভিজ্যুয়ালি ম্যাপ করা দেখলে তা কাজে লাগতে পারে এবং এটি পরীক্ষার জন্য পরিবেশিত আপনার অ্যাকশনের ভার্সনকে প্রভাবিত করে না।
আপনার অ্যাকশন প্রোজেক্ট পুশ করতে এবং অ্যাকশন কনসোলে এটি দেখতে, এই ধাপগুলি অনুসরণ করুন:
- টার্মিনালে, আপনার প্রোজেক্ট Actions কনসোলে পুশ করতে নিম্নলিখিত কমান্ড রান করুন:
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 কপি করে ব্রাউজারে পেস্ট করুন।
- অ্যাকশন কনসোল-এ, উপরের নেভিগেশন বারে ডেভেলপ করুন বিকল্পে ক্লিক করুন।
- দৃশ্য বিকল্পের পাশে ড্রপ-ডাউন তীরচিহ্নে ক্লিক করে শুরু করুন বিকল্পে ক্লিক করুন। আপনার অ্যাকশনের
Startদৃশ্যের একটি ভিজ্যুয়াল উপস্থাপনা দেখতে পাবেন, যেমনটি নিম্নলিখিত স্ক্রিনশটে দেখানো হয়েছে:

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