עדכוני OTA ארגוניים

התוכנה הניתנת לעדכון של Android Compatibility Definition Document (CDD) דורשת ממכשירים ליישם את המחלקה SystemUpdatePolicy . SystemUpdatePolicy מאפשר לאפליקציית בעלי המכשיר (DO), אם קיימת, לשלוט בהתקנה של עדכוני מערכת.

הודעה לבעלי מכשירים

על הלקוח האויר-האוויר (OTA) להודיע ​​לאפליקציות של בעלי המכשיר על עדכוני OTA נכנסים באמצעות ממשק API של המערכת. לקוח OTA חייב לכלול גם הקלטת חותמת זמן כאשר עדכון OTA הפך זמין לראשונה. לקוחות OTA יכולים להתקשר DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch) כדי להודיע ​​לאפליקציות של בעלי המכשיר. אם לקוח OTA אינו יודע אם עדכון הוא תיקון אבטחה, לקוח OTA יכול לחזור ולהשתמש DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime) .

אם עדכון אינו זמין כעת, לקוח OTA מדווח על כך על ידי הגדרת הארגומנט updateReceivedTime ל -1 . אנו ממליצים לשלוח הודעות בכל פעם שלקוח OTA מסקר את שרת OTA, או כאשר OTA נדחף ללקוח. אתה יכול גם לשלוח הודעות בתדירות גבוהה יותר.

מדיניות עדכון מערכת

אנדרואיד 9 משפרת את היכולת של בעלי מכשירים לשלוט בעדכונים בכך שהיא מאפשרת לבעלי מכשירים לדחות עדכוני OTA עד 90 יום. התמקדות בפתרונות מכשירים ייעודיים (שנקראו בעבר COSU), תכונה זו מאפשרת לבעלים להשהות את גרסת מערכת ההפעלה הפועלת במכשירים בתקופות קריטיות, כגון חגים.

כדי לעמוד ב-CDD, לקוח OTA חייב ליישם מדיניות התנהגותית. ה-DO יכול להגדיר את המדיניות הבאה, שאותן יש לכבד על ידי תת-מערכות עדכון מערכת ההתקן:

בעלי מכשירים יכולים גם להגדיר תקופות הקפאה (באנדרואיד 9 ואילך) שמקפיאות את גרסת מערכת ההפעלה על פני תקופות קריטיות, כגון חגים או שעות עמוסות אחרות. המערכת לא מתקינה עדכוני OTA במהלך תקופת הקפאה. אנו ממליצים להשתמש SystemUpdatePolicy.InstallationOption (ראה בסעיף הבא), אולם לקוח OTA יכול גם לקרוא ל- SystemUpdatePolicy.getFreezePeriods() כדי לבדוק אם המכשיר נמצא בתקופת הקפאה.

יישום אפשרויות התקנה

אנדרואיד 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. בזמן ששעון המערכת נמצא בתקופת ההשהיה, לחץ על עדכון OTA.
  3. ודא שהמכשיר לא מקבל את עדכון OTA והמשתמש אינו יכול להתקין את העדכון באופן ידני.
  4. אם ההתקן הוא התקן A/B, הפעל מחדש את המכשיר וודא שהאתחול לא הפעיל התקנה אוטומטית של העדכון.

תוקף המדיניות TYPE_PAUSE פג

כדי לאמת מדיניות TYPE_PAUSE שפג תוקפו פועל:

  1. הגדר מדיניות אוטומטית וציין TYPE_PAUSE .
  2. בזמן ששעון המערכת נמצא בתקופת ההשהיה, לחץ על עדכון OTA.
  3. המתן עד שהפסקת המחזור תפוג.
  4. ודא שהמכשיר מאתחל אוטומטית ועדכון OTA נלקח לאחר האתחול.