একটি Meet অ্যাড-অন ব্যবহার করে সহযোগিতা করুন

একটি মিটিংয়ে অংশগ্রহণকারীরা Google Meet অ্যাড-অন অ্যাক্টিভিটিতে সহযোগিতামূলকভাবে কাজ করতে পারেন। যখন একটি সহযোগী অ্যাক্টিভিটি শুরু হয়, তখন মিটিংয়ের সমস্ত অংশগ্রহণকারী একটি বিজ্ঞপ্তি পান যে অ্যাক্টিভিটিটি চলছে।

এই বিজ্ঞপ্তিটি অ্যাড-অনের প্রাপ্যতা এবং ইনস্টলেশনের অবস্থার সাথে খাপ খাইয়ে নেওয়া হয়েছে:

  • যদি অংশগ্রহণকারীর অ্যাড-অন ইনস্টল করা থাকে : তারা কার্যকলাপে যোগ দিতে পারে।

  • যদি অংশগ্রহণকারীর কাছে অ্যাড-অন ইনস্টল না থাকে : তাদের অ্যাড-অন ইনস্টল করার নির্দেশ দেওয়া হবে।

  • যদি অংশগ্রহণকারীর প্ল্যাটফর্মে অ্যাড-অনটি উপলব্ধ না থাকে : তাদের জানানো হয় যে তারা তাদের বর্তমান ডিভাইস ব্যবহার করে কার্যকলাপে যোগ দিতে পারবেন না।

যখন কোনও ব্যবহারকারী কার্যকলাপে যোগদান করবেন, তখন তারা আপনার অ্যাড-অন কন্টেন্ট দিয়ে তাদের নিজস্ব আইফ্রেম লোড করবেন। নতুন যোগদানকারীদের মূল পর্যায়ে নাকি সাইড প্যানেলে সহযোগী কার্যকলাপটি খুলতে হবে তা আপনি কাস্টমাইজ করতে পারেন।

কার্যকলাপ শুরু করুন

একটি কার্যকলাপ startActivity() পদ্ধতি কল করে শুরু করা হয়, যা ActivityStartingState ইন্টারফেস ব্যবহার করে।

ধাপ ১ (ঐচ্ছিক): অ্যাড-অনটি কার্যকলাপ শুরুর অবস্থা নির্ধারণ করে।

ActivityStartingState এ অ্যাড-অনের প্রাথমিক অবস্থা সম্পর্কে তথ্য থাকে যা অংশগ্রহণকারী যখন কার্যকলাপে যোগদানের আমন্ত্রণ গ্রহণ করে তখন ব্যবহৃত হয়।

অ্যাড-অনটি অ্যাক্টিভিটির আগে বা চলাকালীন যেকোনো সময় setActivityStartingState() পদ্ধতিতে কল করে ActivityStartingState সেট বা আপডেট করতে পারে। যদি ActivityStartingState শুধুমাত্র startActivity() কলে সেট করা থাকে, তাহলে setActivityStartingState() এ কলগুলি বাদ দেওয়া যেতে পারে।

ধাপ ২: অ্যাড-অনটি কার্যকলাপ শুরু করে

MeetSidePanelClient এ অ্যাড-অন যখন startActivity() মেথড কল করে তখন অ্যাক্টিভিটি শুরু হয়। startActivity() মেথডটি একটি ActivityStartingState অবজেক্টকে প্যারামিটার হিসেবে নেয়, তাই setActivityStartingState() startActivity() () কল করা যেতে পারে।

ব্যবহারকারী যখন কন্টেন্ট নির্বাচন সম্পন্ন করে এবং একটি কার্যকলাপ শুরু করার জন্য প্রস্তুত হন, তখন আপনার অ্যাড-অনে startActivity() পদ্ধতিটি নিম্নরূপ কল করুন:

    sidePanelClient.startActivity({
        mainStageUrl: "https://app.example.com/mainstage",
        additionalData: JSON.stringify({
            // State to send to participants.
        })
    });

যখন startActivity() পদ্ধতিটি চালু করা হয়, তখন Meet নিম্নলিখিত ক্রিয়াগুলি সম্পাদন করে:

  • অন্যান্য অংশগ্রহণকারীদের জন্য : Meet একটি বিজ্ঞপ্তি দেখায় যে কার্যকলাপটি চলছে।

  • ইনিশিয়েটারের জন্য : যদি ActivityStartingState তে একটি প্রধান স্টেজ URL নির্দিষ্ট করা থাকে, তাহলে Meet ActivityStartingState থেকে URL ব্যবহার করে প্রধান স্টেজটি খুলবে।

ধাপ ৩: কার্যকলাপ শুরুর অবস্থা পান

যখন কোনও ব্যবহারকারী কার্যকলাপে যোগদান করেন, তখন তারা ActivityStartingState এর উপর নির্ভর করে আপনার অ্যাড-অনটি প্রধান স্টেজ বা সাইড প্যানেলে লোড করেন।

additionalData প্রপার্টি ব্যবহার করে, আপনি অ্যাক্টিভিটিতে যোগদানকারী ব্যবহারকারীদের সাথে প্রাথমিক ডেটা (যাকে stateও বলা হয়) শেয়ার করতে পারেন। MainStageClient অথবা SidePanelClient চালু করার পরে, আপনি additionalData প্রপার্টি পুনরুদ্ধার করতে getActivityStartingState() পদ্ধতি ব্যবহার করতে পারেন।

const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);

ধাপ ৪ (ঐচ্ছিক): একটি কার্যকলাপে অ্যাড-অন অবস্থা শেয়ার করুন

কার্যকলাপ চলাকালীন আপনি ব্যবহারকারীদের মধ্যে অবস্থা ভাগ করে নিতে পারেন। আপনি দুটি উপায়ে অবস্থা ভাগ করতে পারেন:

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

উদাহরণ: GitHub-এ অ্যানিমেশন অ্যাড-অন

GitHub-এর "অ্যানিমেশন" নমুনা অ্যাড-অনটিতে একটি অ্যাড-অনের সহযোগিতা অন্তর্ভুক্ত রয়েছে। এই নির্দেশিকার ধাপ ১ নমুনাটিতে অন্তর্ভুক্ত নয়। পরিবর্তে, যখন অ্যাড-অন ইনিশিয়েটর সাইড প্যানেলে "অ্যানিমেশন শুরু করুন" বোতামে ক্লিক করে, তখন startActivity() পদ্ধতিটি ( ধাপ ২ ) বলা হয় ব্যবহারকারীর নির্বাচিত রঙ দিয়ে প্রারম্ভিক অবস্থা পূরণ করে। কার্যকলাপ শুরু হওয়ার পরে, প্রধান পর্যায়টি getActivityStartingState() পদ্ধতিটি ( ধাপ ৩ ) কল করে প্রারম্ভিক অবস্থা পুনরুদ্ধার করে। ধাপ ৪ বাদ দেওয়া হয়েছে, কারণ এই নমুনা অ্যাড-অনে কার্যকলাপ চলাকালীন অংশগ্রহণকারীদের মধ্যে অবস্থা (নির্বাচিত রঙ) ভাগ করা হয় না। তবে, ব্যক্তিগত ব্যবহারকারীরা একটি রঙ নির্বাচন করে তাদের নিজস্ব অবস্থা পরিবর্তন করতে পারেন, যা ফ্রেম-টু-ফ্রেম মেসেজিং ব্যবহার করে সাইড প্যানেল ফ্রেম থেকে প্রধান স্টেজ ফ্রেমে পাঠানো হয়।

সীমাবদ্ধতা