Chuyển sang hệ thống thông báo gốc trên macOS

Stephen McGruer
Stephen McGruer

Kể từ Chrome 59, thông báo được gửi qua API Thông báo hoặc API tiện ích chrome.notification sẽ hiển thị trực tiếp thông qua hệ thống thông báo gốc của macOS thay vì hệ thống riêng của Chrome.

Thay đổi này giúp Chrome trên macOS có vẻ tích hợp tốt hơn nhiều với nền tảng và sửa một số lỗi tồn tại lâu dài, chẳng hạn như Chrome không tuân thủ chế độ Không làm phiền của hệ thống.

Dưới đây, chúng ta sẽ xem xét sự khác biệt mà thay đổi này tạo ra đối với API.

Trung tâm thông báo

Một trong những lợi ích của thay đổi này là thông báo sẽ được hiển thị trong Trung tâm thông báo của macOS.

Thông báo của Google Chrome sẽ xuất hiện trong trung tâm thông báo của macOS
Thông báo của Google Chrome sẽ xuất hiện trong trung tâm thông báo của macOS

Sự khác biệt

Kích thước và vị trí biểu tượng

Giao diện của các biểu tượng sẽ thay đổi. Chúng sẽ có kích thước nhỏ hơn và khoảng đệm là áp dụng. Bạn nên cân nhắc chuyển sang dùng biểu tượng nền trong suốt thay vì một màu đồng nhất để tạo tính thẩm mỹ.

Trước và sau biểu tượng thông báo của Chrome trên máy Mac được hiển thị bởi Chrome so với được hiển thị bởi
    macOS.
Trước và sau biểu tượng thông báo của Chrome trên máy Mac được hiển thị bởi Chrome so với được hiển thị bởi macOS

Biểu tượng hành động

Trước khi thay đổi này, các nút và biểu tượng hành động sẽ được hiển thị trong . Với thông báo gốc, các biểu tượng nút hành động sẽ không và người dùng sẽ cần di chuột qua thông báo rồi chọn nút "Xem thêm" để xem các hành động có thể thực hiện.

Trước và sau các nút hành động thông báo có biểu tượng được hiển thị
    Chrome so với màn hình mà macOS hiển thị.
Trước và sau các nút hành động thông báo có biểu tượng được hiển thị Chrome so với màn hình của macOS

Biểu trưng Chrome sẽ luôn hiển thị và không thể thay thế hoặc thay đổi được. Chiến dịch này là yêu cầu bắt buộc đối với các ứng dụng bên thứ ba trên macOS.

Hình ảnh

Tuỳ chọn image sẽ không được hỗ trợ trên macOS nữa. Nếu bạn xác định một hình ảnh thì thông báo sẽ vẫn hiển thị nhưng sẽ bỏ qua hình ảnh (Xem ví dụ bên dưới).

Hình ảnh trước và sau của thông báo cho Chrome trên macOS.
Hình ảnh trước và sau của thông báo của Chrome trên macOS

Bạn có thể hỗ trợ tính năng phát hiện hình ảnh bằng mã sau:

if ('image' in Notification.prototype) {  
  // Image is supported.
} else {  
  // Image is NOT supported.
}

Các thay đổi đối với tiện ích của Chrome

Các tiện ích của Chrome có khái niệm về mẫu thông báo sẽ hoạt động khác với thay đổi này.

Mẫu thông báo bằng hình ảnh sẽ không hiển thị hình ảnh nữa. Bạn cần đảm bảo hình ảnh chỉ mang tính bổ sung và không bắt buộc phải hữu ích cho người dùng.

Trước và sau đối với mẫu hình ảnh trong API chrome.notification.
Trước và sau đối với mẫu hình ảnh trong chrome.notification API

Mẫu thông báo về danh sách sẽ chỉ hiển thị mục đầu tiên trong danh sách. Bạn có thể muốn cân nhắc quay lại kiểu thông báo cơ bản và sử dụng phần nội dung để tóm tắt tập hợp các thay đổi.

Trước và sau đối với các mẫu danh sách trong API chrome.notification.
Trước và sau đối với các mẫu danh sách trong chrome.notification API

Thông báo về tiến trình sẽ thêm một giá trị phần trăm vào tiêu đề thông báo để cho biết tiến trình thay vì thanh tiến trình.

Trước và sau đối với các mẫu tiến trình trong chrome.notification API.
Trước và sau đối với các mẫu tiến trình trong chrome.notification API

Điểm khác biệt cuối cùng trong giao diện người dùng thông báo là appIconMarkUrl sẽ không còn được sử dụng trên macOS nữa.

Trước và sau đối với appIconMarkUrl trong API chrome.notification.
Trước và sau của appIconMarkUrl trong API chrome.notification