Phía máy chủ của Firebase Cloud Messaging bao gồm 2 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 cho 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 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 đang 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 các yêu cầu nhắn tin được định dạng đúng đến phần phụ trợ FCM.
- Có thể xử lý các yêu cầu và gửi lại bằng cách sử dụng thuật toán 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ý của ứng dụng.
Thông tin đăng nhập bắt buộc cho dự án Firebase
Tuỳ thuộc vào những tính năng FCM mà bạn triển khai, bạn có thể cần những thông tin đăng nhập sau đây từ dự án Firebase của mình:
Thông tin xác thực | Mô tả |
---|---|
Mã dự án | Giá trị nhận dạng duy nhất cho dự án Firebase của bạn, được dùng trong các yêu cầu đến điểm cuối HTTP FCM v1. Giá trị này có trong ngăn Firebase Cài đặt của bảng điều khiển. |
Mã thông báo đăng ký | Một chuỗi mã thông báo duy nhất xác định từng phiên bản ứng dụng khách. Bạn phải có mã thông báo đăng ký để gửi thông báo đến một thiết bị và nhóm thiết bị. Xin lưu ý rằng bạn phải giữ bí mật mã thông báo đăng ký. |
Mã nhận dạng người gửi | Một giá trị bằng số duy nhất được tạo khi bạn tạo dự án Firebase, có trong thẻ Cloud Messaging của ngăn Cài đặt trên bảng điều khiển Firebase. Mã nhận dạng người gửi giống với số dự án. Mã nhận dạng người gửi dùng để xác định từng người gửi có thể gửi thông báo đến ứng dụng khách. |
Mã truy cập | Mã thông báo OAuth 2.0 có thời hạn ngắn, cho phép các yêu cầu đối với HTTP API phiên bản 1. Mã thông báo này được liên kết với một tài khoản dịch vụ thuộc dự án Firebase của bạn. Để tạo và xoay vòng mã truy cập, hãy làm theo các bước được mô tả trong phần Uỷ quyền gửi yêu cầu. |
Chọn một lựa chọn về máy chủ
Bạn cần quyết định cách tương tác với các máy chủ FCM: sử dụng Firebase Admin SDK hoặc FCM HTTP v1 API. Vì hỗ trợ 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 lựa chọn để tương tác với máy chủ FCM:
FCM HTTP v1 API, một API REST có tính năng uỷ quyền bảo mật và khả năng nhắn tin linh hoạt 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).
Firebase Admin SDK
Firebase Admin SDK xử lý việc xác thực với phần phụ trợ, đồng thời hỗ trợ gửi thông báo và quản lý việc đăng ký theo 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ủ đề
- Gửi thông báo đến các nhóm thiết bị
- Đăng ký và huỷ đăng ký thiết bị theo dõi chủ đề
- Tạo tải trọng thông báo phù hợp với nhiều nền tảng mục tiêu
Để thiết lập Firebase Admin SDK, hãy xem phần Thêm Firebase Admin SDK vào máy chủ của bạn. Nếu bạn đã có một dự án Firebase, hãy bắt đầu bằng cách Thêm SDK. Ngoài ra, hãy nhớ bật API Giải pháp gửi thông báo qua đám mây của Firebase (V1) trong trang cài đặt Giải pháp gửi thông báo qua đám mây cho dự án của bạn. Sau đó, sau khi cài đặt Firebase Admin SDK, bạn có thể bắt đầu viết logic để tạo yêu cầu gửi.
FCM API HTTP phiên bản 1
FCM cung cấp FCM HTTP v1 API cho những nhà phát triển muốn dùng giao thức máy chủ thô.
Để gửi một thông báo, máy chủ ứng dụng sẽ gửi một 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 lựa chọn cho tiêu đề và nội dung, hãy xem phần Gửi tin nhắn bằng API HTTP FCM phiên bản 1.