কথোপকথন বিজ্ঞপ্তি এবং উইজেট

অ্যান্ড্রয়েড 11 অগ্রাধিকার এবং সতর্কতা স্তরের দ্বারা বিজ্ঞপ্তি ছায়ায় কথোপকথন বিজ্ঞপ্তিগুলির আচরণ এবং স্থান নির্ধারণের জন্য সমর্থন যোগ করে, কথোপকথনগুলিকে গুরুত্বপূর্ণ হিসাবে চিহ্নিত করার অনুমতি দেয় এবং কথোপকথন স্থানটিতে কথোপকথনের নির্দিষ্ট বুদবুদগুলি চালু করা যায়৷

এই Android 11 বৈশিষ্ট্যগুলির উপর ভিত্তি করে, Android 12 দুটি নতুন কথোপকথন বৈশিষ্ট্য অফার করে:

  • সেটিংসে সাম্প্রতিক কথোপকথন বৈশিষ্ট্য ব্যবহারকারীদের একটি বিজ্ঞপ্তির জন্য অপেক্ষা না করে সাম্প্রতিক কথোপকথনের জন্য বিজ্ঞপ্তি আচরণ কাস্টমাইজ করতে সক্ষম করে৷

  • কথোপকথন উইজেট বৈশিষ্ট্য ব্যবহারকারীদের সাম্প্রতিক কথোপকথনগুলির একটি দ্রুত দৃশ্য প্রদান করে, হোম স্ক্রিনে সহজেই চ্যাট খুলতে সক্ষম করে।

এই নথিটি কথোপকথন বিজ্ঞপ্তি এবং উইজেটগুলির বাস্তবায়ন, কাস্টমাইজেশন এবং বৈধকরণের দিকগুলি বর্ণনা করে৷

কথোপকথন বিজ্ঞপ্তি ওভারভিউ

অ্যান্ড্রয়েড 11 একটি নতুন সিস্টেম প্রবর্তন করেছে, কথোপকথন, যা বিদ্যমান শেয়ারিং শর্টকাট অবজেক্ট দ্বারা প্রতিনিধিত্ব করা হয় (যা অ্যান্ড্রয়েড 9 এর সাথে রোল আউট করা হয়েছিল)।

কথোপকথন আদিম নিম্নলিখিত হিসাবে ব্যবহার করা যেতে পারে:

  • Sharesheet এর মাধ্যমে সিস্টেম জুড়ে অ্যাপগুলির মধ্যে কথোপকথনের ডেটা ভাগ করতে (আগেই Android 10 এ)।

  • বুদবুদ চালানোর জন্য (অ্যান্ড্রয়েড 11-এ শর্টকাট )। চিত্র 1 দেখুন।

  • নোটিফিকেশন শেডের উপরে নতুন কথোপকথন স্পেসে অংশগ্রহণ করতে (Android 11 এ প্রয়োগ করা হয়েছে)। চিত্র 2 দেখুন।

  • কথোপকথন উইজেট তৈরির জন্য (Android 12 এ প্রয়োগ করা হয়েছে)।

    conv_bubbles

    চিত্র 1: বিজ্ঞপ্তি ড্রয়ার থেকে একটি বুদবুদ হিসাবে চালু করা হচ্ছে

    conv_notification

    চিত্র 2: কথোপকথনের স্থানটি বিজ্ঞপ্তি শেডের উপরে অবস্থিত

কথোপকথনের প্রতিনিধিত্বকারী শর্টকাটের সাথে লিঙ্ক করার পাশাপাশি, বিজ্ঞপ্তিটি কথোপকথনের স্থানে কথোপকথনের শেষ বার্তাটি অন্তর্ভুক্ত করতে MessagingStyle ব্যবহার করে।

GMS অংশীদারদের নিম্নলিখিতগুলি বাস্তবায়ন করতে হবে:

  • বিজ্ঞপ্তি শেডের উপরে একটি পৃথক বিভাগ হিসাবে একটি নতুন কথোপকথন স্থান।
  • একটি বিজ্ঞপ্তি শৈলী যা কথোপকথনের নির্দিষ্ট বুদবুদ প্যাটার্নকে অনুমতি দেয় এবং সমর্থন করে।

কথোপকথন বাস্তবায়নকারী অংশীদারদেরও গুরুত্বপূর্ণ কথোপকথন বাস্তবায়নের জন্য প্রয়োজন। যাইহোক, কথোপকথনের বাস্তবায়ন অনুরূপ প্রকৃতির OEM ধারণার সাথে সারিবদ্ধ করা যেতে পারে। সামগ্রিকভাবে, অংশীদারদের তাদের নির্দিষ্ট সিস্টেম UI এর সাথে কথোপকথন বিভাগটি সারিবদ্ধ করার স্বাধীনতা রয়েছে। অংশীদারকে HAL/ড্রাইভার/কার্নেল কোড/এক্সটেনশনগুলি সংশোধন বা প্রয়োগ করতে হবে না।

AOSP-তে SystemUI এবং PeopleService বিভাগে নিম্নলিখিত রেফারেন্স বাস্তবায়ন দেখুন:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

বৈধতা

আপনার বৈশিষ্ট্যের সংস্করণটি উদ্দেশ্য অনুযায়ী কাজ করে তা নিশ্চিত করতে, নিম্নলিখিতগুলি যাচাই করুন:

  1. যে অ্যাপগুলি কথোপকথন API-কে সম্পূর্ণরূপে সমর্থন করে নতুন বিভাগে তাদের বিজ্ঞপ্তিগুলি দেখতে পায় এবং সাধারণ NotificationChannel- এর পরিবর্তে কথোপকথনের মাধ্যমে সেই বিজ্ঞপ্তিগুলি কাস্টমাইজ করতে পারে৷

  2. কথোপকথন নির্দিষ্ট বুদবুদ কাজ করছে.

বাস্তবায়ন যাচাই করতে, বিজ্ঞপ্তি প্যাকেজে নিম্নলিখিত পরীক্ষাগুলি ব্যবহার করুন:

  • CTS পরীক্ষা।

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • CTS যাচাইকারী পরীক্ষা।

    cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
    
    

কথোপকথন উইজেট ওভারভিউ

অ্যান্ড্রয়েড 12-এ, কথোপকথন উইজেট বৈশিষ্ট্যটি Android 11-এ তৈরি কথোপকথন উপস্থাপনাগুলির উপর ভিত্তি করে তৈরি করে (পূর্ববর্তী বিভাগে বর্ণনা করা হয়েছে) অ্যাপগুলিকে কথোপকথন উইজেটগুলিতে প্রদর্শিত কথোপকথনের স্থিতি প্রদান করার অনুমতি দিয়ে।

conv_widgets

চিত্র 3: কথোপকথন কথোপকথন উইজেটগুলিতে প্রদর্শিত হয়

অ্যান্ড্রয়েড 12-এ কথোপকথন উইজেট বৈশিষ্ট্য ব্যবহারকারীদের হোম স্ক্রিনে সহজেই চ্যাট খোলার অনুমতি দিয়ে সংযোগের প্রচার করে। উইজেটগুলি বর্ধিত শর্টকাট যা ব্যবহারকারীদের কথোপকথনের অবস্থার স্নিপেট দেখানোর সময় দক্ষতার সাথে তাদের কথোপকথনে ফিরে যেতে দেয়।

অংশীদারকে অবশ্যই নিম্নলিখিতগুলি বাস্তবায়ন করতে হবে:

  1. SystemUI দ্বারা প্রদত্ত একটি উইজেট।
  2. উইজেট পিকিং স্ক্রীন থেকে এই উইজেটগুলি যোগ করার জন্য একটি প্রবাহ।
  3. নিম্নরূপ উইজেট আকার পরিবর্তনের জন্য সমর্থন:
    • ব্যবহারকারী যখন লেআউটের আকার পরিবর্তন করে বা ল্যান্ডস্কেপে ঘোরায় তখন লেআউটটিকে আরও ভালো আকারের লেআউটে পরিবর্তন করতে onAppWidgetOptionsChanged() ব্যবহার করুন।
    • আপনার উইজেটের আকার পরিবর্তনগুলিকে সঠিকভাবে আবদ্ধ করতে maxResizeHeight , maxResizeWidth , minWidth , minHeight , minResizeWidth , minResizeHeight ব্যবহার করুন৷

কথোপকথন উইজেটগুলি বাস্তবায়ন করার সময় নিম্নলিখিত নির্ভরতা সম্পর্কে সচেতন হন:

  • অংশীদারকে HAL/ড্রাইভার/কার্নেল কোড পরিবর্তন বা প্রয়োগ করতে হবে না।
  • স্থিতি API, যা অ্যাপগুলিকে একটি কথোপকথন এবং সংশ্লিষ্ট উইজেটে স্থিতি বা উপলব্ধতার তথ্য যোগ করার অনুমতি দেয়, বাস্তবায়নের জন্য ব্যবহার করা হয়।
  • প্রক্রিয়াটি নতুন ডিভাইস বাস্তবায়ন এবং আপগ্রেড বাস্তবায়ন উভয় ক্ষেত্রেই একই।
  • কথোপকথন উইজেট বৈশিষ্ট্যটির Android 12-এ চালু হওয়া একটি নতুন বৈশিষ্ট্যের উপর নির্ভরশীলতা রয়েছে, যা সম্প্রতি দেখা কথোপকথনগুলি ক্যাশে করে (উদাহরণস্বরূপ বিজ্ঞপ্তি থেকে)। এই পরবর্তী বৈশিষ্ট্যটি একজন ব্যবহারকারী সম্ভাব্যভাবে তাদের হোম স্ক্রিনে যোগ করতে পারে এমন কথোপকথনের তালিকা প্রসারিত করতে দেয়।

SystemUI এবং Launcher3 ফাইলগুলিতে নিম্নলিখিত রেফারেন্স বাস্তবায়ন দেখুন:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

কাস্টমাইজেশন

কথোপকথন উইজেট বৈশিষ্ট্যটি চালু বা বন্ধ করা যাবে না। যাইহোক, একজন অংশীদার উইজেট টেমপ্লেটের লেআউট পরিবর্তন করতে পারে, যতক্ষণ না GMS প্রয়োজনীয়তা সন্তুষ্ট হয়।

বৈধতা

আপনার বৈশিষ্ট্যের সংস্করণটি উদ্দেশ্য অনুযায়ী কাজ করে তা নিশ্চিত করতে, নিম্নলিখিতগুলি যাচাই করুন:

  1. লঞ্চারে দীর্ঘক্ষণ চাপ দিলে, একটি কথোপকথনের জন্য একটি নতুন কথোপকথন উইজেট উইজেট পিকারের মাধ্যমে যোগ করা যেতে পারে। উইজেট পিকার UI এর জন্য চিত্র 4 দেখুন:

    widget_picker

    চিত্র 4: একটি নতুন কথোপকথন উইজেট যোগ করতে উইজেট পিকার UI

  2. নির্বাচিত কথোপকথন থেকে ডিভাইসে বিজ্ঞপ্তি পাঠানো হলে, সেই বিজ্ঞপ্তিগুলিকে প্রতিফলিত করতে উইজেট আপডেট করা হয়।

  3. ConversationStatus API ব্যবহার করে সেই কথোপকথনে স্ট্যাটাস প্রয়োগ করার সময়, উইজেট সেই স্ট্যাটাসগুলিকে প্রতিফলিত করে।

  4. ব্যবহারকারীরা উইজেটগুলির আকার পরিবর্তন করতে পারে এবং উইজেটগুলি তাদের বর্তমান লঞ্চারের উপর ভিত্তি করে তাদের আকার পরিবর্তন করতে পারে। আপনার উইজেট লেআউটগুলি অবশ্যই বিভিন্ন ডিভাইসে বিভিন্ন লঞ্চার আকারের সাথে এবং উইজেটের আকার পরিবর্তনের সাথে ভালভাবে কাজ করবে।

বাস্তবায়ন যাচাই করতে, বিজ্ঞপ্তি প্যাকেজে নিম্নলিখিত পরীক্ষাগুলি ব্যবহার করুন:

  • API পৃষ্ঠতলের জন্য CTS পরীক্ষা (PeopleManagerTest)।

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • জিএমএস প্রয়োজনীয়তার জন্য ম্যানুয়াল পরীক্ষা - কথোপকথন।