Cập nhật OTA doanh nghiệp

Phần mềm có thể cập nhật Tài liệu định nghĩa tương thích (CDD) của Android yêu cầu các thiết bị triển khai lớp SystemUpdatePolicy . SystemUpdatePolicy cho phép ứng dụng chủ sở hữu thiết bị (DO), nếu có, kiểm soát việc cài đặt các bản cập nhật hệ thống.

Thông báo cho chủ sở hữu thiết bị

Ứng dụng khách qua mạng (OTA) phải thông báo cho ứng dụng của chủ sở hữu thiết bị về các bản cập nhật OTA sắp tới bằng API hệ thống. Ứng dụng khách OTA cũng phải bao gồm bản ghi dấu thời gian khi có bản cập nhật OTA lần đầu tiên. Máy khách OTA có thể gọi DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch) để thông báo cho ứng dụng của chủ sở hữu thiết bị. Nếu ứng dụng khách OTA không biết liệu bản cập nhật có phải là bản vá bảo mật hay không thì ứng dụng khách OTA có thể quay lại sử dụng DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime) .

Nếu hiện không có bản cập nhật, máy khách OTA sẽ báo cáo điều này bằng cách đặt đối số updateReceivedTime thành -1 . Chúng tôi khuyên bạn nên gửi thông báo bất cứ khi nào máy khách OTA thăm dò máy chủ OTA hoặc khi OTA được đẩy tới máy khách. Bạn cũng có thể gửi thông báo thường xuyên hơn.

Chính sách cập nhật hệ thống

Android 9 nâng cao khả năng kiểm soát các bản cập nhật của chủ sở hữu thiết bị bằng cách cho phép chủ sở hữu thiết bị hoãn cập nhật OTA trong tối đa 90 ngày. Tập trung vào các giải pháp thiết bị chuyên dụng (trước đây gọi là COSU), tính năng này cho phép chủ sở hữu tạm dừng phiên bản hệ điều hành đang chạy trên thiết bị trong những khoảng thời gian quan trọng, chẳng hạn như ngày lễ.

Để tuân thủ CDD, khách hàng OTA phải thực hiện các chính sách hành vi. DO có thể đặt các chính sách sau đây mà hệ thống con cập nhật hệ thống thiết bị phải tuân thủ:

Chủ sở hữu thiết bị cũng có thể đặt thời gian đóng băng (trong Android 9 trở lên) để đóng băng phiên bản hệ điều hành trong những khoảng thời gian quan trọng, chẳng hạn như ngày lễ hoặc thời điểm bận rộn khác. Hệ thống không cài đặt các bản cập nhật OTA trong thời gian đóng băng. Chúng tôi khuyên bạn nên sử dụng SystemUpdatePolicy.InstallationOption (xem phần sau), tuy nhiên, ứng dụng khách OTA cũng có thể gọi SystemUpdatePolicy.getFreezePeriods() để kiểm tra xem thiết bị có đang trong thời gian đóng băng hay không.

Thực hiện các tùy chọn cài đặt

Android 9 giới thiệu @SystemApi, SystemUpdatePolicy.InstallationOption , được thiết kế cho các máy khách cập nhật hệ thống. SystemUpdatePolicy.InstallationOption đóng vai trò là lớp bao bọc cho các chính sách và thời gian đóng băng. Tùy chọn cài đặt cho khách hàng biết cách hành động đối với các bản cập nhật hệ thống đến và hành động đó có hiệu lực trong bao lâu, dựa trên chính sách cập nhật hệ thống hiện tại hoặc bất kỳ khoảng thời gian đóng băng nào có thể được đặt. Tùy chọn cài đặt có thể là một trong những tùy chọn sau:

  • TYPE_INSTALL_AUTOMATIC - Các bản cập nhật hệ thống sắp tới sẽ cài đặt ngay lập tức và không cần sự can thiệp của người dùng ngay khi chúng có sẵn. Thiết bị tự động khởi động lại.
  • TYPE_POSTPONE - Các bản cập nhật hệ thống đến có thể bị trì hoãn tối đa 30 ngày. Người dùng không thể cài đặt bản cập nhật theo cách thủ công. Nhà sản xuất thiết bị có thể chọn chặn hoặc không chặn các bản vá bảo mật.
  • TYPE_PAUSE - Các bản cập nhật hệ thống sắp tới có thể bị trì hoãn vô thời hạn cho đến khi có thông báo mới. Người dùng không thể cài đặt bản cập nhật theo cách thủ công. TYPE_PAUSE trì hoãn tất cả các bản cập nhật, bao gồm cả các bản vá bảo mật.

Máy khách cập nhật hệ thống có thể truy vấn SystemUpdatePolicy.InstallationOption bằng cách sử dụng SystemUpdatePolicy.getInstallationOptionAt(long when ) , trong đó when biểu thị thời gian tùy chọn cài đặt được truy vấn tính bằng mili giây kể từ Epoch. Sử dụng phương thức SystemUpdatePolicy.getInstallationOptionAt(long when ) , các máy khách cập nhật hệ thống có thể hành động theo tùy chọn được trả về cho đến khi hết thời gian hiệu lực. Sau khi tùy chọn được trả về hết hiệu lực, máy khách có thể thực hiện một truy vấn khác, sử dụng dấu thời gian mới, cho tùy chọn gần đây nhất.

Ứng dụng cập nhật hệ thống phải lắng nghe các chương trình phát sóng DevicePolicyManager.ACTION_SYSTEM_UPDATE_POLICY_CHANGED trong trường hợp toàn bộ chính sách được cập nhật.

Xác thực chính sách TYPE_PAUSE

Bạn có thể xác thực thủ công tùy chọn TYPE_PAUSE hoạt động trên hệ thống OTA.

Chính sách TYPE_PAUSE đang có hiệu lực

Để xác thực chính sách TYPE_PAUSE đang hoạt động:

  1. Đặt chính sách tự động và chỉ định TYPE_PAUSE .
  2. Trong khi đồng hồ hệ thống đang trong giai đoạn tạm dừng, hãy cập nhật OTA.
  3. Xác minh rằng thiết bị không nhận bản cập nhật OTA và người dùng không thể cài đặt bản cập nhật theo cách thủ công.
  4. Nếu thiết bị là thiết bị A/B, hãy khởi động lại thiết bị và xác minh rằng quá trình khởi động lại không kích hoạt quá trình tự động cài đặt bản cập nhật.

Chính sách TYPE_PAUSE đã hết hạn

Để xác thực chính sách TYPE_PAUSE đã hết hạn đang hoạt động:

  1. Đặt chính sách tự động và chỉ định TYPE_PAUSE .
  2. Trong khi đồng hồ hệ thống đang trong giai đoạn tạm dừng, hãy cập nhật OTA.
  3. Đợi thời gian tạm dừng hết hạn.
  4. Xác minh thiết bị tự động khởi động lại và cập nhật OTA được thực hiện sau khi khởi động lại.