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

FCM dựa vào tập hợp các thành phần sau đây để tạo, vận chuyển và nhận tin nhắn:

  1. Công cụ để soạn hoặc tạo yêu cầu tin nhắn. Trình soạn thông báo cung cấp một tuỳ 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 tin nhắn, bạn phải tạo yêu cầu tin nhắn trong một môi trường máy chủ đáng tin cậy hỗ trợ SDK của Firebase dành cho quản trị viên 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 (ngoài các chức năng khác) chấp nhận yêu cầu tin nhắn, thực hiện việc phân phối tin nhắn thông qua các chủ đề và tạo siêu dữ liệu tin nhắn, chẳng hạn như mã tin nhắn.

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

    • Lớp vận chuyển 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. SDK FCM trên thiết bị của người dùng, nơi thông báo được hiển thị hoặc tin nhắn được xử lý theo trạng thái nền trước/nền sau 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 tin nhắn từ FCM. Một thực thể của ứng dụng khách đăng ký nhận tin nhắn, nhận được 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 tin nhắn xuôi dòng.
    • Gửi thư. Máy chủ ứng dụng gửi tin nhắn đến ứng dụng khách:
      1. Tin nhắn được soạn trong Trình soạn thông báo hoặc một môi trường đáng tin cậy, đồng thời một yêu cầu tin nhắn được gửi đến phần phụ trợ FCM.
      2. Phần phụ trợ FCM nhận yêu cầu tin nhắn, tạo mã tin nhắn và siêu dữ liệu khác, đồng thời gửi yêu cầu đó đến lớp vận chuyển dành riêng cho nền tảng.
      3. Khi thiết bị ở trạng thái trực tuyến, tin nhắn sẽ được gửi thông qua lớp vận chuyển dành riêng cho nền tảng đến thiết bị.
      4. Trên thiết bị, ứng dụng khách sẽ nhận được tin nhắn hoặc thông báo.