API thông báo chi tiết

Khác biệt về nền tảng: Trong Chrome phiên bản 59, thông báo sẽ xuất hiện khác đi đối với người dùng Mac OS X. Thay vì nhận thông báo của riêng Chrome, người dùng sẽ nhận được thông báo gốc của Mac OS X. Tìm hiểu thêm trong bài viết này.

API thông báo đa dạng cho phép bạn tạo thông báo bằng cách sử dụng các mẫu và cho người dùng thấy những thông báo này trong khay hệ thống của người dùng:

Thông báo trong khay người dùng hệ thống

Hình thức của các chỉ số

Thông báo đa dạng có 4 loại: cơ bản, hình ảnh, danh sách và tiến trình. Tất cả thông báo đều có tiêu đề, thông báo, biểu tượng nhỏ xuất hiện ở bên trái thông báo và trường contextMessage. Trường này xuất hiện dưới dạng trường văn bản thứ 3 bằng phông chữ có màu sáng hơn.

Hình ảnh cơ bản:

Thông báo cơ bản

Thông báo dạng danh sách hiển thị một số mục trong danh sách:

Thông báo danh sách

Thông báo bằng hình ảnh có chứa bản xem trước hình ảnh:

Thông báo bằng hình ảnh

Thông báo về tiến trình sẽ cho thấy một thanh tiến trình:

Thông báo về tiến trình

Hành vi của họ

Trên ChromeOS, thông báo sẽ xuất hiện trong khay hệ thống của người dùng và vẫn nằm trong khay hệ thống cho đến khi người dùng đóng thông báo. Khay hệ thống sẽ lưu giữ số lượng tất cả thông báo mới. Sau khi người dùng thấy thông báo trong khay hệ thống, số lượng sẽ được đặt lại thành 0.

Bạn có thể chỉ định mức độ ưu tiên cho thông báo trong khoảng từ -2 đến 2. Các mức độ ưu tiên < 0 sẽ xuất hiện trong trung tâm thông báo của ChromeOS và gây ra lỗi trên các nền tảng khác. Mức độ ưu tiên 0 là mức độ ưu tiên mặc định. Các mức độ ưu tiên > 0 sẽ xuất hiện trong thời gian dài hơn và nhiều thông báo có mức độ ưu tiên cao hơn có thể xuất hiện trong khay hệ thống.

Ngoài việc hiển thị thông tin, tất cả các loại thông báo đều có thể có tối đa 2 mục hành động. Khi người dùng nhấp vào một mục hành động, ứng dụng của bạn có thể phản hồi bằng hành động thích hợp. Ví dụ: khi người dùng nhấp vào "Trả lời", ứng dụng email sẽ mở ra và người dùng có thể hoàn tất việc trả lời:

Hành động trong thông báo

Cách phát triển các kỹ năng này

Để sử dụng API này, hãy gọi phương thức notifications.create, truyền thông tin chi tiết về thông báo thông qua tham số options:

chrome.notifications.create(id, options, creationCallback);

notifications.NotificationOptions phải có một notifications.TemplateType. Loại này xác định thông tin chi tiết có sẵn về thông báo và cách hiển thị những thông tin chi tiết đó.

Tạo thông báo cơ bản

Tất cả các loại mẫu (basic, image, listprogress) đều phải có thông báo titlemessage, cũng như iconUrl. Đây là đường liên kết đến một biểu tượng nhỏ xuất hiện ở bên trái thông báo.

Sau đây là một ví dụ về mẫu basic:

var opt = {
  type: "basic",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon"
}

Tạo thông báo bằng hình ảnh

Loại mẫu image cũng bao gồm một imageUrl. Đây là đường liên kết đến một hình ảnh được xem trước trong thông báo:

Sự khác biệt về nền tảng: Người dùng sử dụng Chrome phiên bản 59 trở lên trên Mac OS X sẽ không thấy hình ảnh.
var opt = {
  type: "basic",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon",
  imageUrl: "url_to_preview_image"
}

Trong Ứng dụng Chrome, do có Chính sách bảo mật nội dung nghiêm ngặt, nên các URL này phải trỏ đến một tài nguyên cục bộ hoặc sử dụng URL blob hoặc URL dữ liệu. Sử dụng tỷ lệ 3:2 cho hình ảnh của bạn; nếu không, hình ảnh sẽ có đường viền màu đen.

Tạo thông báo danh sách

Mẫu list hiển thị items ở định dạng danh sách:

Sự khác biệt về nền tảng: Chỉ mục danh sách đầu tiên được hiển thị cho người dùng trong Chrome phiên bản 59 trở lên trên Mac OS X.
var opt = {
  type: "list",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon",
  items: [{ title: "Item1", message: "This is item 1."},
          { title: "Item2", message: "This is item 2."},
          { title: "Item3", message: "This is item 3."}]
}

Tạo thông báo về tiến trình

Mẫu progress hiển thị một thanh tiến trình có phạm vi tiến trình hiện tại từ 0 đến 100:

Sự khác biệt về nền tảng: Trong Chrome phiên bản 59 trở lên trên Mac OS X, thanh tiến trình sẽ hiển thị dưới dạng giá trị phần trăm trong tiêu đề của thông báo thay vì hiển thị thanh tiến trình.
var opt = {
  type: "progress",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon",
  progress: 42
}

Lắng nghe và phản hồi các sự kiện

Tất cả thông báo đều có thể bao gồm trình nghe sự kiện và trình xử lý sự kiện để phản hồi các hành động của người dùng (xem chrome.events). Ví dụ: bạn có thể viết một trình xử lý sự kiện để phản hồi sự kiện notifications.onButtonClicked.

Trình nghe sự kiện:

chrome.notifications.onButtonClicked.addListener(replyBtnClick);

Trình xử lý sự kiện:

function replyBtnClick {
    //Write function to respond to user action.
}

Hãy cân nhắc việc đưa trình xử lý và trình nghe sự kiện vào trang sự kiện để thông báo có thể xuất hiện ngay cả khi ứng dụng hoặc tiện ích không chạy.