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