Bạn có thể gửi và nhận tin nhắn cho người dùng cuối bằng browser.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 dịch vụ này phụ thuộc 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 tất cả các bước cần thiết để làm cho tiện ích hoạt động.
Mặc dù browser.gcm vẫn được hỗ trợ, nhưng công cụ này đã được tạo ra hơn một thập kỷ trước khi có tiêu chuẩn Push. Nhìn chung, bạn nên sử dụng tiêu chuẩn web thay vì một API dành riêng cho tiện ích. Bạn nên sử dụng Push, trừ phi có nhu cầu cụ thể cần dùng browser.gcm.
Điều kiện tiên quyết
Để sử dụng browser.gcm, bạn cần thiết lập một tài khoản Firebase.
Sau khi tạo tài khoản, bạn nên mở bảng điều khiển Firebase rồi chọn một 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.
Tiếp tục chuyển đến trang cài đặt cho Gửi thông báo qua đám mây.
Nếu đã có tài khoản nhắn tin qua đám mây trên dự án này, bạn nê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 dịch vụ gửi thông báo qua đám mây, bạn sẽ cần bật Firebase Cloud Messaging API cho dự án trong Google Cloud. Trong hình ảnh sau, bạn có thể thấy vị trí có đường liên kết trực tiếp đến trang này trên phần cài đặt Firebase.
Sau khi bật, hãy quay lại trang cài đặt cho Cloud Messaging rồi sao chép Mã nhận dạng người gửi.
Định cấu hình browser.gcm
Giờ đây, sau khi có Mã nhận dạng người gửi từ Firebase, bạn có thể định cấu hình tiện ích để nhận tin nhắn. Trước tiên, 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ó thể sử dụng API browser.gcm. Bạn có thể đăng ký nghe tin nhắn đẩy bằng cách gọi browser.gcm.register
Nghe tin nhắn
Sau khi tiện ích đăng ký Mã nhận dạng người gửi, bạn cần thêm mã để xử lý các thông báo đến.
Firebase không có Firebase
Mặc dù browser.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 dịch vụ nhắn tin đẩy bên ngoài. Thông thường, các nhà cung cấp sẽ liệt kê rõ ràng việc hỗ trợ Tiện ích Chrome, tuy nhiên, mọi nhà cung cấp hỗ trợ thông báo đẩy cũ của Firebase đều hoạt động. Nếu nhà cung cấp của bạn có hỗ trợ thông báo đẩy cũ của Firebase, hãy thử dùng. Nếu bạn gặp vấn đề, thì dịch vụ hỗ trợ của nhà cung cấp sẽ có thể làm rõ mọi quy định hạn chế hiện hành.
Trên Kênh và Chủ đề
browser.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 tin nhắn. Mọi thông báo được đẩy sẽ được gửi đến mọi ứng dụng. Nếu tiện ích của người dùng chỉ quan tâm đến một nhóm nhỏ thông báo, bạn sẽ cần tự lọc.
Mặc dù Firebase bắt đầu là một 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 dự định gửi thông báo đến các nhóm cụ thể, thì việc lọc phía máy khách có thể tốn nhiều chi phí hơn mức cần thiết. Bạn có thể khắc phục 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ỗi kênh một dự án và một Mã nhận dạng người gửi). Mọi tiện ích nhất định đều có thể đăng ký nhiều mã nhận dạng người gửi, tối đa 100 mã.
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.