تحديثات OTA الخاصة بالمؤسسة

يتطلب البرنامج القابل للتحديث لمستند تعريف توافق Android (CDD) أجهزة لتنفيذ فئة SystemUpdatePolicy . يتيح SystemUpdatePolicy لتطبيق مالك الجهاز (DO)، إن وجد، التحكم في تثبيت تحديثات النظام.

إعلام أصحاب الأجهزة

يجب على العميل عبر الهواء (OTA) إخطار تطبيقات مالك الجهاز بتحديثات OTA الواردة باستخدام واجهة برمجة تطبيقات النظام. يجب أن يتضمن عميل OTA أيضًا تسجيل الطابع الزمني عندما أصبح تحديث OTA متاحًا لأول مرة. يمكن لعملاء OTA الاتصال بـ DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch) لإعلام تطبيقات مالك الجهاز. إذا كان عميل OTA لا يعرف ما إذا كان التحديث عبارة عن تصحيح أمني، فيمكن لعميل OTA الرجوع إلى استخدام DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime) .

إذا لم يكن التحديث متاحًا حاليًا، فسيقوم عميل OTA بالإبلاغ عن ذلك عن طريق تعيين الوسيطة updateReceivedTime على -1 . نوصي بإرسال إشعارات عندما يقوم عميل OTA باستقصاء خادم OTA، أو عندما يتم دفع OTA إلى العميل. يمكنك أيضًا إرسال الإشعارات بشكل متكرر.

سياسة تحديث النظام

يعمل Android 9 على تحسين قدرة مالكي الأجهزة على التحكم في التحديثات من خلال السماح لأصحاب الأجهزة بتأجيل تحديثات OTA لمدة تصل إلى 90 يومًا. من خلال التركيز على حلول الأجهزة المخصصة (المعروفة سابقًا باسم COSU)، تتيح هذه الميزة للمالكين إيقاف إصدار نظام التشغيل الذي يعمل على الأجهزة مؤقتًا خلال الفترات الحرجة، مثل العطلات.

للامتثال لـ CDD، يجب على عميل OTA تنفيذ السياسات السلوكية. يمكن لـ DO تعيين السياسات التالية، والتي يجب احترامها من قبل الأنظمة الفرعية لتحديث نظام الجهاز:

يمكن لمالكي الأجهزة أيضًا تعيين فترات تجميد (في 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 الوقت الذي يتم فيه الاستعلام عن خيار التثبيت بعدد المللي ثانية منذ Epoch. باستخدام الأسلوب SystemUpdatePolicy.getInstallationOptionAt(long when ) ، يمكن لعملاء تحديث النظام التصرف بناءً على الخيار الذي تم إرجاعه حتى انقضاء الوقت الفعلي. بعد انقضاء الخيار الذي تم إرجاعه، يمكن للعميل إجراء استعلام آخر، باستخدام طابع زمني جديد، للخيار الأحدث.

يجب أن يستمع عميل تحديث النظام إلى عمليات البث DevicePolicyManager.ACTION_SYSTEM_UPDATE_POLICY_CHANGED في حالة تحديث السياسة بأكملها.

التحقق من صحة سياسة TYPE_PAUSE

يمكنك التحقق يدويًا من صحة خيار TYPE_PAUSE الذي يعمل على نظام OTA.

السياسة TYPE_PAUSE سارية المفعول

للتحقق من صحة عمل سياسة TYPE_PAUSE :

  1. قم بتعيين سياسة تلقائية وحدد TYPE_PAUSE .
  2. أثناء وجود ساعة النظام في فترة الإيقاف المؤقت، قم بإجراء تحديث عبر الهواء.
  3. تأكد من أن الجهاز لا يتلقى تحديث OTA ولا يمكن للمستخدم تثبيت التحديث يدويًا.
  4. إذا كان الجهاز من فئة A/B، فأعد تشغيل الجهاز وتأكد من أن إعادة التشغيل لم تؤدي إلى التثبيت التلقائي للتحديث.

انتهت صلاحية السياسة TYPE_PAUSE

للتحقق من صحة سياسة TYPE_PAUSE منتهية الصلاحية:

  1. قم بتعيين سياسة تلقائية وحدد TYPE_PAUSE .
  2. أثناء وجود ساعة النظام في فترة الإيقاف المؤقت، قم بإجراء تحديث عبر الهواء.
  3. انتظر حتى انتهاء فترة التوقف المؤقت.
  4. تحقق من إعادة تشغيل الجهاز تلقائيًا ومن إجراء التحديث عبر الهواء (OTA) بعد إعادة التشغيل.