Tổng quan về kiến trúc của FCM

FCM dựa vào nhóm thành phần sau đây để tạo, truyền tải và nhận thông báo:

  1. Công cụ để soạn hoặc tạo yêu cầu nhắn tin. Trình soạn thảo Thông báo cung cấp một lựa chọn dựa trên GUI để tạo yêu cầu thông báo. Để tự động hoá hoàn toàn và hỗ trợ tất cả các loại thông báo, bạn phải tạo yêu cầu thông báo trong một môi trường máy chủ đáng tin cậy hỗ trợ Firebase Admin SDK hoặc giao thức máy chủ FCM. Môi trường này có thể là Cloud Functions cho Firebase, App Engine hoặc máy chủ ứng dụng của riêng bạn.

    Sơ đồ về 3 lớp cấu trúc được mô tả trong trang này.

  2. Phần phụ trợ FCM (trong số các chức năng khác) chấp nhận các yêu cầu về thông báo, thực hiện việc truyền tin trên diện rộng thông qua các chủ đề và tạo siêu dữ liệu thông báo, chẳng hạn như mã nhận dạng thông báo.

  3. Một lớp truyền tải ở cấp nền tảng, định tuyến thông báo đến thiết bị mục tiêu, xử lý việc gửi thông báo và áp dụng cấu hình dành riêng cho nền tảng khi thích hợp. Lớp truyền tải này bao gồm:

    • Lớp truyền tải Android (ATL) cho các thiết bị Android có Dịch vụ Google Play
    • Dịch vụ thông báo đẩy của Apple (APNs) cho các thiết bị Apple
    • Giao thức thông báo đẩy trên web cho ứng dụng web

  4. FCM SDK trên thiết bị của người dùng, nơi thông báo được hiển thị hoặc thông báo được xử lý theo trạng thái nền trước/nền của ứng dụng và mọi logic ứng dụng có liên quan.

Luồng vòng đời

  • Đăng ký thiết bị để nhận tin nhắn từ FCM. Một phiên bản của ứng dụng khách đăng ký nhận thông báo, nhận được mã thông báo đăng ký xác định duy nhất phiên bản ứng dụng.
  • Gửi và nhận thông báo truyền tin.
    • Gửi thư. Máy chủ ứng dụng gửi thông báo đến ứng dụng khách:
      1. Thông báo được soạn trong Trình soạn thông báo hoặc một môi trường đáng tin cậy, sau đó một yêu cầu thông báo sẽ được gửi đến phần phụ trợ FCM.
      2. Phần phụ trợ FCM nhận yêu cầu thông báo, tạo mã thông báo và siêu dữ liệu khác, rồi gửi yêu cầu đó đến lớp truyền tải dành riêng cho nền tảng.
      3. Khi thiết bị đang kết nối mạng, thông báo sẽ được gửi đến thiết bị thông qua tầng truyền tải dành riêng cho nền tảng.
      4. Trên thiết bị, ứng dụng nhận được thông báo hoặc tin nhắn.