এই পৃষ্ঠায় Pub/Sub ব্যবহার করে কীভাবে একটি চ্যাট অ্যাপ তৈরি করবেন তা ব্যাখ্যা করা হয়েছে। আপনার প্রতিষ্ঠানের যদি ফায়ারওয়াল থাকে, যা চ্যাটকে আপনার চ্যাট অ্যাপে বার্তা পাঠানো থেকে বিরত রাখতে পারে, অথবা যদি চ্যাট অ্যাপটি Google Workspace Events API ব্যবহার করে, তাহলে চ্যাট অ্যাপের জন্য এই ধরণের আর্কিটেকচার কার্যকর। তবে, এই আর্কিটেকচারের নিম্নলিখিত সীমাবদ্ধতা রয়েছে কারণ এই চ্যাট অ্যাপগুলি কেবল অ্যাসিঙ্ক্রোনাস বার্তা পাঠাতে এবং গ্রহণ করতে পারে:
- বার্তাগুলিতে ডায়ালগ ব্যবহার করা যাবে না। পরিবর্তে, একটি কার্ড বার্তা ব্যবহার করুন।
- সিঙ্ক্রোনাস রেসপন্স সহ পৃথক কার্ড আপডেট করা যাচ্ছে না। পরিবর্তে,
patchপদ্ধতিতে কল করে সম্পূর্ণ বার্তাটি আপডেট করুন।
নিচের চিত্রটি Pub/Sub দিয়ে তৈরি একটি Chat অ্যাপের আর্কিটেকচার দেখায়:
পূর্ববর্তী চিত্রে, একজন ব্যবহারকারী একটি Pub/Sub Chat অ্যাপের সাথে ইন্টারঅ্যাক্ট করছেন, তার তথ্যের প্রবাহ নিম্নরূপ:
একজন ব্যবহারকারী চ্যাট অ্যাপে একটি বার্তা পাঠান, হয় সরাসরি বার্তায় অথবা চ্যাট স্পেসে, অথবা এমন একটি ঘটনা ঘটে যেখানে চ্যাট অ্যাপটির সক্রিয় সদস্যতা রয়েছে।
চ্যাট একটি পাব/সাব টপিকে বার্তা পাঠায়।
একটি অ্যাপ্লিকেশন সার্ভার, যা হয় ক্লাউড অথবা অন-প্রেমিসেস সিস্টেম যেখানে চ্যাট অ্যাপ লজিক থাকে, ফায়ারওয়ালের মাধ্যমে বার্তা গ্রহণের জন্য পাব/সাব টপিকে সাবস্ক্রাইব করে।
ঐচ্ছিকভাবে, চ্যাট অ্যাপটি অ্যাসিঙ্ক্রোনাসভাবে বার্তা পোস্ট করতে বা অন্যান্য ক্রিয়াকলাপ সম্পাদন করতে চ্যাট API কল করতে পারে।
পূর্বশর্ত
যখন আপনি আপনার চ্যাট অ্যাপ তৈরি করবেন তখন আপনাকে Google Cloud console-এর Chat API কনফিগারেশন পৃষ্ঠায় "Build this Chat app as a Google Workspace add-on" সাফ করতে হবে। "Google Chat-এ অ্যাপটি প্রকাশ করুন" দেখুন।
জাভা
- Google Chat অ্যাক্সেস সহ একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট।
- বিলিং সক্ষম করা একটি গুগল ক্লাউড প্রকল্প। বিদ্যমান কোনও প্রকল্পে বিলিং সক্ষম করা আছে কিনা তা পরীক্ষা করতে, আপনার প্রকল্পগুলির বিলিং স্থিতি যাচাই করুন দেখুন। একটি প্রকল্প তৈরি করতে এবং বিলিং সেট আপ করতে, একটি গুগল ক্লাউড প্রকল্প তৈরি করুন দেখুন।
- জাভা ১১ বা তার বেশি
- ম্যাভেন প্যাকেজ ম্যানেজমেন্ট টুল
পাইথন
- Google Chat অ্যাক্সেস সহ একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট।
- বিলিং সক্ষম করা একটি গুগল ক্লাউড প্রকল্প। বিদ্যমান কোনও প্রকল্পে বিলিং সক্ষম করা আছে কিনা তা পরীক্ষা করতে, আপনার প্রকল্পগুলির বিলিং স্থিতি যাচাই করুন দেখুন। একটি প্রকল্প তৈরি করতে এবং বিলিং সেট আপ করতে, একটি গুগল ক্লাউড প্রকল্প তৈরি করুন দেখুন।
- পাইথন ৩.৬ বা তার বেশি
- পিপ প্যাকেজ ম্যানেজমেন্ট টুল
নোড.জেএস
- Google Chat অ্যাক্সেস সহ একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট।
- বিলিং সক্ষম করা একটি গুগল ক্লাউড প্রকল্প। বিদ্যমান কোনও প্রকল্পে বিলিং সক্ষম করা আছে কিনা তা পরীক্ষা করতে, আপনার প্রকল্পগুলির বিলিং স্থিতি যাচাই করুন দেখুন। একটি প্রকল্প তৈরি করতে এবং বিলিং সেট আপ করতে, একটি গুগল ক্লাউড প্রকল্প তৈরি করুন দেখুন।
- Node.js ১৪ বা তার বেশি
- npm প্যাকেজ ম্যানেজমেন্ট টুল
- একটি ইনিশিয়ালাইজড Node.js প্রজেক্ট। একটি নতুন প্রজেক্ট ইনিশিয়ালাইজ করতে, একটি নতুন ফোল্ডার তৈরি করুন এবং স্যুইচ করুন, তারপর আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:
npm init
পরিবেশ ঠিক করুন
গুগল এপিআই ব্যবহার করার আগে, আপনাকে গুগল ক্লাউড প্রোজেক্টে সেগুলি চালু করতে হবে। আপনি একটি গুগল ক্লাউড প্রোজেক্টে এক বা একাধিক এপিআই চালু করতে পারেন।গুগল ক্লাউড কনসোলে, গুগল চ্যাট এপিআই এবং পাব/সাব এপিআই সক্ষম করুন।
পাব/সাব সেট আপ করুন
এমন একটি পাব/সাব টপিক তৈরি করুন যেখানে চ্যাট এপিআই বার্তা পাঠাতে পারে। আমরা আপনাকে প্রতিটি চ্যাট অ্যাপের জন্য একটি মাত্র টপিক ব্যবহার করার পরামর্শ দিচ্ছি।
নিম্নলিখিত পরিষেবা অ্যাকাউন্টে পাব/সাব প্রকাশকের ভূমিকা অর্পণ করে চ্যাটকে বিষয় প্রকাশের অনুমতি দিন :
chat-api-push@system.gserviceaccount.comচ্যাট অ্যাপের জন্য একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন যাতে পাব/সাব এবং চ্যাটের মাধ্যমে অনুমোদন পাওয়া যায় এবং প্রাইভেট কী ফাইলটি আপনার কার্যকরী ডিরেক্টরিতে সংরক্ষণ করুন।
বিষয়টির জন্য একটি পুল সাবস্ক্রিপশন তৈরি করুন ।
আপনার পূর্বে তৈরি করা পরিষেবা অ্যাকাউন্টের সাবস্ক্রিপশনে পাব/সাব সাবস্ক্রাইবার ভূমিকা নির্ধারণ করুন ।
স্ক্রিপ্ট লিখুন।
জাভা
একটি CLI-তে, পরিষেবা অ্যাকাউন্টের শংসাপত্র প্রদান করুন :
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATHএকটি CLI-তে, Google Cloud Project ID প্রদান করুন:
export PROJECT_ID=PROJECT_IDএকটি CLI-তে, আপনার পূর্বে তৈরি করা Pub/Sub সাবস্ক্রিপশনের সাবস্ক্রিপশন আইডি প্রদান করুন:
export SUBSCRIPTION_ID=SUBSCRIPTION_IDআপনার ওয়ার্কিং ডিরেক্টরিতে,
pom.xmlনামে একটি ফাইল তৈরি করুন।pom.xmlফাইলে, নিম্নলিখিত কোডটি পেস্ট করুন:আপনার কার্যকরী ডিরেক্টরিতে,
src/main/javaডিরেক্টরি কাঠামো তৈরি করুন।src/main/javaডিরেক্টরিতে,Main.javaনামে একটি ফাইল তৈরি করুন।Main.javaতে, নিম্নলিখিত কোডটি পেস্ট করুন:
পাইথন
একটি CLI-তে, পরিষেবা অ্যাকাউন্টের শংসাপত্র প্রদান করুন :
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATHএকটি CLI-তে, Google Cloud Project ID প্রদান করুন:
export PROJECT_ID=PROJECT_IDএকটি CLI-তে, আপনার পূর্বে তৈরি করা Pub/Sub সাবস্ক্রিপশনের সাবস্ক্রিপশন আইডি প্রদান করুন:
export SUBSCRIPTION_ID=SUBSCRIPTION_IDআপনার কার্যকরী ডিরেক্টরিতে,
requirements.txtনামে একটি ফাইল তৈরি করুন।requirements.txtফাইলে, নিম্নলিখিত কোডটি পেস্ট করুন:আপনার ওয়ার্কিং ডিরেক্টরিতে,
app.pyনামে একটি ফাইল তৈরি করুন।app.pyতে, নিম্নলিখিত কোডটি পেস্ট করুন:
নোড.জেএস
একটি CLI-তে, পরিষেবা অ্যাকাউন্টের শংসাপত্র প্রদান করুন :
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATHএকটি CLI-তে, Google Cloud Project ID প্রদান করুন:
export PROJECT_ID=PROJECT_IDএকটি CLI-তে, আপনার পূর্বে তৈরি করা Pub/Sub সাবস্ক্রিপশনের সাবস্ক্রিপশন আইডি প্রদান করুন:
export SUBSCRIPTION_ID=SUBSCRIPTION_IDআপনার কার্যকরী ডিরেক্টরিতে,
package.jsonনামে একটি ফাইল তৈরি করুন।package.jsonফাইলে, নিম্নলিখিত কোডটি পেস্ট করুন:আপনার ওয়ার্কিং ডিরেক্টরিতে,
index.jsনামে একটি ফাইল তৈরি করুন।index.jsএ, নিম্নলিখিত কোডটি পেস্ট করুন:
অ্যাপটি চ্যাটে প্রকাশ করুন
গুগল ক্লাউড কনসোলে, মেনু > API এবং পরিষেবা > সক্ষম API এবং পরিষেবা > গুগল চ্যাট API > কনফিগারেশন এ যান।
পাব/সাবের জন্য চ্যাট অ্যাপটি কনফিগার করুন:
- "এই চ্যাট অ্যাপটিকে Google Workspace অ্যাড-অন হিসেবে তৈরি করুন" সাফ করুন। একটি ডায়ালগ খুলবে যেখানে আপনাকে নিশ্চিত করতে বলা হবে। ডায়ালগে, "অক্ষম করুন" এ ক্লিক করুন।
- অ্যাপের নামে ,
Quickstart Appলিখুন। - Avatar URL- এ,
https://developers.google.com/chat/images/quickstart-app-avatar.pngলিখুন। - বর্ণনা বিভাগে ,
Quickstart appলিখুন। - কার্যকারিতার অধীনে, Join spaces and group conversations নির্বাচন করুন।
- সংযোগ সেটিংসের অধীনে, ক্লাউড পাব/সাব নির্বাচন করুন এবং আপনার পূর্বে তৈরি করা পাব/সাব বিষয়ের নামটি পেস্ট করুন।
- দৃশ্যমানতার অধীনে, আপনার ডোমেনের নির্দিষ্ট ব্যক্তি এবং গোষ্ঠীর জন্য এই Google Chat অ্যাপটি উপলব্ধ করুন নির্বাচন করুন এবং আপনার ইমেল ঠিকানা লিখুন।
- লগস এর অধীনে, লগ ত্রুটি থেকে লগিং নির্বাচন করুন।
সংরক্ষণ করুন ক্লিক করুন।
অ্যাপটি চ্যাটে বার্তা গ্রহণ এবং উত্তর দেওয়ার জন্য প্রস্তুত।
স্ক্রিপ্টটি চালান
একটি CLI-তে, আপনার ওয়ার্কিং ডিরেক্টরিতে যান এবং স্ক্রিপ্টটি চালান:
জাভা
mvn compile exec:java -Dexec.mainClass=Main
পাইথন
python -m venv env
source env/bin/activate
pip install -r requirements.txt -U
python app.py
নোড.জেএস
npm install
npm start
যখন আপনি কোডটি চালান, তখন অ্যাপ্লিকেশনটি পাব/সাব টপিকে প্রকাশিত বার্তাগুলি শুনতে শুরু করে।
আপনার চ্যাট অ্যাপটি পরীক্ষা করুন
আপনার চ্যাট অ্যাপটি পরীক্ষা করতে, চ্যাট অ্যাপের মাধ্যমে একটি সরাসরি বার্তা স্থান খুলুন এবং একটি বার্তা পাঠান:
বিশ্বস্ত পরীক্ষক হিসেবে নিজেকে যোগ করার সময় যে Google Workspace অ্যাকাউন্টটি দিয়েছিলেন, সেটি ব্যবহার করে Google Chat খুলুন।
- নতুন চ্যাট ক্লিক করুন।
- ১ বা তার বেশি লোক যোগ করুন ফিল্ডে, আপনার চ্যাট অ্যাপের নাম টাইপ করুন।
ফলাফল থেকে আপনার চ্যাট অ্যাপটি নির্বাচন করুন। একটি সরাসরি বার্তা খুলবে।
- অ্যাপের নতুন সরাসরি বার্তায়,
Helloটাইপ করুন এবংenterটিপুন।
বিশ্বস্ত পরীক্ষক যোগ করতে এবং ইন্টারেক্টিভ বৈশিষ্ট্যগুলি পরীক্ষা করার বিষয়ে আরও জানতে, Google Chat অ্যাপের জন্য ইন্টারেক্টিভ বৈশিষ্ট্যগুলি পরীক্ষা করুন দেখুন।
সমস্যা সমাধান
যখন কোনও Google Chat অ্যাপ বা কার্ড কোনও ত্রুটি ফেরত দেয়, তখন Chat ইন্টারফেসটি "কিছু ভুল হয়েছে" বা "আপনার অনুরোধ প্রক্রিয়া করতে অক্ষম" বলে একটি বার্তা প্রকাশ করে। কখনও কখনও Chat UI কোনও ত্রুটির বার্তা প্রদর্শন করে না, তবে Chat অ্যাপ বা কার্ড একটি অপ্রত্যাশিত ফলাফল তৈরি করে; উদাহরণস্বরূপ, একটি কার্ড বার্তা প্রদর্শিত নাও হতে পারে।
যদিও চ্যাট UI তে কোনও ত্রুটির বার্তা প্রদর্শিত নাও হতে পারে, চ্যাট অ্যাপের জন্য ত্রুটি লগিং চালু থাকলে বর্ণনামূলক ত্রুটির বার্তা এবং লগ ডেটা আপনাকে ত্রুটিগুলি ঠিক করতে সাহায্য করার জন্য উপলব্ধ। ত্রুটিগুলি দেখা, ডিবাগ করা এবং ঠিক করার জন্য, Google Chat ত্রুটিগুলির সমস্যা সমাধান এবং সমাধান দেখুন।
পরিষ্কার করা
এই টিউটোরিয়ালে ব্যবহৃত রিসোর্সের জন্য আপনার Google ক্লাউড অ্যাকাউন্টে চার্জ এড়াতে, আমরা আপনাকে ক্লাউড প্রকল্পটি মুছে ফেলার পরামর্শ দিচ্ছি।
- গুগল ক্লাউড কনসোলে, রিসোর্স পরিচালনা পৃষ্ঠায় যান। মেনু > IAM & Admin > রিসোর্স পরিচালনা করুন এ ক্লিক করুন।
- প্রকল্পের তালিকায়, আপনি যে প্রকল্পটি মুছতে চান তা নির্বাচন করুন এবং তারপরে মুছুন ফেলুন ক্লিক করুন।
- ডায়ালগে, প্রজেক্ট আইডি টাইপ করুন এবং তারপর প্রজেক্টটি মুছে ফেলতে Shut down এ ক্লিক করুন।
সম্পর্কিত বিষয়
আপনার চ্যাট অ্যাপে আরও বৈশিষ্ট্য যোগ করতে, নিম্নলিখিতগুলি দেখুন: