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

FCM dựa vào nhóm thành phần sau đây có chức năng 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 gửi tin nhắn. Trình soạn thảo thông báo cung cấp một tuỳ chọn dựa trên giao diện người dùng đồ hoạ để tạo yêu cầu thông báo. Để tự động hoá hoàn toàn và hỗ trợ tất cả loại thông báo, bạn phải tạo các yêu cầu thông báo trong một môi trường máy chủ đáng tin cậy hỗ trợ SDK quản trị Firebase 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ề ba 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 phân phối thông báo qua các chủ đề và tạo siêu dữ liệu thông báo, chẳng hạn như mã 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 phân phố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 (APN) cho thiết bị Apple
    • Giao thức đẩy web cho ứng dụng web

  4. SDK FCM trên thiết bị của người dùng, nơi thông báo 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.

Quy trình vòng đời

  • Đăng ký thiết bị để nhận thông báo từ FCM. Một thực thể của ứng dụng khách đăng ký nhận thông báo, nhận mã thông báo đăng ký giúp xác định duy nhất thực thể ứng dụng.
  • Gửi và nhận thông báo truyền xuống.
    • Gửi thư. Máy chủ ứng dụng gửi thông báo đến ứng dụng khách:
      1. Tin nhắn được soạn trong trình soạn thư Thông báo hoặc một môi trường đáng tin cậy và yêu cầu gửi tin nhắn 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 đến lớp truyền tải dành riêng cho nền tảng.
      3. Khi thiết bị có kết nối mạng, tin nhắn sẽ được gửi đến thiết bị thông qua lớp truyền tải dành riêng cho nền tảng.
      4. Trên thiết bị, ứng dụng khách sẽ nhận được thông báo hoặc tin nhắn.