ম্যানিফেস্ট ভি২ এক্সটেনশনকে ম্যানিফেস্ট ভি৩ এক্সটেনশনে রূপান্তর করার নির্দেশিকা।
এই বিভাগটি আপনাকে একটি এক্সটেনশনকে ম্যানিফেস্ট V2 থেকে ম্যানিফেস্ট V3-তে আপগ্রেড করতে সাহায্য করে, যা ক্রোম এক্সটেনশন প্ল্যাটফর্মের নতুনতম সংস্করণ। মাইগ্রেশনের কাজটি প্রধানত নিম্নলিখিত বিভাগগুলিতে বিভক্ত। আপনার কাজের অগ্রগতি ট্র্যাক করতে সাহায্য করার জন্য, আমরা এই ডকুমেন্টগুলির বিষয়বস্তুর সারসংক্ষেপ সহ একটি চেকলিস্ট প্রদান করেছি। আপনি চেকলিস্ট ব্যবহার করে বিষয়বস্তু অ্যাক্সেস করতে পারেন, অথবা সরাসরি এর গভীরে প্রবেশ করতে পারেন। উভয় পথেই এক্সটেনশনটি আপগ্রেড হয়ে যায়।
- ম্যানিফেস্ট আপডেট করুন —
manifest.jsonঅবশ্যই V3-এর জন্য নির্দিষ্ট হতে হবে। যে পরিবর্তনগুলো আলাদাভাবে করা যায়, সেগুলো এই বিভাগে বর্ণনা করা হয়েছে। কোড-সম্পর্কিত ম্যানিফেস্ট পরিবর্তনগুলো, সেগুলোর দ্বারা সমর্থিত কোড পরিবর্তনসহ বর্ণনা করা হয়েছে। - সার্ভিস ওয়ার্কারে স্থানান্তরিত হন — একটি সার্ভিস ওয়ার্কার এক্সটেনশনের ব্যাকগ্রাউন্ড বা ইভেন্ট পেজকে প্রতিস্থাপন করে, যাতে ব্যাকগ্রাউন্ড কোড মেইন থ্রেড থেকে দূরে থাকে, যেখানে এটি পারফরম্যান্সের ক্ষতি করতে পারে। এই পরিবর্তনের জন্য DOM, উইন্ডো এবং নির্দিষ্ট এক্সটেনশন API কলগুলোকে অফস্ক্রিন ডকুমেন্টে সরিয়ে নেওয়ারও প্রয়োজন হয়।
- এপিআই কল আপডেট করুন — কিছু এপিআই কলকে আরও আধুনিক বিকল্প দিয়ে প্রতিস্থাপন করা প্রয়োজন।
- ওয়েব রিকোয়েস্ট লিসেনার ব্লক করা প্রতিস্থাপন করুন — Manifest V2-তে নেটওয়ার্ক রিকোয়েস্ট ব্লক করা বা পরিবর্তন করা পারফরম্যান্সকে মারাত্মকভাবে হ্রাস করতে পারে এবং এর জন্য সংবেদনশীল ব্যবহারকারীর ডেটাতে অতিরিক্ত অ্যাক্সেসের প্রয়োজন হতে পারে। Declarative Net Request API এক্সটেনশনগুলিকে কম অনুমতির মাধ্যমে এবং পারফরম্যান্সে কোনো বাধা সৃষ্টি না করেই ওয়েব কন্টেন্ট ব্লক বা পরিবর্তন করার সুযোগ দেয়।
- এক্সটেনশন নিরাপত্তা উন্নত করুন — ম্যানিফেস্ট ভি৩ বিভিন্ন উপায়ে এক্সটেনশন নিরাপত্তা উন্নত করে। একটি উন্নত কন্টেন্ট নিরাপত্তা নীতি ছাড়াও, দূরবর্তীভাবে হোস্ট করা কোড এবং যথেচ্ছ স্ট্রিং নির্বাহের জন্য সমর্থন সরিয়ে দেওয়া হয়েছে।
- আপনার এক্সটেনশন প্রকাশ করুন — এই বিভাগে বর্ণনা করা হয়েছে কীভাবে আপনার Manifest V3 এক্সটেনশনটি পর্যায়ক্রমে প্রকাশ করবেন, যাতে প্রথমে সীমিত সংখ্যক ব্যবহারকারীর সাথে পরীক্ষা করে নিশ্চিত করা যায় যে এটি প্রত্যাশিতভাবে কাজ করছে।
আমাদের একটি এক্সটেনশন ম্যানিফেস্ট কনভার্টারও আছে। এটি আপনার জন্য সবকিছু করে দেবে না, তবে আপনাকে কাজ শুরু করতে সাহায্য করবে। কনভার্টারটির README ফাইলে বর্ণনা করা আছে যে টুলটি কী কী পরিবর্তন করে।
বর্তমান বৈশিষ্ট্যগুলো বজায় রাখুন
অপ্রত্যাশিত সমস্যা বা বাগের সম্ভাবনা কমাতে, মাইগ্রেট করার সময় নতুন কোনো কার্যকারিতা যোগ না করার পরামর্শ দেওয়া হয়। উদাহরণস্বরূপ, এমন কোনো ফিচার যোগ করলে যার জন্য নতুন অনুমতির প্রয়োজন, তা একটি অনুমতি সতর্কতা (permission warning) দেখাতে পারে, যা ব্যবহারকারী নতুন অনুমতিগুলো গ্রহণ না করা পর্যন্ত আপনার এক্সটেনশনটিকে নিষ্ক্রিয় করে রাখবে। সতর্কতা প্রদর্শন না করে অনুমতি যোগ করার অন্যান্য উপায় সম্পর্কে জানতে ‘অনুমতি সতর্কতা সংক্রান্ত সেরা অনুশীলন’ (Permission warning best practices) দেখুন।
ম্যানিফেস্ট V3 সাধারণত ক্রোম ৮৮ বা তার পরবর্তী সংস্করণগুলোতে সমর্থিত। এপিআই কল আপডেট করার সময়, আপনি দেখতে পারেন যে প্রতিস্থাপিত ফিচারগুলো ক্রোম সংস্করণ ৮৮-এর পরে যুক্ত হয়েছে। এপিআই রেফারেন্স পৃষ্ঠাগুলোতে প্রতিটি এপিআই মেম্বারের জন্য সমর্থনের তথ্য রয়েছে। যদি আপনি দেখেন যে আপনার এই ফিচারগুলোর কোনো একটির প্রয়োজন, তাহলে আপনি ম্যানিফেস্ট ফাইলে একটি ন্যূনতম ক্রোম সংস্করণ নির্দিষ্ট করে দিতে পারেন।
নতুন এক্সটেনশন প্ল্যাটফর্মের বৈশিষ্ট্য
Manifest V3 প্রকাশের পর থেকে, আমরা ক্রমাগত নতুন ফিচার যোগ করে চলেছি, যার মধ্যে অনেকগুলোই Manifest V2 এবং Manifest V3 উভয়টিতেই ব্যবহারযোগ্য। রূপান্তরের সময় এগুলো ব্যবহার করা আপনার জন্য বাধ্যতামূলক নয়; তবে, যখন এগুলো পুরোনো ফিচারগুলোকে প্রতিস্থাপন করবে, তখন প্রতিস্থাপিত ফিচারগুলোর চেয়ে এগুলোকেই অগ্রাধিকার দেওয়া উচিত এবং এটা ধরে নেওয়া উচিত যে প্রতিস্থাপিত ফিচারগুলো অবশেষে অপ্রচলিত হয়ে পড়বে ও সরিয়ে ফেলা হবে।