يتطلّب برنامج تعريف التوافق مع Android (CDD) من الأجهزة تنفيذ الفئة SystemUpdatePolicy
. يتيح SystemUpdatePolicy
لتطبيق "مالك الجهاز" (DO) التحكّم في تثبيت تحديثات النظام، إذا كان مثبّتًا.
إرسال إشعار إلى مالكي الأجهزة
يجب أن يُرسِل برنامج OTA إشعارًا إلى تطبيقات مالك الجهاز بشأن
التحديثات الواردة عبر شبكة غير سلكية باستخدام واجهة برمجة تطبيقات النظام. يجب أن يتضمّن عميل "عبر الهواء" أيضًا
تسجيلاً للطابع الزمني عند توفّر تحديث "عبر الهواء" لأول مرة. يمكن لعملاء OTA الاتصال برقم
DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch)
لإرسال إشعارات إلى تطبيقات مالكي الأجهزة. إذا لم يكن عميل OTA يعلم ما إذا كان التحديث
عبارة عن تصحيح أمان، يمكن لعميل OTA الرجوع إلى استخدام
DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime)
.
إذا لم يتوفّر أي تحديث حاليًا، سيُبلغ برنامج OTA عن ذلك من خلال ضبط الوسيطة updateReceivedTime
على -1
.
ننصحك بإرسال إشعارات عندما يستطلع عميل "عبر الهواء" خادم
التحديث عبر الهواء، أو عند إرسال إشعار عبر الهواء إلى العميل. يمكنك أيضًا إرسال
الإشعارات بشكلٍ متكرّر.
سياسة تحديث النظام
يعزّز نظام التشغيل Android 9 قدرة مالكي الأجهزة على التحكّم في التحديثات من خلال السماح لهم بتأجيل تحديثات OTA لمدة تصل إلى 90 يومًا. ومن خلال التركيز على حلول الأجهزة المخصّصة (المعروفة سابقًا باسم COSU)، تتيح هذه الميزة للمالكين إيقاف إصدار نظام التشغيل الذي يعمل على الأجهزة مؤقتًا خلال الفترات الحرجة، مثل العطلات.
للالتزام بسياسة حماية البيانات، على العميل التابع لشركة تكنولوجيا المعلومات التنفيذية تنفيذ السياسات المتعلّقة بالسلوك. يمكن لنظام التشغيل تحديد السياسات التالية التي يجب أن تلتزم بها أنظمة فرعية لتحديث نظام الجهاز:
يمكن لمالكي الأجهزة أيضًا
ضبط
فترات إيقاف التحديثات (في Android 9 أو الإصدارات الأحدث) التي تعمل على إيقاف تحديثات نظام التشغيل
خلال الفترات الحرجة، مثل الأعياد أو الأوقات المزدحمة الأخرى. لا يثبِّت النظام
التحديثات عبر شبكة غير سلكية (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
:
-
يمكنك ضبط سياسة تلقائية وتحديد
TYPE_PAUSE
. - أثناء فترة الإيقاف المؤقت لساعة النظام، يمكنك إرسال تحديث عبر شبكة غير سلكية.
- تأكَّد من أنّ الجهاز لا يقبل التحديث عبر الهواء وأنّه لن يتمكّن المستخدم من تثبيت التحديث يدويًا.
- إذا كان الجهاز من النوع A/B، أعِد تشغيله وتأكَّد مما يلي: لم تؤدِ إعادة التشغيل إلى بدء عملية تثبيت التحديث تلقائيًا.
انتهت صلاحية السياسة TYPE_PAUSE
للتحقّق من أنّ سياسة TYPE_PAUSE
منتهية الصلاحية تعمل:
-
اضبط سياسة تلقائية وحدِّد
TYPE_PAUSE
. - أثناء فترة الإيقاف المؤقت لساعة النظام، يمكنك إرسال تحديث عبر شبكة غير سلكية.
- انتظِر حتى انتهاء فترة الإيقاف المؤقت.
- تأكَّد من أنّ الجهاز تتم إعادة تشغيله تلقائيًا وأنّه يتم تثبيت التحديث عبر الهواء بعد إعادة التشغيل.