Nội dung cập nhật theo thời gian thực trong tiện ích

Bản cập nhật theo thời gian thực cung cấp một đường dẫn liên lạc tức thì từ máy chủ đến thẳng các bản cài đặt tiện ích của bạn. Bạn có thể gửi và nhận dữ liệu khi sự kiện xảy ra. Cho dù bạn sử dụng thư viện này để nhắn tin nhanh, kích hoạt tác vụ trong nền hay đồng bộ hoá dữ liệu thiết bị, đây là một thao tác quan trọng đối với một số dịch vụ hiện đại. Có một số tùy chọn để giao tiếp theo thời gian thực trong tiện ích của Chrome.

  • Web Push (API Đẩy trên web) là một tiêu chuẩn web cho phép bạn gửi và nhận thông báo trong tiện ích của Chrome từ mọi Nhà cung cấp dịch vụ đẩy hay thậm chí với máy chủ web của riêng bạn.
  • chrome.gcm là một API cũ dành riêng cho tiện ích, cho phép bạn gửi và nhận tin nhắn bằng Giải pháp gửi thông báo qua đám mây của Firebase.
  • WebSockets là một giao thức cấp thấp cho phép bạn mở kết nối hai chiều giữa tiện ích của Chrome và máy chủ.

Các trường hợp phổ biến

Dưới đây là một số tình huống phổ biến trong các tiện ích của Chrome, trong đó cần có hoạt động giao tiếp theo thời gian thực:

Luôn cập nhật các thay đổi cho người dùng.

Nếu bạn đang đồng bộ hoá tệp, chế độ cài đặt hoặc các thông tin khác giữa nhiều người dùng, thì tính năng Web Push là cách hoàn hảo để gửi các bản cập nhật ngầm cho tiện ích của bạn nhằm thông báo cho tiện ích biết cần cập nhật trạng thái từ máy chủ.

Bạn có cho phép người dùng báo cáo lỗi hoặc vấn đề không? Bạn có thể tích hợp với nhà cung cấp dịch vụ Thông báo đẩy để cho họ biết ngay khi bạn có bản cập nhật cần chia sẻ, trực tiếp trong tiện ích của mình.

Gửi thông báo cho người dùng.

Mặc dù bạn có thể gửi thông báo hoàn toàn ở phía máy khách, nhưng nếu bạn có logic phía máy chủ cho việc ai, cái gì, ở đâu hoặc khi nào gửi thông báo thì thông báo đẩy trên web là lựa chọn phù hợp nhất trong tương lai.

Nếu chỉ gửi thông báo cho một nhóm nhỏ người dùng, thì Đẩy là lựa chọn phù hợp nhất. Mặc dù Giải pháp gửi thông báo qua đám mây của Firebase có cung cấp Chủ đề (còn gọi là kênh), nhưng tính năng này chỉ có trong API Gửi thông báo qua đám mây HTTP. Phiên bản này khác với phiên bản cũ mà chrome.gcm sử dụng. Nếu bạn muốn gửi thông báo rộng cho tất cả người dùng, bao gồm cả những người dùng sử dụng các phiên bản cũ của Chrome (trước Chrome 121), thì chrome.gcm là lựa chọn lý tưởng. Được xây dựng dựa trên API nhắn tin Firebase cũ, chrome.gcm đã được hỗ trợ trong Chrome trong hơn một thập kỷ.

Bạn có thể sử dụng tính năng Web Push hoặc chrome.gcm để gửi thông báo cho người dùng khi có điều gì đó quan trọng đối với tài khoản của họ xảy ra, chẳng hạn như khi có tin nhắn mới hoặc khi tệp được chia sẻ.

Nhắn tin tức thì

Bạn cần giao tiếp hai chiều thường xuyên? Khi đó, ổ cắm web có thể là lựa chọn tốt nhất cho bạn. Thao tác này sẽ mở ra một kết nối hai chiều giữa tiện ích và máy chủ của bạn (hoặc thậm chí trực tiếp với những người dùng khác). Nền tảng này cho phép bạn trao đổi dữ liệu và tin nhắn theo thời gian thực. Tuy là một lựa chọn tuyệt vời trên web nói chung, nhưng những tiện ích này có một số hạn chế với các tiện ích mà bạn cần lưu ý nếu định sử dụng.

Trong phần còn lại của hướng dẫn này, chúng ta sẽ xem xét kỹ hơn về các tuỳ chọn có sẵn.

Thông báo đẩy bằng API đẩy

Khi sử dụng API đẩy, bạn có thể sử dụng bất kỳ trình cung cấp dịch vụ đẩy nào để gửi thông báo đẩy và thông báo. Việc đẩy từ API Đẩy sẽ được trình chạy dịch vụ của bạn xử lý ngay sau khi nhận được. Nếu tiện ích đã bị tạm ngưng, thao tác Nhấn sẽ đánh thức tiện ích. Quy trình sử dụng ngôn ngữ này trong các tiện ích hoàn toàn giống với quy trình bạn sẽ sử dụng tiện ích này trên web mở.

Thông báo đẩy qua chrome.gcm

API chrome.gcm cung cấp kết nối trực tiếp với Giải pháp gửi thông báo qua đám mây của Firebase (FCM), một dịch vụ gửi nội dung cập nhật theo thời gian thực cho ứng dụng web và ứng dụng di động. Đây là một API tiện ích dành riêng cho Chrome được thêm vào nhiều năm trước khi tính năng Push (Đẩy) có trong trình duyệt. API này được tạo bằng các API HTTP cũ của Firebase (hiện không còn được dùng nữa). Mặc dù các API đó không còn được dùng ở nơi khác, nhưng chúng không bị ngừng sử dụng trong các tiện ích. Chúng sẽ tiếp tục hoạt động trong tương lai gần. Tuy nhiên, vì đây là phần phụ trợ đẩy cũ nên nó thiếu các tính năng như Chủ đề.

Mặc dù dịch vụ phụ trợ FCM là một yêu cầu khó khăn để thông báo tiếp cận người dùng trong Chrome, nhưng bạn không cần phải sử dụng chrome.gcm để gửi thông báo. Tất cả các trình cung cấp thông báo đẩy đều có thể gửi và nhận thông báo cũng như sự kiện tới tài khoản Firebase bằng cách sử dụng tính năng Gửi dữ liệu web. Mặc dù đây vẫn là một API Tiện ích của Chrome được hỗ trợ đầy đủ, nhưng tốt nhất là bạn nên ưu tiên các tiêu chuẩn web như API đẩy để mở rộng các tiêu chuẩn cụ thể như API này. Nếu trường hợp sử dụng của bạn phù hợp nhất với chrome.gcm, hãy xem hướng dẫn chi tiết về cách thiết lập chrome.gcm từ đầu.

Thông báo theo thời gian thực bằng WebSockets

WebSockets đã là nền tảng của thông báo theo thời gian thực trên web trong hơn một thập kỷ. Chúng đã trở thành lựa chọn được sử dụng cho các sự kiện theo thời gian thực trên web, mang đến một cuộc trò chuyện hai chiều liên tục. WebSockets hoạt động trong nhiều thành phần tiện ích, có thể là tập lệnh nội dung, cửa sổ bật lên, sidepaneltrình chạy dịch vụ nền. Mặc dù đây là một lựa chọn tuyệt vời trên web nói chung, nhưng chúng có một số hạn chế với các tiện ích mà bạn cần lưu ý nếu định sử dụng.

Không phù hợp với thông báo đẩy

Vì WebSockets chạy trên nền tảng web, thay vì sử dụng API nền tảng tiện ích như chrome.gcm, nên Chrome không có cách nào để đánh thức tiện ích của bạn khi kết nối WebSocket được bắt đầu bên ngoài tiện ích của bạn.

Chỉ những kết nối đang hoạt động

Chrome sẽ tạm ngưng các tiện ích không dùng đến sau 30 giây. Một số phương pháp phỏng đoán sẽ được đưa vào Chrome để xác định xem tiện ích có "đang được sử dụng" hay không, một trong số đó là kết nối WebSocket đang hoạt động. Chrome sẽ không tạm ngưng một tiện ích đã gửi hoặc nhận thông báo WebSocket trong 30 giây qua. Nếu đang sử dụng WebSockets trong tiện ích và cần đảm bảo không đóng sớm, bạn có thể gửi thông báo nhịp tim để duy trì kết nối. Quá trình này bao gồm việc gửi thông báo định kỳ đến máy chủ để cho cả máy chủ và Chrome biết rằng bạn vẫn đang hoạt động. Bạn có thể xem ví dụ về cách duy trì websocket vô thời hạn trong tài liệu về WebSocket.