Sử dụng Giải pháp gửi thông báo qua đám mây của Firebase (FCM) với chrome.gcm

Bạn có thể gửi và nhận tin nhắn cho người dùng cuối bằng chrome.gcm. Vì được xây dựng dựa trên Giải pháp gửi thông báo qua đám mây của Firebase (FCM), nên tính năng này dựa vào một dịch vụ bên ngoài mà bạn cần thiết lập. Hướng dẫn này sẽ hướng dẫn bạn về tất cả các bước cần thiết để tính năng này hoạt động trong tiện ích của bạn.

Mặc dù chrome.gcm vẫn được hỗ trợ, nhưng mã này đã được tạo từ hơn một thập kỷ trước trước tiêu chuẩn Đẩy. Nói chung, bạn nên sử dụng tiêu chuẩn web thay vì API dành riêng cho tiện ích. Nếu không có nhu cầu sử dụng chrome.gcm cụ thể, bạn nên sử dụng tính năng Đẩy.

Điều kiện tiên quyết

Để sử dụng chrome.gcm, bạn cần phải thiết lập tài khoản Firebase.

Trang chủ Firebase.com.
Trang chủ Firebase.com

Sau khi tạo tài khoản, bạn cần mở bảng điều khiển của Firebase rồi chọn dự án hiện có để sử dụng hoặc tạo một dự án mới cho tiện ích của mình.

Ảnh chụp màn hình danh sách dự án trên bảng điều khiển của Firebase.
Danh sách dự án trên bảng điều khiển của Firebase

Tiếp tục đến trang cài đặt cho giải pháp Gửi thông báo qua đám mây.

Ảnh chụp màn hình trang cài đặt Giải pháp gửi thông báo qua đám mây của Firebase.
Trang cài đặt Giải pháp gửi thông báo qua đám mây của Firebase

Nếu đã có tài khoản nhắn tin qua đám mây trong dự án này, bạn sẽ muốn sao chép Mã nhận dạng người gửi ở dạng số được liệt kê.

Nếu chưa bật tính năng gửi thông báo qua đám mây, bạn cần bật Firebase Cloud Messaging API cho dự án bên trong Google Cloud. Trong hình ảnh sau đây, bạn có thể thấy vị trí có một đường liên kết trực tiếp đến trang này trong phần cài đặt Firebase.

Ảnh chụp màn hình vị trí của đường liên kết để bật Firebase Messaging API trong Google Cloud.
Mở đường liên kết đến các chế độ cài đặt Google Cloud trong Firebase

Sau khi bật, hãy quay lại trang cài đặt cho Cloud Messaging và sao chép Mã nhận dạng người gửi.

Định cấu hình chrome.gcm

Giờ đây khi đã có Mã người gửi từ Firebase, bạn có thể định cấu hình tiện ích để theo dõi thông báo. Để bắt đầu, hãy đảm bảo rằng bạn đã thêm quyền gcm vào manifest.json của tiện ích

  {
    "manifest_version": 3,
    ...
    "permissions": ["gcm"]

Giờ đây, bạn đã có quyền truy cập vào API chrome.gcm. Bạn có thể đăng ký nghe thông báo đẩy bằng cách gọi chrome.gcm.register

Nghe tin nhắn

Sau khi tiện ích này đăng ký Mã nhận dạng người gửi, bạn cần thêm mã để xử lý tin nhắn đến.

Firebase mà không cần Firebase

Mặc dù chrome.gcm luôn đi qua Firebase, nhưng bạn có thể định cấu hình Firebase để hoạt động như một proxy cho các nhà cung cấp thông báo đẩy bên ngoài. Thông thường, các nhà cung cấp sẽ liệt kê rõ ràng khả năng hỗ trợ cho Tiện ích của Chrome. Tuy nhiên, mọi nhà cung cấp hỗ trợ thông báo đẩy cũ của Firebase sẽ hoạt động. Nếu nhà cung cấp của bạn liệt kê có hỗ trợ thông báo đẩy cũ của Firebase, hãy dùng thử tính năng này. Nếu bạn gặp sự cố, nhóm hỗ trợ nhà cung cấp có thể làm rõ mọi hạn chế áp dụng.

Trên kênh và chủ đề

chrome.gcm đang sử dụng các API Firebase Messaging cũ. Điều này rất quan trọng vì API cũ không hỗ trợ các kênh thông báo. Mọi thông báo được đẩy sẽ được gửi tới mọi ứng dụng. Nếu tiện ích của người dùng chỉ quan tâm đến một tập hợp con các thông báo, thì bạn cần phải tự lọc.

Mặc dù Firebase bắt đầu dưới dạng tài khoản miễn phí, nhưng bạn sẽ bị tính phí khi vượt quá một ngưỡng sử dụng nhất định. Nếu bạn định gửi thông báo đến các nhóm cụ thể, thì tính năng lọc phía máy khách có thể sẽ gây ra chi phí cao hơn mức đảm bảo. Bạn có thể giải quyết vấn đề này bằng cách tạo nhiều dự án để sao chép từng kênh riêng lẻ (một dự án và một Mã nhận dạng người gửi cho mỗi kênh). Bất kỳ tiện ích nào cũng có thể đăng ký nhiều Mã nhận dạng người gửi, tối đa 100.

Ngoài ra, nếu cần hỗ trợ về kênh hoặc muốn sử dụng thông báo đẩy mà không cần thông qua Firebase, bạn có thể sử dụng Push API.