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 Notifications API hoặc chrome.notifications extensions API sẽ được hệ thống thông báo gốc của macOS hiển thị trực tiếp thay vì hệ thống của riêng Chrome.

Thay đổi này giúp Chrome trên macOS tích hợp tốt hơn nhiều vào nền tảng và khắc phục một số lỗi tồn tại lâu nay, chẳng hạn như Chrome không tuân thủ 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 những điểm khác biệt mà thay đổi này mang lại 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 được áp dụng. Bạn nên cân nhắc chuyển sang biểu tượng có nền trong suốt thay vì màu đồng nhất để tạo hiệu ứng thẩm mỹ.

Trước và sau khi Chrome trên Mac hiển thị biểu tượng thông báo do Chrome hiển thị so với biểu tượng do macOS hiển thị.
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 hiển thị và không thể thay thế hoặc thay đổi. Đâ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. Mẫu thông báo này 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 khi sử dụng mẫu hình ảnh trong chrome.notification API.
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 việ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 các thay đổi.

Trước và sau đối với mẫu danh sách trong API chrome.notification.
Trước và sau khi sử dụng 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 đối với 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 thông báo là appIconMarkUrl sẽ không còn được sử dụng trên macOS nữa.

Trước và sau khi appIconMarkUrl trong API chrome.notification.
Trước và sau khi appIconMarkUrl trong API chrome.notification