এন্টারপ্রাইজ OTA আপডেট

Android Compatibility Definition Document (CDD) Updatable Software-এর জন্য SystemUpdatePolicy ক্লাস বাস্তবায়নের জন্য ডিভাইসের প্রয়োজন হয়। SystemUpdatePolicy ডিভাইসের মালিক (DO) অ্যাপকে, উপস্থিত থাকলে, সিস্টেম আপডেটের ইনস্টলেশন নিয়ন্ত্রণ করতে দেয়।

ডিভাইস মালিকদের অবহিত করুন

ওভার-দ্য-এয়ার (OTA) ক্লায়েন্টকে অবশ্যই একটি সিস্টেম API ব্যবহার করে ইনকামিং OTA আপডেট সম্পর্কে ডিভাইস মালিকের অ্যাপকে অবহিত করতে হবে। OTA ক্লায়েন্টকে অবশ্যই একটি টাইমস্ট্যাম্প রেকর্ডিং অন্তর্ভুক্ত করতে হবে যখন OTA আপডেট প্রথম উপলব্ধ হয়। OTA ক্লায়েন্টরা ডিভাইসের মালিক অ্যাপগুলিকে জানানোর জন্য DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch) কল করতে পারেন। যদি OTA ক্লায়েন্ট না জানে যে একটি আপডেট একটি নিরাপত্তা প্যাচ, OTA ক্লায়েন্ট DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime) ব্যবহার করে ফিরে আসতে পারে।

যদি একটি আপডেট বর্তমানে উপলব্ধ না হয়, OTA ক্লায়েন্ট updateReceivedTime আর্গুমেন্ট -1 এ সেট করে এটি রিপোর্ট করে। যখনই OTA ক্লায়েন্ট OTA সার্ভারে ভোট দেয়, বা যখন একটি OTA ক্লায়েন্টের কাছে পুশ করা হয় তখন আমরা বিজ্ঞপ্তি পাঠানোর সুপারিশ করি। আপনি আরও ঘন ঘন বিজ্ঞপ্তি পাঠাতে পারেন।

সিস্টেম আপডেট নীতি

Android 9 ডিভাইস মালিকদের 90 দিন পর্যন্ত OTA আপডেট স্থগিত করার অনুমতি দিয়ে আপডেট নিয়ন্ত্রণ করার ক্ষমতা বাড়ায়। ডেডিকেটেড ডিভাইস (আগে বলা হতো COSU) সমাধানের উপর দৃষ্টি নিবদ্ধ করে, এই বৈশিষ্ট্যটি মালিকদেরকে ছুটির মতো জটিল সময়গুলোতে ডিভাইসে চলমান OS সংস্করণকে বিরতি দিতে দেয়।

CDD মেনে চলার জন্য, OTA ক্লায়েন্টকে অবশ্যই আচরণগত নীতি বাস্তবায়ন করতে হবে। ডিও নিম্নলিখিত নীতিগুলি সেট করতে পারে, যা ডিভাইস সিস্টেম আপডেট সাবসিস্টেমের দ্বারা অবশ্যই মান্য করা উচিত:

ডিভাইসের মালিকরা ফ্রিজ পিরিয়ডও সেট করতে পারেন (Android 9 বা তার পরে) যা OS সংস্করণকে জটিল সময়গুলিতে, যেমন ছুটির দিন বা অন্যান্য ব্যস্ত সময়গুলিতে হিমায়িত করে। ফ্রিজ পিরিয়ডের সময় সিস্টেমটি OTA আপডেট ইনস্টল করে না। আমরা SystemUpdatePolicy.InstallationOption ব্যবহার করার পরামর্শ দিই (নিম্নলিখিত বিভাগটি দেখুন), তবে OTA ক্লায়েন্ট ডিভাইসটি ফ্রিজ পিরিয়ডে আছে কিনা তা পরীক্ষা করতে SystemUpdatePolicy.getFreezePeriods() কল করতে পারে।

ইনস্টলেশন বিকল্পগুলি প্রয়োগ করুন

Android 9 একটি @SystemApi, SystemUpdatePolicy.InstallationOption প্রবর্তন করেছে, যা সিস্টেম আপডেট ক্লায়েন্টদের জন্য ডিজাইন করা হয়েছে। SystemUpdatePolicy.InstallationOption পলিসি এবং ফ্রিজ পিরিয়ডের জন্য একটি মোড়ক শ্রেণী হিসেবে কাজ করে। একটি ইনস্টলেশন বিকল্প ক্লায়েন্টদের জানায় কিভাবে ইনকামিং সিস্টেম আপডেটের উপর কাজ করতে হবে এবং বর্তমান সিস্টেম আপডেট নীতি বা সেট করা হতে পারে এমন কোনো ফ্রিজ পিরিয়ডের পরিপ্রেক্ষিতে সেই ক্রিয়াটি কতদিনের জন্য বৈধ। একটি ইনস্টলেশন বিকল্প নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:

  • TYPE_INSTALL_AUTOMATIC - ইনকামিং সিস্টেম আপডেটগুলি অবিলম্বে এবং ব্যবহারকারীর হস্তক্ষেপ ছাড়াই ইনস্টল করা হয় যত তাড়াতাড়ি তারা উপলব্ধ হয়। ডিভাইসটি স্বয়ংক্রিয়ভাবে রিবুট হয়।
  • TYPE_POSTPONE - ইনকামিং সিস্টেম আপডেটগুলি সর্বাধিক 30 দিনের জন্য বিলম্বিত হতে পারে৷ ব্যবহারকারীরা ম্যানুয়ালি একটি আপডেট ইনস্টল করতে পারবেন না। ডিভাইস নির্মাতারা নিরাপত্তা প্যাচ ব্লক করবেন কি না তা বেছে নিতে পারেন।
  • TYPE_PAUSE - ইনকামিং সিস্টেম আপডেটগুলি পরবর্তী বিজ্ঞপ্তি না হওয়া পর্যন্ত অনির্দিষ্টকালের জন্য বিলম্বিত হতে পারে৷ ব্যবহারকারীরা ম্যানুয়ালি একটি আপডেট ইনস্টল করতে পারবেন না। TYPE_PAUSE নিরাপত্তা প্যাচ সহ সমস্ত আপডেট বিলম্বিত করে৷

সিস্টেম আপডেট ক্লায়েন্টরা SystemUpdatePolicy.InstallationOption SystemUpdatePolicy.getInstallationOptionAt(long when ) জিজ্ঞাসা করতে পারে, যেখানে ইপক থেকে মিলিসেকেন্ডের সংখ্যায় ইনস্টলেশন বিকল্পটি জিজ্ঞাসা করা হচ্ছে সেই when প্রতিনিধিত্ব করে। SystemUpdatePolicy.getInstallationOptionAt(long when ) পদ্ধতি ব্যবহার করে, সিস্টেম আপডেট ক্লায়েন্টরা কার্যকর সময় শেষ না হওয়া পর্যন্ত ফিরে আসা বিকল্পে কাজ করতে পারে। প্রত্যাবর্তিত বিকল্পটি শেষ হয়ে যাওয়ার পরে, ক্লায়েন্ট সাম্প্রতিক বিকল্পটির জন্য একটি নতুন টাইমস্ট্যাম্প ব্যবহার করে আরেকটি প্রশ্ন করতে পারে।

সিস্টেম আপডেট ক্লায়েন্টকে অবশ্যই DevicePolicyManager.ACTION_SYSTEM_UPDATE_POLICY_CHANGED সম্প্রচার শুনতে হবে যদি পুরো নীতি আপডেট করা হয়।

TYPE_PAUSE নীতি যাচাই করুন

আপনি ম্যানুয়ালি যাচাই করতে পারেন TYPE_PAUSE বিকল্পটি একটি OTA সিস্টেমে কাজ করে৷

নীতি TYPE_PAUSE কার্যকর

একটি TYPE_PAUSE নীতি যাচাই করতে কাজ করছে:

  1. একটি স্বয়ংক্রিয় নীতি সেট করুন এবং TYPE_PAUSE নির্দিষ্ট করুন।
  2. সিস্টেম ঘড়ি যখন বিরতি সময়কালে, একটি OTA আপডেট চাপুন।
  3. ডিভাইসটি OTA আপডেট নেয় না এবং ব্যবহারকারী নিজে আপডেটটি ইনস্টল করতে পারবেন না তা যাচাই করুন।
  4. যদি ডিভাইসটি একটি A/B ডিভাইস হয়, তাহলে ডিভাইসটি রিবুট করুন এবং যাচাই করুন যে রিবুট আপডেটের স্বয়ংক্রিয়-ইনস্টল ট্রিগার করেনি।

নীতি TYPE_PAUSE মেয়াদ শেষ হয়েছে৷

মেয়াদোত্তীর্ণ TYPE_PAUSE নীতি কাজ করছে তা যাচাই করতে:

  1. একটি স্বয়ংক্রিয় নীতি সেট করুন এবং TYPE_PAUSE নির্দিষ্ট করুন।
  2. সিস্টেম ঘড়ি যখন বিরতি সময়কালে, একটি OTA আপডেট চাপুন।
  3. পিরিয়ডের মেয়াদ শেষ হওয়ার জন্য বিরতি পর্যন্ত অপেক্ষা করুন।
  4. ডিভাইসটি স্বয়ংক্রিয়ভাবে রিবুট হয় তা যাচাই করুন এবং রিবুট করার পরে OTA আপডেট নেওয়া হয়।