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

Stephen McGruer
Stephen McGruer

Kể từ Chrome 59, các thông báo được gửi qua API Thông báo hoặc API tiện ích chrome.notifications sẽ hiển thị trực tiếp trong 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ảm thấy quá trình tích hợp Chrome hiệu quả hơn vào nền tảng và khắc phục một số lỗi lâu dài, chẳng hạn như Chrome không tuân theo chế độ cài đặt 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 gây ra cho các API hiện có.

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ẽ 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í của biểu tượng

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

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

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

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

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

Biểu trưng Chrome sẽ luôn được hiển thị và không thể thay thế hoặc thay đổi được. Đây là yêu cầu đố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òn được hỗ trợ trên macOS. Nếu bạn xác định một thuộc tính hình ảnh, thông báo vẫn sẽ hiển thị nhưng sẽ bỏ qua tham số hình ảnh (Xem ví dụ bên dưới).

Hình ảnh thông báo trước và sau khi áp dụng cho Chrome trên macOS.
Trước và sau khi thay đổi hình ảnh thông báo cho Chrome trên macOS

Bạn có thể phát hiện tính năng hỗ trợ 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

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

Mẫu thông báo hình ảnh sẽ không còn hiển thị hình ảnh nữa. Bạn nên đảm bảo rằng hình ảnh là nội dung 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 khi sử dụng mẫu hình ảnh trong API chrome.notification

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

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

Thông báo 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 khi tạo mẫu tiến trình trong chrome.notification API.
Trước và sau khi sử dụng mẫu tiến trình trong API chrome.notification

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

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