Môi trường máy chủ và FCM
Phía máy chủ của Firebase Cloud Messaging bao gồm hai thành phần:
- Phần phụ trợ FCM do Google cung cấp.
- Máy chủ ứng dụng hoặc môi trường máy chủ đáng tin cậy khác nơi logic máy chủ của bạn chạy, chẳng hạn như Cloud Functions for Firebase hoặc các môi trường đám mây khác do Google quản lý.
Máy chủ ứng dụng hoặc môi trường máy chủ đáng tin cậy của bạn sẽ gửi các yêu cầu thông báo đến phần phụ trợ FCM. Sau đó, phần phụ trợ này sẽ định tuyến thông báo đến các ứng dụng khách chạy trên thiết bị của người dùng.
Yêu cầu đối với môi trường máy chủ đáng tin cậy
Môi trường máy chủ ứng dụng của bạn phải đáp ứng các tiêu chí sau:
- Có thể gửi yêu cầu tin nhắn được định dạng đúng cách đến phần phụ trợ FCM.
- Có thể xử lý các yêu cầu và gửi lại các yêu cầu đó bằng cách sử dụng thời gian đợi luỹ thừa.
- Có thể lưu trữ an toàn thông tin xác thực uỷ quyền của máy chủ và mã thông báo đăng ký ứng dụng.
Chọn một tuỳ chọn máy chủ
Bạn cần quyết định cách tương tác với máy chủ FCM: sử dụng Firebase Admin SDK hoặc giao thức thô. Do hỗ trợ trên các ngôn ngữ lập trình phổ biến và các phương thức thuận tiện để xử lý việc xác thực và uỷ quyền, nên Firebase Admin SDK là phương thức được đề xuất.
Sau đây là các tuỳ chọn để tương tác với máy chủ FCM:
- Firebase Admin SDK có hỗ trợ cho Node, Java, Python, C# và Go.
- FCM HTTP v1 API, một API REST có tính năng uỷ quyền an toàn và linh hoạt chức năng nhắn tin trên nhiều nền tảng (Firebase Admin SDK dựa trên giao thức này và cung cấp tất cả các lợi thế vốn có của giao thức này).
Firebase Admin SDK cho FCM
API FCM dành cho quản trị viên xử lý việc xác thực với phần phụ trợ, đồng thời hỗ trợ việc gửi thông báo và quản lý gói thuê bao chủ đề. Với Firebase Admin SDK, bạn có thể:
- Gửi thông báo đến từng thiết bị
- Gửi thông báo đến các chủ đề và câu lệnh điều kiện khớp với một hoặc nhiều chủ đề.
- Đăng ký và huỷ đăng ký chủ đề cho thiết bị
- Xây dựng tải trọng thông báo phù hợp với các nền tảng mục tiêu khác nhau
SDK Node.js dành cho quản trị viên cung cấp các phương thức để gửi thông báo đến các nhóm thiết bị.
Để thiết lập Firebase Admin SDK, hãy xem phần Thêm Firebase Admin SDK vào máy chủ. Nếu bạn đã có dự án Firebase, hãy bắt đầu bằng cách Thêm SDK. Ngoài ra, hãy nhớ bật API Thông báo trên đám mây trong trang cài đặt Thông báo trên đám mây cho dự án của bạn. Sau đó, khi cài đặt xong Firebase Admin SDK, bạn có thể bắt đầu viết logic để tạo yêu cầu gửi.
Giao thức máy chủ FCM
FCM cung cấp FCM HTTP v1 API cho những nhà phát triển thích giao thức máy chủ thô.
Để gửi thông báo, máy chủ ứng dụng sẽ đưa ra yêu cầu POST có tiêu đề HTTP và nội dung HTTP bao gồm các cặp khoá-giá trị JSON. Để biết thông tin chi tiết về các tuỳ chọn tiêu đề và nội dung, hãy xem phần Tạo yêu cầu gửi máy chủ ứng dụng