Android कंपैटबिलिटी डेफ़िनिशन डॉक्यूमेंट (सीडीडी) के अपडेट किए जा सकने वाले सॉफ़्टवेयर के लिए, डिवाइसों में SystemUpdatePolicy
क्लास को लागू करना ज़रूरी है. SystemUpdatePolicy
, डिवाइस के मालिक (डीओ) ऐप्लिकेशन को सिस्टम अपडेट के इंस्टॉलेशन को कंट्रोल करने की अनुमति देता है. हालांकि, इसके लिए ज़रूरी है कि डिवाइस पर डीओ ऐप्लिकेशन मौजूद हो.
डिवाइस के मालिकों को सूचना देना
ओवर-द-एयर (ओटीए) क्लाइंट को सिस्टम एपीआई का इस्तेमाल करके, डिवाइस के मालिक के ऐप्लिकेशन को, आ रहे ओटीए अपडेट के बारे में सूचना देनी चाहिए. ओटीए क्लाइंट में, ओटीए अपडेट के पहली बार उपलब्ध होने का टाइमस्टैंप भी शामिल होना चाहिए. डिवाइस के मालिक के ऐप्लिकेशन को सूचना देने के लिए, ओटीए क्लाइंट DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch)
को कॉल कर सकते हैं. अगर ओटीए क्लाइंट को यह नहीं पता कि कोई अपडेट
सुरक्षा पैच है या नहीं, तो ओटीए क्लाइंट DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime)
का इस्तेमाल कर सकता है.
अगर कोई अपडेट फ़िलहाल उपलब्ध नहीं है, तो OTA क्लाइंट इसकी जानकारी देता है. इसके लिए, वह updateReceivedTime
आर्ग्युमेंट को -1
पर सेट करता है.
हमारा सुझाव है कि जब भी ओटीए क्लाइंट, ओटीए सर्वर से अनुरोध करे या क्लाइंट पर ओटीए को पुश किया जाए, तब सूचनाएं भेजें. सूचनाएं ज़्यादा बार भी भेजी जा सकती हैं.
सिस्टम अपडेट से जुड़ी नीति
Android 9 में, डिवाइस के मालिकों को अपडेट कंट्रोल करने की सुविधा बेहतर तरीके से मिलती है. इसकी मदद से, वे ओटीए अपडेट को ज़्यादा से ज़्यादा 90 दिनों तक के लिए रोक सकते हैं. खास मकसद के लिए कॉन्फ़िगर किए गए डिवाइसों (पहले इन्हें सीओएसयू कहा जाता था) के लिए उपलब्ध समाधानों पर फ़ोकस करने वाली इस सुविधा की मदद से, डिवाइस के मालिक छुट्टियों जैसी अहम अवधियों के दौरान, डिवाइस पर चल रहे ओएस वर्शन को रोक सकते हैं.
सीडीडी का पालन करने के लिए, ओटीए क्लाइंट को ग्राहक के व्यवहार के आधार पर बनी नीतियों को लागू करना होगा. डीओ ये नीतियां सेट कर सकता है. डिवाइस के सिस्टम अपडेट सबसिस्टम को इनका पालन करना होगा:
डिवाइस के मालिक, Android 9 या उसके बाद के वर्शन में, फ़्रीज़ करने की अवधि सेट भी कर सकते हैं. इससे, छुट्टियों या व्यस्त समय जैसी अहम अवधियों के दौरान, डिवाइस के OS वर्शन को फ़्रीज़ किया जा सकता है. फ़्रीज़ की अवधि के दौरान, सिस्टम
ओटीए अपडेट इंस्टॉल नहीं करता. हमारा सुझाव है कि आप
SystemUpdatePolicy.InstallationOption
(नीचे दिया गया सेक्शन देखें) का इस्तेमाल करें. हालांकि, डिवाइस फ़्रीज़ है या नहीं, यह पता करने के लिए OTA क्लाइंट,
SystemUpdatePolicy.getFreezePeriods()
को भी कॉल कर सकता है.