অ্যাকশন SDK ব্যবহার করে Google অ্যাসিস্ট্যান্টের জন্য অ্যাকশন তৈরি করুন (লেভেল 2)

1. ওভারভিউ

গুগল অ্যাসিস্ট্যান্ট ডেভেলপার প্ল্যাটফর্ম আপনাকে স্মার্ট স্পিকার, ফোন, গাড়ি, টিভি, হেডফোন এবং আরও অনেক কিছু সহ 1 বিলিয়নেরও বেশি ডিভাইস জুড়ে Google সহকারী, একজন ভার্চুয়াল ব্যক্তিগত সহকারীর কার্যকারিতা বাড়ানোর জন্য সফ্টওয়্যার তৈরি করতে দেয়। ব্যবহারকারীরা সহকারীকে কথোপকথনে নিযুক্ত করে কাজগুলি সম্পন্ন করতে, যেমন মুদি কেনা বা রাইড বুক করা। একজন ডেভেলপার হিসেবে, আপনি সহকারী ডেভেলপার প্ল্যাটফর্ম ব্যবহার করে সহজেই ব্যবহারকারীদের এবং আপনার নিজের তৃতীয় পক্ষের পরিপূর্ণতা পরিষেবার মধ্যে আনন্দদায়ক এবং কার্যকর কথোপকথনের অভিজ্ঞতা তৈরি এবং পরিচালনা করতে পারেন।

এই কোডল্যাবটি Google অ্যাসিস্ট্যান্টের সাথে ডেভেলপ করার জন্য মধ্যবর্তী-স্তরের ধারণাগুলিকে কভার করে এবং অ্যাকশন SDK (লেভেল 1) কোডল্যাব ব্যবহার করে Google অ্যাসিস্ট্যান্টের জন্য বিল্ড অ্যাকশনে তৈরি অ্যাকশন তৈরি করে। আমরা দৃঢ়ভাবে সুপারিশ করছি যে আপনি এটি শুরু করার আগে লেভেল 1 কোডল্যাব সম্পূর্ণ করুন।

এই কোডল্যাবে আপনি যে অ্যাকশন তৈরি করেন তা ব্যবহারকারীদের তাদের পছন্দের সাহায্যের ভিত্তিতে একটি পৌরাণিক ভূমি, গ্রিফিনবার্গে তাদের অনুসন্ধানের জন্য তাদের ভাগ্য জানায়।

আপনি কি নির্মাণ করবেন

এই কোডল্যাবে, আপনি নিম্নলিখিত ফাংশনগুলির সাথে একটি পরিশীলিত কথোপকথনমূলক অ্যাকশন তৈরি করেন:

  • ব্যবহারকারীর কাছ থেকে ডেটা সংগ্রহ করে এবং, মানের উপর নির্ভর করে, কথোপকথনমূলক প্রম্পটগুলিকে সংশোধন করে।
  • কথোপকথন আরও এগিয়ে নিতে ফলো-আপ প্রশ্নের উত্তর দেয়।
  • একটি গেম লুপ তৈরি করে যাতে একজন ব্যবহারকারী ভাগ্য পাওয়ার পরে আবার অ্যাকশনের সাথে ইন্টারঅ্যাক্ট করতে পারে।

আপনি বিল্ডিং শুরু করার আগে, আপনি "Hey Google, ভাগ্য এবং ভাগ্যের সাথে কথা বলুন" বলে আপনার Google অ্যাসিস্ট্যান্ট-সক্ষম ডিভাইসে লাইভ অ্যাকশনের সাথে ইন্টারঅ্যাক্ট করতে পারেন। ফিরে আসা ব্যবহারকারীর জন্য এই অ্যাকশনের মাধ্যমে ডিফল্ট পথটি নিম্নলিখিত ইন্টারঅ্যাকশনের মতো দেখায়:

dd6f5c61296b8b50.png

eba043f546aa8c51.png

আপনি কি শিখবেন

  • ব্যবহারকারীর কাছ থেকে ডেটা সংগ্রহ করতে স্লটগুলি কীভাবে ব্যবহার করবেন
  • একটি দৃশ্যে যুক্তি যোগ করতে শর্তগুলি কীভাবে ব্যবহার করবেন
  • কিভাবে একটি গেম লুপ যোগ করতে হয়
  • একটি সহায়ক পথ যোগ কিভাবে

আপনি কি প্রয়োজন হবে

এই কোডল্যাবের পূর্বশর্তগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:

  • আপনার পছন্দের একটি IDE/টেক্সট এডিটর।
  • NodeJS , npm , এবং git ইনস্টল সহ শেল কমান্ড চালানোর জন্য একটি টার্মিনাল।
  • একটি ওয়েব ব্রাউজার, যেমন Google Chrome
  • একটি সম্পূর্ণ কোডল্যাব লেভেল 1 অ্যাকশন প্রকল্প।

জাভাস্ক্রিপ্ট (ES6) এর সাথে পরিচিতি দৃঢ়ভাবে সুপারিশ করা হয়, যদিও প্রয়োজন নেই, এই কোডল্যাবের পরিপূর্ণতা কোড বোঝার জন্য।

ঐচ্ছিক: নমুনা কোড পান

আপনি ঐচ্ছিকভাবে অ্যাকশন বিল্ডার কোডল্যাব লেভেল 1 গিটহাব রিপোজিটরি থেকে সম্পূর্ণ লেভেল 1 প্রজেক্ট কোড পেতে পারেন যাতে আপনি এই কোডল্যাবের সাথে অনুসরণ করতে পারেন। আপনি এই Github সংগ্রহস্থলে সম্পূর্ণ স্তর 2 প্রকল্প কোড দেখতে পারেন।

2. কথোপকথন ইন্টারফেস নির্মাণ চালিয়ে যান

প্রথম কোডল্যাবে, আপনি একটি একক দৃশ্য সহ একটি সাধারণ কথোপকথনমূলক অ্যাকশন তৈরি করেছেন, Start

এই কোডল্যাবে, আপনি আপনার অ্যাকশনের কথোপকথন প্রসারিত করেন। নিম্নলিখিত বিভাগগুলিতে, আপনি নিম্নলিখিতগুলি করতে আপনার অ্যাকশন কনফিগার করেন:

  • ব্যবহারকারী যখন তাদের ভাগ্য শুনতে চায় তখন একটি নতুন Fortune দৃশ্যে রূপান্তর৷
  • ব্যবহারকারীকে জিজ্ঞাসা করুন যে তারা তাদের ভ্রমণের জন্য কোন সাহায্য বেছে নিতে চান
  • ব্যবহারকারীর পছন্দের উপর ভিত্তি করে একটি কাস্টমাইজড ভাগ্য প্রদান করুন

Fortune দৃশ্যে রূপান্তর এবং তৈরি করুন

এই বিভাগে, আপনি নিম্নলিখিতগুলি করবেন:

  • Start সিন থেকে বিদ্যমান প্রম্পটটি সরান, যা ব্যবহারকারীকে সাড়া দেয় এবং কথোপকথন শেষ করে
  • Start দৃশ্য থেকে Fortune দৃশ্যে রূপান্তরের সংজ্ঞা দাও
  • Fortune দৃশ্য তৈরি করুন

Start দৃশ্যটি পরিবর্তন করতে এবং Fortune দৃশ্যে একটি রূপান্তর যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার পাঠ্য সম্পাদকের লেভেল 1 কোডল্যাব থেকে আপনার অ্যাকশন প্রকল্পটি খুলুন।
  2. custom/scenes/Start.yaml ফাইলটি খুলুন।
  3. 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
  1. ফাইলটি সংরক্ষণ করুন।

Fortune নামে একটি নতুন দৃশ্য তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. টার্মিনালে আপনার কোডল্যাব লেভেল 1 অ্যাকশন প্রকল্পে নেভিগেট করুন।
  2. scenes ডিরেক্টরিতে Fortune.yaml নামে একটি নতুন ফাইল তৈরি করুন:
touch custom/scenes/Fortune.yaml

আপনি পরবর্তী বিভাগে এই ফাইলটি সম্পাদনা করবেন।

Fortune দৃশ্যের জন্য কথোপকথনমূলক যুক্তি সংজ্ঞায়িত করুন

এই কোডল্যাবে, আপনি ব্যবহারকারীকে জিজ্ঞাসা করার জন্য আপনার Fortune দৃশ্যটি কনফিগার করেন, " আপনার অনুসন্ধান, একটি ড্রাগন, একটি অনুবাদক বা একটি কম্পাসে আপনাকে সাহায্য করার জন্য আপনি কী বেছে নেবেন?" আপনি এগিয়ে যাওয়ার আগে ব্যবহারকারীর কাছ থেকে প্রয়োজনীয় তথ্য সংগ্রহ করতে স্লট ফিলিং নামে একটি ক্ষমতা ব্যবহার করতে পারেন।

আপনার অ্যাকশন তিনটি সাহায্যের জন্য ভাগ্য প্রদান করে: একটি ড্রাগন, অনুবাদক এবং কম্পাস। ব্যবহারকারীর ইনপুটে এই তিনটি বিকল্প সনাক্ত করতে আপনার অ্যাকশন কনফিগার করতে, আপনাকে অবশ্যই একটি নতুন প্রকার তৈরি করতে হবে।

ব্যবহারকারীর কাছ থেকে আপনি যে তথ্য চান তা নির্ধারণ করতে আপনি দৃশ্যের স্লট ভর্তি পর্যায়ের মধ্যে প্রকারগুলি ব্যবহার করতে পারেন। যখন NLU ইঞ্জিন ব্যবহারকারীর ইনপুটে একটি স্লট মিল সনাক্ত করে, তখন এটি একটি টাইপ করা প্যারামিটার হিসাবে স্লটটিকে বের করে, যাতে আপনি একটি দৃশ্যে এটির সাথে যুক্তি চালাতে পারেন।

available_options টাইপ তৈরি করুন

এই বিভাগে, আপনি available_options নামে একটি নতুন প্রকার তৈরি করেন, যা ব্যবহারকারীরা প্রম্পটের প্রতিক্রিয়া হিসাবে যে তিনটি বিকল্প বেছে নিতে পারে (ড্রাগন, অনুবাদক এবং কম্পাস) তা নির্দিষ্ট করে। কোনো ব্যবহারকারী অনুরূপ কিছু বললে আপনি এই বিকল্পগুলির জন্য কয়েকটি প্রতিশব্দ সংজ্ঞায়িত করুন। পরবর্তী বিভাগে, আপনি ব্যবহারকারীর পছন্দ পেতে চান তা নির্দিষ্ট করতে আপনি একটি স্লটে available_options প্রকার যোগ করবেন।

available_options টাইপ তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. types নামে একটি নতুন ডিরেক্টরি তৈরি করুন:
mkdir custom/types
  1. types ডিরেক্টরিতে available_options.yaml নামে একটি নতুন ফাইল তৈরি করুন:
touch custom/types/available_options.yaml
  1. আপনার টেক্সট এডিটরে custom/types/available_options.yaml খুলুন।

প্রকারগুলিকে তথ্যের কী-মান জোড়া হিসাবে কনফিগার করা হয়, যেখানে কীটি প্রকারের নাম এবং মানগুলি সেই কীটির প্রতিশব্দ। আপনি যখন কীটি সংজ্ঞায়িত করেন, এটি স্বয়ংক্রিয়ভাবে একটি মান হিসাবে যুক্ত হয়। অ্যাকশন SDK-এর সাথে, আপনি entities হিসাবে কীগুলি এবং synonyms হিসাবে মানগুলি উপস্থাপন করেন।

ব্যবহারকারী বেছে নিতে পারেন এমন তিনটি বিকল্প যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. 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
  1. ফাইলটি সংরক্ষণ করুন।

আপনার অ্যাকশন এখন বুঝতে পারে যে available_options হল ড্রাগন, অনুবাদক, এবং কম্পাস, এবং কয়েকটি সংশ্লিষ্ট প্রতিশব্দও চিনতে পারে৷

স্লট ফিলিং কনফিগার করুন

এর পরে, আপনাকে Fortune দৃশ্যে স্লট ফিলিং কনফিগার করতে হবে। স্লট ফিলিং লজিক কনফিগার করতে, এই ধাপগুলি অনুসরণ করুন:

  1. আপনার টেক্সট এডিটরে custom/scenes/Fortune.yaml খুলুন।
  2. Fortune.yaml ফাইলে নিম্নলিখিত slots ডেটা যোগ করুন:

Fortune.yaml

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
  1. ফাইলটি সংরক্ষণ করুন।

আপনি এখন স্লটে available_options টাইপ যোগ করেছেন, যা এগিয়ে যাওয়ার আগে ব্যবহারকারীর (তাদের পছন্দের সাহায্য) থেকে আপনার সংগ্রহ করা তথ্য আপনার অ্যাকশনকে বলে। আপনি স্লটের মধ্যে একটি প্রম্পটও কনফিগার করেছেন, যা ব্যবহারকারী যখন দৃশ্যের স্লট ফিলিং পর্যায়ে পৌঁছে তখন প্রম্পট সারিতে যোগ করা হয়।

যখন আপনি স্লটের নাম chosenOptions , তখন writeSessionsParam ক্ষেত্রটি একই নামের ( $session.params.chosenOptions ) দিয়ে আপডেট করা হয়। আপনি প্রম্পটে এবং ক্লায়েন্ট লাইব্রেরির মাধ্যমে আপনার পরিপূর্ণতায় এই নামটি দিয়ে এই প্যারামিটারটি অ্যাক্সেস করতে পারেন।

শর্ত যোগ করুন

এখন যেহেতু আপনি একটি স্লট যোগ করেছেন যার জন্য ব্যবহারকারীর পছন্দের সাহায্য প্রয়োজন, আপনি একটি শর্ত যোগ করতে পারেন যাতে ব্যবহারকারী কথোপকথন চালিয়ে যাওয়ার আগে স্লট ডেটা প্রাপ্ত হয়েছে কিনা তা পরীক্ষা করতে পারেন৷

এই বিভাগে, আপনি শর্ত যোগ করুন scene.slots.status == "FINAL" সমস্ত স্লট পূরণ হয়ে গেলে, শর্তটি প্রম্পট সারিতে একটি প্রম্পট যোগ করে ( You picked $session.params.chosenOptions. )।

scene.slots.status == "FINAL" কন্ডিশন কনফিগার করতে, এই ধাপগুলি অনুসরণ করুন:

  1. আপনার টেক্সট এডিটরে custom/scenes/Fortune.yaml খুলুন।
  2. Fortune.yaml ফাইলের শীর্ষে conditionalEvents ডেটা যোগ করুন:

Fortune.yaml

conditionalEvents:
- condition: scene.slots.status == "FINAL"
  handler:
    staticPrompt:
      candidates:
      - promptResponse:
          firstSimple:
            variants:
            - speech: You picked $session.params.chosenOptions.
  1. ফাইলটি সংরক্ষণ করুন।

সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন

এই মুহুর্তে, আপনি সংজ্ঞায়িত করেছেন যে স্লটটি পূরণ করতে ব্যবহারকারীর কোন বিকল্পগুলি নির্বাচন করা উচিত। ব্যবহারকারীর কাছ থেকে এই তথ্য পাওয়ার পরে, আপনার অ্যাকশন তাদের বেছে নেওয়া নির্দিষ্ট বিকল্পের উল্লেখ করে একটি প্রম্পট প্রদান করা উচিত।

আপনার ক্রিয়া পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. টার্মিনালে, নিম্নলিখিত কমান্ডটি চালান:
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
  1. প্রদত্ত URL অনুলিপি করুন এবং একটি ব্রাউজারে পেস্ট করুন।
  2. ইনপুট ফিল্ডে Talk to my test app ক্লিক করুন বা টাইপ করুন এবং এন্টার টিপুন।
  3. ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং এন্টার টিপুন। বিকল্পভাবে, আপনি হ্যাঁ পরামর্শ চিপে ক্লিক করতে পারেন।

a899d45c542668f6.png

  1. dragon ক্লিক করুন, টাইপ করুন বা বলুন। আপনার প্রম্পট পাওয়া উচিত "আপনি ড্রাগন বাছাই করেছেন।"

পরবর্তী বিভাগে, আপনি ব্যবহারকারীর দ্বারা নির্বাচন করতে পারে এমন প্রতিটি সহায়তার জন্য প্রম্পটগুলি কাস্টমাইজ করুন৷

শর্ত ব্যবহার করে প্রম্পট কাস্টমাইজ করুন

এই বিভাগে, আপনি ব্যবহারকারী বেছে নিতে পারেন এমন প্রতিটি বিকল্পের জন্য শর্ত যোগ করুন এবং প্রতিটি শর্তের জন্য একটি কাস্টম প্রম্পট যোগ করুন।

dragon ভাগ্য কাস্টমাইজ করুন

শর্ত আপডেট করতে এবং ব্যবহারকারী যখন "ড্রাগন" বেছে নেয় তখন প্রম্পটটি কাস্টমাইজ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার টেক্সট এডিটরে custom/scenes/Fortune.yaml খুলুন।
  2. Fortune.yaml ফাইলে নিম্নলিখিত স্নিপেট দিয়ে conditionalEvents ডেটা প্রতিস্থাপন করুন:

Fortune.yaml

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.
  1. ফাইলটি সংরক্ষণ করুন।

এখন, যখন একজন ব্যবহারকারী "ড্রাগন" বা অনুরূপ শোনাচ্ছে এমন কিছু বলে, আপনার অ্যাকশন সেই নির্বাচনের উপর ভিত্তি করে একটি ভাগ্য প্রদান করে। এরপরে, আপনি বাকি দুটি নির্বাচন যোগ করবেন।

translator এবং compass ভাগ্য কাস্টমাইজ করুন

শর্ত যোগ করতে এবং ব্যবহারকারী যখন "অনুবাদক" বা "কম্পাস" বলে তখন প্রম্পটগুলি কাস্টমাইজ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. custom/scenes/Fortune.yaml ফাইলে, dragon অবস্থার অধীনে অন্য দুটি শর্ত যোগ করুন:

Fortune.yaml

- 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.
  1. ফাইলটি সংরক্ষণ করুন।

সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন

এই মুহুর্তে, আপনার অ্যাকশন ব্যবহারকারীর জন্য তাদের বেছে নেওয়া বিকল্পের উপর ভিত্তি করে একটি কাস্টমাইজড ভাগ্য প্রদান করবে।

আপনার ক্রিয়া পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. টার্মিনালে, নিম্নলিখিত কমান্ডটি চালান:
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
  1. প্রদত্ত URL অনুলিপি করুন এবং একটি ব্রাউজারে পেস্ট করুন।
  2. ইনপুট ফিল্ডে Talk to my test app টাইপ করুন এবং এন্টার টিপুন।
  3. ইনপুট ক্ষেত্রে হ্যাঁ টাইপ করুন এবং এন্টার টিপুন। বিকল্পভাবে, হ্যাঁ পরামর্শ চিপে ক্লিক করুন।
  4. ক্লিক করুন, টাইপ করুন বা Translator বলুন।

29e17f950bd0dd71.png

আপনার "অনুবাদক" বিকল্পের জন্য উপযুক্ত ভাগ্য পাওয়া উচিত।

3. গেম লুপ যোগ করুন

এই বিভাগে, আপনি আপনার অ্যাকশন কনফিগার করেন যাতে ব্যবহারকারী অন্য একটি বিকল্প নির্বাচন করতে পারে এবং একটি নির্বাচন করার পরে একটি ভিন্ন ভাগ্য শুনতে পারে। এই পরিবর্তনটি "আপনি কি আবার খেলতে চান?" একটি খেলা শেষে বার্তা. এই লুপটি তৈরি করতে, আপনি পূর্বে তৈরি করা yes এবং no ইন্টেন্টগুলি পুনরায় ব্যবহার করতে পারেন এবং সেগুলিকে Again নামক একটি নতুন দৃশ্যে যুক্ত করতে পারেন।

Again দৃশ্য তৈরি করুন

এই বিভাগে, আপনি একটি নতুন Again দৃশ্য তৈরি করুন এবং একটি প্রম্পট যোগ করুন যা ব্যবহারকারীকে জিজ্ঞাসা করে যে তারা একটি ভিন্ন বিকল্প নির্বাচন করতে চান কিনা।

Again দৃশ্য তৈরি এবং কনফিগার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. scenes ডিরেক্টরিতে Again.yaml নামে একটি নতুন ফাইল তৈরি করুন:
touch custom/scenes/Again.yaml
  1. আপনার টেক্সট এডিটরে custom/scenes/Again.yaml খুলুন।
  2. 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"
  1. ফাইলটি সংরক্ষণ করুন।

Fortune থেকে Again দৃশ্যে রূপান্তর যোগ করুন

ব্যবহারকারী তাদের ভাগ্য প্রাপ্তির পরে, কথোপকথনটিকে নতুন Again দৃশ্যে স্থানান্তর করতে হবে।

Fortune দৃশ্য থেকে Again দৃশ্যে একটি রূপান্তর যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার টেক্সট এডিটরে custom/scenes/Fortune.yaml খুলুন।
  2. transitionToScene: Again , নিম্নলিখিত স্নিপেটে দেখানো হয়েছে:

Fortune.yaml

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
  1. ফাইলটি সংরক্ষণ করুন।

সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন

এই মুহুর্তে, ব্যবহারকারীরা তাদের ভাগ্য পাওয়ার পরে আপনার অ্যাকশন তাদের নিম্নলিখিত প্রম্পট প্রদান করবে: "আমি আপনার জন্য এটিই দেখতে পাচ্ছি। আপনি কি একটি ভিন্ন বিকল্প বেছে নিতে এবং অন্য ভবিষ্যত অন্বেষণ করতে চান?"

আপনার ক্রিয়া পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. টার্মিনালে, নিম্নলিখিত কমান্ডটি চালান:
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
  1. প্রদত্ত URL অনুলিপি করুন এবং একটি ব্রাউজারে পেস্ট করুন।
  2. ইনপুট ফিল্ডে Talk to my test app টাইপ করুন এবং এন্টার টিপুন।
  3. ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং এন্টার টিপুন। বিকল্পভাবে, হ্যাঁ পরামর্শ চিপে ক্লিক করুন।
  4. dragon ক্লিক করুন, টাইপ করুন বা বলুন।

b299e9fed9aedb69.png

ড্রাগন বিকল্প এবং Again প্রম্পটের জন্য আপনার ভাগ্য পাওয়া উচিত।

ইন্টেন্ট যোগ করুন এবং Again দৃশ্যে রূপান্তর করুন

এই বিভাগে, আপনি Again দৃশ্যে yes এবং no ইন্টেন্ট যোগ করেন যাতে আপনার অ্যাকশন বুঝতে পারে যে ব্যবহারকারী একটি নতুন বিকল্প বেছে নিতে চান কি না। আপনি yes এবং no ইন্টেন্টের জন্য উপযুক্ত রূপান্তর যোগ করুন। yes অভিপ্রায় Fortune দৃশ্যে স্থানান্তরিত হয়, যখন সিস্টেম দৃশ্যে কোনো অভিপ্রায় রূপান্তরিত হয় no End conversation

Again দৃশ্যে অভিপ্রায় এবং রূপান্তর যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার টেক্সট এডিটরে custom/scenes/Again.yaml খুলুন।
  2. OnEnter এর উপরে Again.yaml ফাইলের উপরে 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
  1. ফাইলটি সংরক্ষণ করুন।

সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন

ব্যবহারকারী একটি নতুন বিকল্প বেছে নিতে বা কথোপকথন শেষ করতে চান কিনা তা আপনার অ্যাকশন এখন বুঝতে হবে।

yes অভিপ্রায় পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. টার্মিনালে, নিম্নলিখিত কমান্ডটি চালান:
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
  1. প্রদত্ত URL অনুলিপি করুন এবং একটি ব্রাউজারে পেস্ট করুন।
  2. ইনপুট ফিল্ডে Talk to my test app টাইপ করুন এবং এন্টার টিপুন।
  3. ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং এন্টার টিপুন। বিকল্পভাবে, হ্যাঁ পরামর্শ চিপে ক্লিক করুন।
  4. বিকল্পগুলির একটিতে ক্লিক করুন, টাইপ করুন বা বলুন।
  5. ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং এন্টার টিপুন।

5d0690332efe2e29.png

আপনি প্রম্পট পাবেন, "আপনি আপনার অনুসন্ধান, একটি ড্রাগন, একটি অনুবাদক, বা একটি কম্পাসে আপনাকে সাহায্য করার জন্য কি বেছে নেবেন?"

no উদ্দেশ্য পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. বিকল্পগুলির একটিতে ক্লিক করুন, টাইপ করুন বা বলুন।
  2. ইনপুট ক্ষেত্রে No টাইপ করুন এবং এন্টার টিপুন।

আপনার End conversation প্রম্পট পাওয়া উচিত: "এটা আমাকে খুশি করে যে আপনি আপনার পছন্দের সাথে সন্তুষ্ট। আপনার অনুসন্ধানের জন্য শুভকামনা। বিদায়।"

4. একটি সহায়ক পথ যোগ করুন

আপনি এখন মূল পথ তৈরি করেছেন যা বেশিরভাগ ব্যবহারকারীরা আপনার অ্যাকশনে নেয়। যাইহোক, ব্যবহারকারী Fortune দৃশ্য থেকে প্রম্পটের প্রতিক্রিয়া জানাতে পারে, " আপনার অনুসন্ধানে আপনাকে সাহায্য করার জন্য আপনি কী বেছে নেবেন, একটি ড্রাগন, একটি অনুবাদক বা একটি কম্পাস?", এমন একটি পছন্দ সহ যা প্রদত্ত বিকল্পগুলির মধ্যে একটি নয়৷

এই বিভাগে, একজন ব্যবহারকারী কখন "জাদু" , "টাকা" , "ঘোড়া" বা "ফোন" বলে তা বোঝার জন্য আপনি আপনার অ্যাকশন কনফিগার করেন এবং ব্যবহারকারীকে মূল তিনটি পছন্দের মধ্যে যেকোন একটি বেছে নেওয়ার জন্য পুনরায় অনুরোধ জানান। এই বিকল্পগুলির মধ্যে একটি। এই যুক্তিটি কনফিগার করার জন্য, আপনাকে একটি নতুন type তৈরি করতে হবে যাতে এই অন্যান্য পছন্দগুলি এবং একটি নতুন অভিপ্রায় রয়েছে, other_option , যেটি মেলে যখন কোনও ব্যবহারকারী এই বিকল্পগুলির মধ্যে একটি বলে। অভিপ্রায় পরামিতিগুলি সনাক্ত করতে এবং বের করতে আপনাকে other_option অভিপ্রায়ের মধ্যে প্রশিক্ষণ বাক্যাংশগুলিকে টীকা করতে হবে।

যখন সহকারীর প্রাকৃতিক ভাষা প্রক্রিয়াকরণ ইঞ্জিন ব্যবহারকারীর ইনপুটে একটি প্যারামিটার মিল সনাক্ত করে, তখন এটি একটি টাইপ করা প্যারামিটার হিসাবে মানটি বের করে যাতে আপনি একটি দৃশ্যে এটির সাথে যুক্তি চালাতে পারেন। এই কোডল্যাবে, আপনি আপনার অ্যাকশন কনফিগার করেন যাতে ব্যবহারকারীর পছন্দের সাহায্য বের করে এবং একটি প্রম্পটে সেই পছন্দটি উল্লেখ করে।

unavailable_options প্রকার তৈরি করুন

আপনি এখন একটি unavailable_options টাইপ তৈরি করতে পারেন যাতে বিভিন্ন বিকল্প রয়েছে যাতে আপনার অ্যাকশন ব্যবহারকারীর ইনপুটে সেই ডেটা সনাক্ত করতে পারে।

unavailable_options টাইপ তৈরি করতে, এই ধাপগুলি অনুসরণ করুন:

  1. types ডিরেক্টরিতে unavailable_options.yaml নামে একটি নতুন ফাইল তৈরি করুন:
touch custom/types/unavailable_options.yaml
  1. আপনার টেক্সট এডিটরে custom/types/unavailable_options.yaml খুলুন।
  2. unavailable_options.yaml ফাইলে নিম্নলিখিত synonyms ডেটা যোগ করুন:

unavailable_options.yaml

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
  1. ফাইলটি সংরক্ষণ করুন।

other_option অভিপ্রায় তৈরি করুন

এরপরে, আপনি other_option নামে একটি অভিপ্রায় তৈরি করুন এবং প্রশিক্ষণের বাক্যাংশ যোগ করুন যা unavailable_options প্রকারের বিকল্পগুলিকে অন্তর্ভুক্ত করে। ব্যবহারকারী যখন unavailable_options প্রকারের মধ্যে থাকা একটি পছন্দ নির্বাচন করেন তখন এই অভিপ্রায়টি মিলে যায়।

other_option অভিপ্রায় তৈরি এবং কনফিগার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. intents ডিরেক্টরিতে other_option.yaml নামে একটি নতুন ফাইল তৈরি করুন:
touch custom/intents/other_option.yaml
  1. আপনার টেক্সট এডিটরে custom/intents/other_option.yaml খুলুন।
  2. other_option.yaml ফাইলে নিম্নলিখিত parameters ডেটা এবং trainingPhrases ডেটা যোগ করুন:

other_option.yaml

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 , আপনাকে বিকল্পটির নাম বের করতে এবং একটি প্রম্পটে সেই বিকল্পটি ব্যবহার করতে দেয়, যা আপনি নিম্নলিখিত বিভাগে করবেন।

  1. ফাইলটি সংরক্ষণ করুন।

Fortune দৃশ্যে other_option অভিপ্রায় যোগ করুন

আপনার কাছে এখন একটি অভিপ্রায় রয়েছে, other_option , যা একটি ব্যবহারকারীকে এমন একটি বিকল্প নির্দিষ্ট করে পরিচালনা করতে পারে যা আসল বিকল্পগুলির মধ্যে একটি নয়। এই বিভাগে, আপনি Fortune দৃশ্যে other_option অভিপ্রায় যোগ করুন। আপনি ব্যবহারকারীর ইনপুট উপর ভিত্তি করে প্রম্পট কাস্টমাইজ করতে অভিপ্রায় প্যারামিটার ব্যবহার করুন.

Fortune দৃশ্যে other_option অভিপ্রায় যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার টেক্সট এডিটরে custom/scenes/Fortune.yaml খুলুন।
  2. conditionalEvents ডেটা এবং slots ডেটার মধ্যে নিম্নলিখিত intentEvents ডেটা যোগ করুন:

Fortune.yaml

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
  1. ফাইলটি সংরক্ষণ করুন।

অভিব্যক্তি $intent.params.chosenUnavailableOption উদ্দেশ্য প্যারামিটার বস্তুকে নির্দেশ করে এবং $intent.params.chosenUnavailableOption.original সেই বস্তুর মানকে নির্দেশ করে। original সম্পত্তি ব্যবহারকারীর নির্দিষ্ট করা কাঁচা ইনপুটকে বোঝায়।

যখন একজন ব্যবহারকারী Fortune দৃশ্যের সময় unavailable_options প্রকারে তালিকাভুক্ত একটি বিকল্প বলে, তখন other_option অভিপ্রায় মিলে যায় এবং প্রম্পট সারিতে একটি প্রম্পট যোগ করে। যেহেতু কোনো স্থানান্তর নির্দিষ্ট করা নেই, তাই পরিস্থিতি পর্যায়ে পুনঃমূল্যায়ন করে দৃশ্য সম্পাদন লুপ চলতে থাকে। chosenOptions স্লট তারপর প্রম্পট সারিতে তার প্রম্পট যোগ করে এবং প্রম্পট সারি ব্যবহারকারীর কাছে পৌঁছে দেওয়া হয়।

সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন

আপনার অ্যাকশন এখন যথাযথভাবে প্রতিক্রিয়া জানাতে হবে যখন একজন ব্যবহারকারী unavailable_options প্রকারে তালিকাভুক্ত বিকল্পগুলির মধ্যে একটি নির্বাচন করে এবং ব্যবহারকারীকে কোন সাহায্য বেছে নেওয়া হয়েছে তা নির্দিষ্ট করে। আপনার অ্যাকশনটি ব্যবহারকারীকে আসল পছন্দগুলির মধ্যে একটি (একটি ড্রাগন, অনুবাদক, বা কম্পাস) বেছে নেওয়ার জন্য পুনরায় অনুরোধ করবে৷

সিমুলেটরে আপনার ক্রিয়া পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. টার্মিনালে, নিম্নলিখিত কমান্ডটি চালান:
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
  1. প্রদত্ত URL অনুলিপি করুন এবং একটি ব্রাউজারে পেস্ট করুন।
  2. ইনপুট ফিল্ডে Talk to my test app টাইপ করুন এবং এন্টার টিপুন।
  3. ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং এন্টার টিপুন। বিকল্পভাবে, হ্যাঁ পরামর্শ চিপে ক্লিক করুন।
  4. ইনপুট ফিল্ডে magic টাইপ করুন এবং এন্টার টিপুন।

3a42c33eca435f32.png

আপনি লক্ষ্য করতে পারেন যে ব্যবহারকারী যখন "একটি" নিবন্ধের আগে "জাদু" বেছে নেয় তখন প্রম্পটটি সঠিক শোনায় না। আপনি নিম্নলিখিত বিভাগে এই সমস্যাটি সমাধান করুন।

unavailable_options হ্যান্ডলার যোগ করুন

unavailable_options টাইপ থেকে উপযুক্ত পছন্দের আগে "a" নিবন্ধটি স্থাপন করতে, আপনি আপনার পরিপূর্ণতা যুক্তিতে একটি ইভেন্ট হ্যান্ডলার কনফিগার করতে পারেন যে ব্যবহারকারীর পছন্দের বিকল্পটির আগে একটি "a" প্রয়োজন কিনা তা পরীক্ষা করতে। প্রথমত, Fortune দৃশ্য থেকে হ্যান্ডলারকে কল করার জন্য আপনাকে আপনার অ্যাকশন কনফিগার করতে হবে।

Fortune দৃশ্যে unavailable_options হ্যান্ডলার যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার টেক্সট এডিটরে custom/scenes/Fortune.yaml খুলুন।
  2. নিম্নলিখিত intentEvents ডেটা সহ Fortune.yaml ফাইল আপডেট করুন:

Fortune.yaml

intentEvents:
- handler:
    webhookHandler: unavailable_options
  intent: other_option
  1. ফাইলটি সংরক্ষণ করুন।

পরিপূর্ণতা আপডেট করুন এবং স্থাপন করুন

এখন আপনি unavailable_options ইভেন্ট হ্যান্ডলারকে কল করার জন্য আপনার অ্যাকশনটি কনফিগার করেছেন, আপনি আপনার পরিপূর্ণতায় হ্যান্ডলারটিকে আপডেট করতে এবং এটি স্থাপন করতে পারেন।

আপনার পূর্ণতা আপডেট করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার টেক্সট এডিটরে webhooks/ActionsOnGoogleFulfillment/index.js খুলুন।
  2. greeting হ্যান্ডলারের অধীনে index.js এ নিম্নলিখিত কোড যোগ করুন:

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);
});
  1. const app = conversation({debug:true}); :

index.js

const optionsNeedA = new Set();
optionsNeedA.add('horse').add('phone');
  1. ফাইলটি সংরক্ষণ করুন।

কোড বুঝুন

unavailable_options হ্যান্ডলার নিম্নলিখিত কাজ করে:

  • conv অবজেক্ট থেকে option ডেটা পায় এবং original সম্পত্তিতে option বরাদ্দ করে, যা ব্যবহারকারীর কাছ থেকে কাঁচা ইনপুট
  • resolved সম্পত্তিতে optionKey বরাদ্দ করে, যা unavailable_options প্রকারের কী
  • optionKey একটি "a" প্রয়োজন এমন বিকল্পগুলির মধ্যে একটি কিনা তা পরীক্ষা করে; যদি এটি হয়, একটি যোগ করা "a" দিয়ে বার্তাটি তৈরি করে
  • conv.add(message) এর মাধ্যমে বার্তা যোগ করে

হ্যান্ডলার আপডেট করুন

অ্যাকশনটিকে unavailable_options ব্যবহার করার অনুমতি দিতে, webhooks/ActionsOnGoogleFulfillment.yamlunavailable_options হ্যান্ডলার যোগ করুন।

  1. ActionsOnGoogleFulfillment.yamlunavailable_options হ্যান্ডলারের নাম যোগ করুন :

ActionsOnGoogleFulfillment.yaml

handlers:
- name: greeting
- name: unavailable_options
inlineCloudFunction:
  executeFunction: ActionsOnGoogleFulfillment
  1. ফাইলটি সংরক্ষণ করুন।

সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন

আপনার অ্যাকশনের এখন প্রম্পট সামঞ্জস্য করা উচিত unavailable_options প্রকার থেকে ব্যবহারকারীর পছন্দের আগে একটি "a" নিবন্ধ প্রয়োজন কিনা তার উপর ভিত্তি করে।

আপনার ক্রিয়া পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. টার্মিনালে, নিম্নলিখিত কমান্ডটি চালান:
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
  1. প্রদত্ত URL অনুলিপি করুন এবং একটি ব্রাউজারে পেস্ট করুন।
  2. ইনপুট ফিল্ডে Talk to my test app ক্লিক করুন বা টাইপ করুন এবং এন্টার টিপুন।
  3. ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং এন্টার টিপুন। বিকল্পভাবে, হ্যাঁ পরামর্শ চিপে ক্লিক করুন।
  4. ইনপুট ফিল্ডে magic টাইপ করুন এবং এন্টার টিপুন। তারপর, ইনপুট ক্ষেত্রে horse টাইপ করুন এবং এন্টার টিপুন।

54ee24c5c3c56e.png

"জাদু" পছন্দের জন্য "a" নিবন্ধ ছাড়াই প্রম্পট তৈরি করার সময় আপনার অ্যাকশনে "ঘোড়া" পছন্দের আগে "a" নিবন্ধ যোগ করা উচিত।

5. অ্যাকশন কনসোলে অ্যাকশনকে ভিজ্যুয়ালাইজ করুন

অ্যাকশন SDK-এর একটি ওয়েব-ভিত্তিক IDE-এর সাথে আন্তঃঅপারেবিলিটি রয়েছে যাকে বলা হয় অ্যাকশন বিল্ডার যা অ্যাকশন কনসোলে একত্রিত করা হয়েছে। আপনি gactions push কমান্ডের সাহায্যে কনসোলে আপনার স্থানীয় ফাইল সিস্টেমকে আপনার অ্যাকশনের খসড়াতে পুশ করতে পারেন। অ্যাকশন কনসোল আপনার অ্যাকশন কনফিগারেশনের একটি ভিজ্যুয়াল উপস্থাপনা প্রদান করে। আপনার অ্যাকশনকে দৃশ্যমানভাবে ম্যাপ করা দেখা বিকাশের সময় উপযোগী হতে পারে এবং আপনার অ্যাকশনের সংস্করণকে প্রভাবিত করে না যা পরীক্ষার জন্য পরিবেশিত হয়।

আপনার অ্যাকশন প্রকল্পটি পুশ করতে এবং এটিকে অ্যাকশন কনসোলে দেখতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. টার্মিনালে, আপনার প্রোজেক্টকে অ্যাকশন কনসোলে পুশ করতে নিম্নলিখিত কমান্ডটি চালান:
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.
  1. প্রদত্ত URL অনুলিপি করুন এবং একটি ব্রাউজারে পেস্ট করুন।
  2. অ্যাকশন কনসোলে , উপরের নেভিগেশন বারে বিকাশে ক্লিক করুন।
  3. দৃশ্যের পাশের ড্রপ-ডাউন তীরটিতে ক্লিক করুন এবং শুরুতে ক্লিক করুন। আপনি আপনার অ্যাকশনের Start দৃশ্যের একটি ভিজ্যুয়াল উপস্থাপনা দেখতে পাবেন, যেমনটি নিম্নলিখিত স্ক্রিনশটে দেখানো হয়েছে:

cae526c647f8d40f.png

আপনার প্রকল্প পরিষ্কার করুন [প্রস্তাবিত]

সম্ভাব্য চার্জ এড়াতে, আপনি যে প্রকল্পগুলি ব্যবহার করতে চান না সেগুলি সরিয়ে ফেলার সুপারিশ করা হয়৷ এই কোডল্যাবে আপনার তৈরি করা প্রকল্পগুলি মুছতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. ক্লাউড প্রকল্প এবং সংস্থানগুলি মুছতে, প্রকল্পগুলি বন্ধ করা (মুছে ফেলা) বিভাগে তালিকাভুক্ত পদক্ষেপগুলি সম্পূর্ণ করুন৷
  1. ঐচ্ছিক: অবিলম্বে অ্যাকশন কনসোল থেকে আপনার প্রকল্পটি সরাতে, একটি প্রকল্প মুছুন বিভাগে তালিকাভুক্ত পদক্ষেপগুলি সম্পূর্ণ করুন। আপনি এই ধাপটি সম্পূর্ণ না করলে, আপনার প্রকল্পটি প্রায় 30 দিন পরে স্বয়ংক্রিয়ভাবে সরানো হবে।

6. অভিনন্দন!

আপনি এখন অ্যাকশন SDK-এর সাথে Google অ্যাসিস্ট্যান্টের জন্য অ্যাকশন তৈরি করার জন্য প্রয়োজনীয় মধ্যবর্তী দক্ষতা জানেন।

আপনি কি আচ্ছাদিত

  • Node.js পরিপূর্ণতা লাইব্রেরি ব্যবহার করে কথোপকথনমূলক অ্যাকশনগুলি কীভাবে বিকাশ করবেন
  • ব্যবহারকারীর কাছ থেকে ডেটা সংগ্রহ করতে স্লটগুলি কীভাবে ব্যবহার করবেন
  • দৃশ্যে যুক্তি যোগ করতে শর্তগুলি কীভাবে ব্যবহার করবেন
  • কিভাবে একটি গেম লুপ যোগ করতে হয়
  • একটি সহায়ক পথ যোগ কিভাবে

আরও জানুন

Google অ্যাসিস্ট্যান্টের জন্য অ্যাকশন তৈরি করা সম্পর্কে শেখার জন্য আপনি এই সংস্থানগুলি অন্বেষণ করতে পারেন:

আমাদের লেটেস্ট ঘোষণার সাথে যুক্ত থাকতে Twitter @ActionsOnGoogle- এ আমাদের অনুসরণ করুন এবং আপনি যা তৈরি করেছেন তা শেয়ার করতে #AoGDevs- এ টুইট করুন!

প্রতিক্রিয়া সমীক্ষা

আপনি যাওয়ার আগে, আপনার অভিজ্ঞতা সম্পর্কে একটি সংক্ষিপ্ত জরিপ পূরণ করুন.