Tổng quan về cấu trúc 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 lời mời nhắn tin. Trình soạn thông báo cung cấp một tuỳ chọn dựa trên GUI để tạo các yêu cầu thông báo. Để hỗ trợ và tự động hoá hoàn toàn cho tất cả cá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 có hỗ trợ SDK quản trị của 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 (cùng với 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 quá trình tạo tin nhắn thông qua các chủ đề và tạo siêu dữ liệu về tin nhắn, chẳng hạn như mã nhận dạng tin nhắn.

  3. Một lớp truyền tải ở cấp nền tảng, sẽ định tuyến thông báo đến thiết bị được nhắm 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. Tầng truyền tải 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 các thiết bị của Apple
    • Giao thức đẩy 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 hiển thị hoặc thông báo đượ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.

Luồng vòng đời

  • Đăng ký thiết bị để nhận tin nhắn của FCM. Một thực thể của ứng dụng khách đăng ký nhận thông báo, lấy mã thông báo đăng ký xác định duy nhất phiên bản của ứng dụng đó.
  • Gửi và nhận thông báo thứ cấp.
    • Gửi thư. Máy chủ ứng dụng gửi thông báo đến ứng dụng:
      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, và 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 thông báo, tạo mã nhận dạng 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, thông báo sẽ được gửi qua lớp truyền tải 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.