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

FCM dựa vào bộ thành phần sau để xây dựng, vận chuyển và nhận tin nhắn:

  1. Công cụ soạn thảo hoặc xây dựng các yêu cầu tin nhắn. Trình soạn thảo Thông báo cung cấp tùy chọn dựa trên GUI để tạo yêu cầu thông báo. Để tự động hóa hoàn toàn và hỗ trợ cho tất cả các loại thông báo , bạn phải tạo yêu cầu tin nhắn trong 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à Chức năng đám mây cho Firebase, App Engine hoặc máy chủ ứng dụng của riêng bạn.

    Sơ đồ ba lớp kiến ​​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 tin nhắn, thực hiện phân loại tin nhắn theo chủ đề và tạo siêu dữ liệu tin nhắn như ID tin nhắn.

  3. Lớp truyền tải cấp nền tảng, định tuyến tin nhắn đến thiết bị được nhắm 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 truyền tải Android (ATL) dành cho thiết bị Android có dịch vụ Google Play
    • Dịch vụ thông báo đẩy của Apple (APN) dành cho thiết bị Apple
    • Giao thức đẩy web cho các ứng dụng web

  4. SDK FCM trên thiết bị của người dùng, nơi hiển thị thông báo hoặc tin nhắn đượ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 tin nhắn, 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 tin nhắn xuôi dòng .
    • Gửi tin nhắn. 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ảo Thông báo hoặc trong môi trường đáng tin cậy và yêu cầu 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 tin nhắn, tạo ID tin nhắn và siêu dữ liệu khác rồi gửi nó đến lớp truyền tải cụ thể của nền tảng.
      3. Khi thiết bị trực tuyến, tin nhắn sẽ được gửi qua lớp truyền tải dành riêng cho nền tảng tới 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.