Môi trường máy chủ và FCM

Phía máy chủ của Firebase Cloud Messaging bao gồm 2 thành phần:

  • Phần phụ trợ FCMdo 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 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.

Khi sử dụng Firebase Admin SDK hoặc FCM giao thức máy chủ ứng dụng, bạn có thể tạo các yêu cầu thông báo và gửi đến các loại mục tiêu sau:

  • Tên chủ đề
  • Tình trạng
  • Mã thông báo đăng ký FCM
  • Tên nhóm thiết bị (chỉ giao thức)

Bạn có thể gửi thông báo bằng tải trọng thông báo được tạo từ các trường xác định trước, tải trọng dữ liệu của các trường do người dùng xác định hoặc thông báo chứa cả hai loại tải trọng. Hãy xem Các loại thông báo để biết thêm thông tin.

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 thông báo đượ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 các yêu cầu đó bằng cách sử dụng khoả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 máy chủ và mã thông báo đăng ký ứng dụng.

Thông tin xác thực bắt buộc cho dự án Firebase

Tuỳ thuộc vào các tính năng FCM mà bạn triển khai, bạn có thể cần các thông tin xác thực sau đây từ dự án Firebase:

Thông tin xác thực Mô tả
Mã dự án Mã nhận dạng duy nhất cho dự án Firebase, được dùng trong các yêu cầu đến điểm cuối HTTP v1 của FCM. Giá trị này có trong ngăn Firebase điều khiển Cài đặt.
Mã thông báo đăng ký Một chuỗi mã thông báo duy nhất xác định từng thực thể ứng dụng khách. Bạn cần có mã thông báo đăng ký để gửi thông báo cho một thực thể ứng dụng 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ã người gửi Một giá trị số duy nhất được tạo khi bạn tạo dự án Firebase, có trong thẻ Cloud Messaging của bảng điều khiển Firebase Cài đặt ngăn. Mã người gửi giống với số dự án. Mã người gửi được 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 gian tồn tại ngắn, cho phép uỷ quyền các yêu cầu đến API HTTP v1. 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à luân phiên mã truy cập, hãy làm theo các bước được mô tả trong Uỷ quyền yêu cầu gửi.

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 các máy chủ FCM: sử dụng Firebase Admin SDK hoặc API HTTP v1 của FCM. Firebase Admin SDK là phương thức được đề xuất vì hỗ trợ trên các ngôn ngữ lập trình phổ biến và có các phương thức thuận tiện để xử lý quy trình xác thực và uỷ quyền.Firebase Admin SDK

Các tuỳ chọn để tương tác với các máy chủ FCM bao gồm:

  • Firebase Admin SDK hỗ trợ Node, Java, Python, C#, và Go.

  • API HTTP v1 của FCM API, một API REST có khả năng uỷ quyền an toàn và 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ý quy trình xác thực với phần phụ trợ và tạo điều kiện thuận lợi cho 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 thực thể ứng dụng
  • 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ý thực thể ứng dụng vào và khỏi các chủ đề
  • Tạo 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

Để thiết lập Firebase Admin SDK, hãy xem bài viết Thêm Firebase Admin SDK vào máy chủ. 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 Firebase Cloud Messaging (V1) trong trang cài đặt 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 các yêu cầu gửi.

FCM API HTTP v1

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ẽ gửi yêu cầu POST có tiêu đề HTTP và nội dung HTTP bao gồm các cặp giá trị khoá JSON. Để biết thông tin chi tiết về các tuỳ chọn tiêu đề và nội dung, hãy xem bài viết Gửi thông báo bằng FCM API HTTP v1.