एंटरप्राइज ओटीए अपडेट

एंड्रॉइड कम्पेटिबिलिटी डेफिनिशन डॉक्यूमेंट (सीडीडी) अपडेटेबल सॉफ़्टवेयर को SystemUpdatePolicy क्लास को लागू करने के लिए उपकरणों की आवश्यकता होती है। SystemUpdatePolicy डिवाइस मालिक (DO) ऐप को, यदि मौजूद है, सिस्टम अपडेट की स्थापना को नियंत्रित करने देता है।

डिवाइस स्वामियों को सूचित करना

ओवर-द-एयर (ओटीए) क्लाइंट को सिस्टम एपीआई का उपयोग करके आने वाले ओटीए अपडेट के बारे में डिवाइस मालिक ऐप्स को सूचित करना होगा। ओटीए अपडेट पहली बार उपलब्ध होने पर ओटीए क्लाइंट में टाइमस्टैम्प रिकॉर्डिंग भी शामिल होनी चाहिए। ओटीए क्लाइंट डिवाइस मालिक ऐप्स को सूचित करने के लिए DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch) कॉल कर सकते हैं। यदि OTA क्लाइंट को पता नहीं है कि कोई अपडेट एक सुरक्षा पैच है, तो OTA क्लाइंट वापस DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime) का उपयोग कर सकता है।

यदि कोई अद्यतन वर्तमान में उपलब्ध नहीं है, तो OTA क्लाइंट updateReceivedTime तर्क को -1 पर सेट करके इसकी रिपोर्ट करता है। जब भी OTA क्लाइंट OTA सर्वर पर मतदान करता है, या जब कोई OTA क्लाइंट को भेजा जाता है, तो हम सूचनाएं भेजने की सलाह देते हैं। आप सूचनाएं अधिक बार भी भेज सकते हैं.

सिस्टम अद्यतन नीति

एंड्रॉइड 9 डिवाइस मालिकों के लिए ओटीए अपडेट को 90 दिनों तक स्थगित करने की अनुमति देकर अपडेट को नियंत्रित करने की क्षमता को बढ़ाता है। समर्पित डिवाइस (जिसे पहले COSU कहा जाता था) समाधानों पर ध्यान केंद्रित करते हुए, यह सुविधा मालिकों को छुट्टियों जैसे महत्वपूर्ण अवधियों में डिवाइस पर चलने वाले OS संस्करण को रोकने देती है।

सीडीडी का अनुपालन करने के लिए, ओटीए क्लाइंट को व्यवहार संबंधी नीतियां लागू करनी होंगी। डीओ निम्नलिखित नीतियां निर्धारित कर सकता है, जिनका डिवाइस सिस्टम अपडेट सबसिस्टम द्वारा सम्मान किया जाना चाहिए:

डिवाइस मालिक फ़्रीज़ अवधि भी सेट कर सकते हैं (एंड्रॉइड 9 या उसके बाद के संस्करण में) जो महत्वपूर्ण अवधि, जैसे छुट्टियों या अन्य व्यस्त समय में ओएस संस्करण को फ़्रीज़ कर देता है। फ़्रीज़ अवधि के दौरान सिस्टम OTA अपडेट इंस्टॉल नहीं करता है। हम SystemUpdatePolicy.InstallationOption (निम्नलिखित अनुभाग देखें) का उपयोग करने की अनुशंसा करते हैं, हालांकि OTA क्लाइंट यह जांचने के लिए SystemUpdatePolicy.getFreezePeriods() को भी कॉल कर सकता है कि डिवाइस फ्रीज अवधि में है या नहीं।

स्थापना विकल्प लागू करना

एंड्रॉइड 9 एक @SystemApi, SystemUpdatePolicy.InstallationOption पेश करता है, जो सिस्टम अपडेट क्लाइंट के लिए डिज़ाइन किया गया है। SystemUpdatePolicy.InstallationOption नीतियों और फ़्रीज़ अवधि के लिए एक रैपर वर्ग के रूप में कार्य करता है। एक इंस्टॉलेशन विकल्प ग्राहकों को बताता है कि आने वाले सिस्टम अपडेट पर कैसे कार्य करना है और वर्तमान सिस्टम अपडेट नीति या सेट की जा सकने वाली किसी भी फ़्रीज़ अवधि को देखते हुए, वह कार्रवाई कितने समय के लिए वैध है। एक इंस्टालेशन विकल्प निम्नलिखित में से एक हो सकता है:

  • TYPE_INSTALL_AUTOMATIC - आने वाले सिस्टम अपडेट उपलब्ध होते ही तुरंत और उपयोगकर्ता के हस्तक्षेप के बिना इंस्टॉल हो जाते हैं। डिवाइस स्वचालित रूप से रीबूट हो जाता है।
  • TYPE_POSTPONE - आने वाले सिस्टम अपडेट में अधिकतम 30 दिनों की देरी हो सकती है। उपयोगकर्ता किसी अपडेट को मैन्युअल रूप से इंस्टॉल नहीं कर सकते. डिवाइस निर्माता चुन सकते हैं कि सुरक्षा पैच को ब्लॉक करना है या नहीं।
  • TYPE_PAUSE - आने वाले सिस्टम अपडेट को अगली सूचना तक अनिश्चित काल तक विलंबित किया जा सकता है। उपयोगकर्ता किसी अपडेट को मैन्युअल रूप से इंस्टॉल नहीं कर सकते. TYPE_PAUSE सुरक्षा पैच सहित सभी अपडेट में देरी करता है।

सिस्टम अपडेट क्लाइंट SystemUpdatePolicy.getInstallationOptionAt(long when ) का उपयोग करके SystemUpdatePolicy.InstallationOption क्वेरी कर सकते हैं, जहां 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. सत्यापित करें कि डिवाइस ओटीए अपडेट नहीं लेता है और उपयोगकर्ता अपडेट को मैन्युअल रूप से इंस्टॉल नहीं कर सकता है।
  4. यदि डिवाइस ए/बी डिवाइस है, तो डिवाइस को रीबूट करें और सत्यापित करें कि रीबूट ने अपडेट के ऑटो-इंस्टॉल को ट्रिगर नहीं किया है।

नीति TYPE_PAUSE समाप्त हो गई है

समाप्त हो चुकी TYPE_PAUSE नीति को सत्यापित करने के लिए काम कर रहा है:

  1. एक स्वचालित नीति सेट करें और TYPE_PAUSE निर्दिष्ट करें।
  2. जब सिस्टम क्लॉक विराम अवधि में हो, तो एक OTA अपडेट पुश करें।
  3. विराम की अवधि समाप्त होने तक प्रतीक्षा करें।
  4. सत्यापित करें कि डिवाइस स्वचालित रूप से रीबूट हो जाता है और रीबूट के बाद ओटीए अपडेट लिया जाता है।