এই পৃষ্ঠাটি ব্যাখ্যা করে কিভাবে Pub/Sub ব্যবহার করে একটি চ্যাট অ্যাপ তৈরি করতে হয়। Chat অ্যাপের জন্য এই ধরনের আর্কিটেকচার উপযোগী যদি আপনার প্রতিষ্ঠানের ফায়ারওয়াল থাকে, যা Chat-কে আপনার Chat অ্যাপে মেসেজ পাঠাতে বাধা দিতে পারে বা Chat অ্যাপ Google Workspace Events API ব্যবহার করে। যাইহোক, এই আর্কিটেকচারের নিম্নলিখিত সীমাবদ্ধতা রয়েছে কারণ এই চ্যাট অ্যাপগুলি শুধুমাত্র অ্যাসিঙ্ক্রোনাস বার্তা পাঠাতে এবং গ্রহণ করতে পারে:
- মেসেজে ডায়ালগ ব্যবহার করা যাবে না। পরিবর্তে, একটি কার্ড বার্তা ব্যবহার করুন।
- সিঙ্ক্রোনাস প্রতিক্রিয়া সহ পৃথক কার্ড আপডেট করা যাবে না। পরিবর্তে,
patch
পদ্ধতিতে কল করে পুরো বার্তাটি আপডেট করুন।
নিম্নলিখিত চিত্রটি Pub/Sub-এর সাথে তৈরি একটি চ্যাট অ্যাপের আর্কিটেকচার দেখায়:
পূর্ববর্তী চিত্রে, একটি পাব/সাব চ্যাট অ্যাপের সাথে ইন্টারঅ্যাক্ট করা একজন ব্যবহারকারীর নিম্নলিখিত তথ্যের প্রবাহ রয়েছে:
একজন ব্যবহারকারী চ্যাটে একটি চ্যাট অ্যাপে একটি বার্তা পাঠান, হয় সরাসরি বার্তায় বা একটি চ্যাট স্পেসে, অথবা একটি চ্যাট স্পেসে একটি ইভেন্ট ঘটে যার জন্য চ্যাট অ্যাপটির একটি সক্রিয় সদস্যতা রয়েছে।
চ্যাট একটি পাব/সাব বিষয়ে বার্তা পাঠায়।
একটি অ্যাপ্লিকেশন সার্ভার, যা হয় একটি ক্লাউড বা অন-প্রিমিসেস সিস্টেম যাতে চ্যাট অ্যাপ লজিক থাকে, ফায়ারওয়ালের মাধ্যমে বার্তা পাওয়ার জন্য Pub/Sub বিষয়ের সদস্যতা নেয়।
ঐচ্ছিকভাবে, চ্যাট অ্যাপ অ্যাসিঙ্ক্রোনাসভাবে বার্তা পোস্ট করতে বা অন্যান্য ক্রিয়াকলাপ সম্পাদন করতে Chat API-কে কল করতে পারে।
পূর্বশর্ত
জাভা
- Google Chat অ্যাক্সেস সহ একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট।
- বিলিং সক্ষম সহ একটি Google ক্লাউড প্রকল্প৷ একটি বিদ্যমান প্রকল্পের বিলিং সক্ষম হয়েছে তা পরীক্ষা করতে, আপনার প্রকল্পগুলির বিলিং স্থিতি যাচাই করুন দেখুন। একটি প্রকল্প তৈরি করতে এবং বিলিং সেট আপ করতে, একটি Google ক্লাউড প্রকল্প তৈরি করুন দেখুন।
- Java 11 বা তার বেশি
- ম্যাভেন প্যাকেজ ম্যানেজমেন্ট টুল
পাইথন
- Google Chat অ্যাক্সেস সহ একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট।
- বিলিং সক্ষম সহ একটি Google ক্লাউড প্রকল্প৷ একটি বিদ্যমান প্রকল্পের বিলিং সক্ষম হয়েছে তা পরীক্ষা করতে, আপনার প্রকল্পগুলির বিলিং স্থিতি যাচাই করুন দেখুন। একটি প্রকল্প তৈরি করতে এবং বিলিং সেট আপ করতে, একটি Google ক্লাউড প্রকল্প তৈরি করুন দেখুন।
- পাইথন 3.6 বা তার বেশি
- পাইপ প্যাকেজ ম্যানেজমেন্ট টুল
Node.js
- Google Chat অ্যাক্সেস সহ একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট।
- বিলিং সক্ষম সহ একটি Google ক্লাউড প্রকল্প৷ একটি বিদ্যমান প্রকল্পের বিলিং সক্ষম হয়েছে তা পরীক্ষা করতে, আপনার প্রকল্পগুলির বিলিং স্থিতি যাচাই করুন দেখুন। একটি প্রকল্প তৈরি করতে এবং বিলিং সেট আপ করতে, একটি Google ক্লাউড প্রকল্প তৈরি করুন দেখুন।
- Node.js 14 বা তার বেশি
- npm প্যাকেজ ম্যানেজমেন্ট টুল
- একটি প্রাথমিক Node.js প্রকল্প। একটি নতুন প্রকল্প শুরু করতে, একটি নতুন ফোল্ডার তৈরি করুন এবং স্যুইচ করুন, তারপর আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:
npm init
পরিবেশ স্থাপন করুন
Google API ব্যবহার করার আগে, আপনাকে একটি Google ক্লাউড প্রকল্পে সেগুলি চালু করতে হবে। আপনি একটি একক Google ক্লাউড প্রকল্পে এক বা একাধিক API চালু করতে পারেন৷Google ক্লাউড কনসোলে, Google Chat API এবং Pub/Sub API সক্ষম করুন৷
পাব/সাব সেট আপ করুন
একটি পাব/সাব বিষয় তৈরি করুন যাতে চ্যাট এপিআই বার্তা পাঠাতে পারে। আমরা আপনাকে চ্যাট অ্যাপ প্রতি একটি একক বিষয় ব্যবহার করার পরামর্শ দিই।
নিম্নলিখিত পরিষেবা অ্যাকাউন্টে পাব/সাব প্রকাশকের ভূমিকা অর্পণ করে বিষয় প্রকাশ করার জন্য চ্যাট অনুমতি দিন :
[email protected]
পাব/সাব এবং চ্যাটের সাথে অনুমোদন করার জন্য চ্যাট অ্যাপের জন্য একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন এবং ব্যক্তিগত কী ফাইলটি আপনার কার্যকারী ডিরেক্টরিতে সংরক্ষণ করুন।
বিষয়ের জন্য একটি টান সাবস্ক্রিপশন তৈরি করুন ।
আপনার পূর্বে তৈরি করা পরিষেবা অ্যাকাউন্টের জন্য সাবস্ক্রিপশনে পাব/সাবস্ক্রাইবার ভূমিকা বরাদ্দ করুন ।
স্ক্রিপ্ট লিখুন
জাভা
একটি CLI-তে, পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি প্রদান করুন :
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
একটি CLI-তে, Google ক্লাউড প্রকল্প আইডি প্রদান করুন:
export PROJECT_ID=PROJECT_ID
একটি CLI-তে, আপনি পূর্বে তৈরি করা পাব/সাবস্ক্রিপশনের সাবস্ক্রিপশন আইডি প্রদান করুন:
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 ক্লাউড প্রকল্প আইডি প্রদান করুন:
export PROJECT_ID=PROJECT_ID
একটি CLI-তে, আপনি পূর্বে তৈরি করা পাব/সাবস্ক্রিপশনের সাবস্ক্রিপশন আইডি প্রদান করুন:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
আপনার কাজের ডিরেক্টরিতে,
requirements.txt
নামে একটি ফাইল তৈরি করুন।requirements.txt
ফাইলে, নিম্নলিখিত কোডটি পেস্ট করুন:আপনার কাজের ডিরেক্টরিতে,
app.py
নামে একটি ফাইল তৈরি করুন।app.py
এ, নিম্নলিখিত কোড পেস্ট করুন:
Node.js
একটি CLI-তে, পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি প্রদান করুন :
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
একটি CLI-তে, Google ক্লাউড প্রকল্প আইডি প্রদান করুন:
export PROJECT_ID=PROJECT_ID
একটি CLI-তে, আপনি পূর্বে তৈরি করা পাব/সাবস্ক্রিপশনের সাবস্ক্রিপশন আইডি প্রদান করুন:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
আপনার কাজের ডিরেক্টরিতে,
package.json
নামে একটি ফাইল তৈরি করুন।package.json
ফাইলে, নিম্নলিখিত কোড পেস্ট করুন:আপনার কাজের ডিরেক্টরিতে,
index.js
নামে একটি ফাইল তৈরি করুন।index.js
এ, নিম্নলিখিত কোড পেস্ট করুন:
চ্যাটে অ্যাপটি প্রকাশ করুন
Google ক্লাউড কনসোলে, মেনু > APIs & Services > Enabled APIs & Services > Google Chat API > Configuration- এ যান।
পাব/সাবের জন্য চ্যাট অ্যাপ কনফিগার করুন:
- অ্যাপের নামে ,
Quickstart App
লিখুন। - Avatar URL- এ,
https://developers.google.com/chat/images/quickstart-app-avatar.png
লিখুন। - বর্ণনায় ,
Quickstart app
লিখুন। - কার্যকারিতার অধীনে, 1:1 বার্তা গ্রহণ করুন এবং স্পেস এবং গ্রুপ কথোপকথনে যোগ দিন নির্বাচন করুন।
- সংযোগ সেটিংসের অধীনে, ক্লাউড পাব/সাব নির্বাচন করুন এবং আপনি পূর্বে তৈরি করা পাব/সাব বিষয়ের নাম পেস্ট করুন।
- দৃশ্যমানতার অধীনে, আপনার ডোমেনের নির্দিষ্ট ব্যক্তি এবং গোষ্ঠীর জন্য এই Google চ্যাট অ্যাপটি উপলব্ধ করুন নির্বাচন করুন এবং আপনার ইমেল ঠিকানা লিখুন৷
- লগের অধীনে, লগিং করতে লগ ত্রুটি নির্বাচন করুন।
- অ্যাপের নামে ,
Save এ ক্লিক করুন।
অ্যাপটি চ্যাটে বার্তা গ্রহণ এবং প্রতিক্রিয়া জানাতে প্রস্তুত।
স্ক্রিপ্ট চালান
একটি 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
Node.js
npm install
npm start
যখন আপনি কোডটি চালান, অ্যাপ্লিকেশনটি পাব/সাব বিষয়ে প্রকাশিত বার্তাগুলি শুনতে শুরু করে৷
আপনার চ্যাট অ্যাপ পরীক্ষা করুন
আপনার চ্যাট অ্যাপটি পরীক্ষা করতে, চ্যাট অ্যাপের সাথে একটি সরাসরি বার্তা স্থান খুলুন এবং একটি বার্তা পাঠান:
বিশ্বস্ত পরীক্ষক হিসেবে নিজেকে যোগ করার সময় আপনি যে Google Workspace অ্যাকাউন্ট দিয়েছিলেন সেটি ব্যবহার করে Google Chat খুলুন।
- নতুন চ্যাট ক্লিক করুন.
- 1 বা তার বেশি লোক যোগ করুন ফিল্ডে, আপনার চ্যাট অ্যাপের নাম টাইপ করুন।
ফলাফল থেকে আপনার চ্যাট অ্যাপ নির্বাচন করুন। একটি সরাসরি বার্তা খোলে।
- অ্যাপটির সাথে নতুন সরাসরি বার্তায়,
Hello
টাইপ করুন এবংenter
টিপুন।
বিশ্বস্ত পরীক্ষক যোগ করতে এবং ইন্টারেক্টিভ বৈশিষ্ট্যগুলি পরীক্ষা করার বিষয়ে আরও জানতে, Google চ্যাট অ্যাপগুলির জন্য পরীক্ষা ইন্টারেক্টিভ বৈশিষ্ট্যগুলি দেখুন৷
সমস্যা সমাধান
যখন একটি Google চ্যাট অ্যাপ বা কার্ড একটি ত্রুটি ফেরত দেয়, তখন চ্যাট ইন্টারফেস "কিছু ভুল হয়েছে" বলে একটি বার্তা দেখায়। অথবা "আপনার অনুরোধ প্রক্রিয়া করতে অক্ষম।" কখনও কখনও চ্যাট UI কোনও ত্রুটি বার্তা প্রদর্শন করে না, তবে চ্যাট অ্যাপ বা কার্ড একটি অপ্রত্যাশিত ফলাফল তৈরি করে; উদাহরণস্বরূপ, একটি কার্ড বার্তা প্রদর্শিত নাও হতে পারে৷
যদিও একটি ত্রুটি বার্তা চ্যাট UI-তে প্রদর্শিত নাও হতে পারে, বর্ণনামূলক ত্রুটি বার্তা এবং লগ ডেটা উপলব্ধ রয়েছে যাতে আপনি যখন চ্যাট অ্যাপগুলির জন্য ত্রুটি লগিং চালু থাকে তখন ত্রুটিগুলি ঠিক করতে সহায়তা করে৷ দেখা, ডিবাগিং এবং ত্রুটিগুলি সংশোধন করতে সহায়তার জন্য, Google Chat ত্রুটিগুলি সমস্যা সমাধান এবং ঠিক করুন দেখুন৷
পরিষ্কার করুন
এই টিউটোরিয়ালে ব্যবহৃত সংস্থানগুলির জন্য আপনার Google ক্লাউড অ্যাকাউন্টে চার্জ এড়াতে, আমরা আপনাকে ক্লাউড প্রকল্পটি মুছে ফেলার পরামর্শ দিই।
- Google ক্লাউড কনসোলে, সম্পদ পরিচালনা পৃষ্ঠাতে যান। মেনু > আইএএম এবং অ্যাডমিন > সম্পদ পরিচালনা করুন ক্লিক করুন।
- প্রকল্প তালিকায়, আপনি যে প্রকল্পটি মুছতে চান সেটি নির্বাচন করুন এবং তারপরে মুছুন ক্লিক করুন।
- ডায়ালগে, প্রকল্প আইডি টাইপ করুন এবং তারপরে প্রকল্পটি মুছে ফেলতে শাট ডাউন ক্লিক করুন।
সম্পর্কিত বিষয়
আপনার চ্যাট অ্যাপে আরও বৈশিষ্ট্য যোগ করতে, নিম্নলিখিতগুলি দেখুন: