FCM dựa vào nhóm thành phần sau đây có chức năng tạo, vận chuyển và nhận thư:
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 tuỳ chọn dựa trên GUI để tạo các yêu cầu thông báo. Để tự động hoá và hỗ trợ tất 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ủ 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.
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 việc hâm mộ tin nhắn thông qua chủ đề và tạo siêu dữ liệu tin nhắn, chẳng hạn như làm mã nhận dạng thư.
Một lớp truyền tải ở cấp nền tảng, giúp định tuyến thông báo đến ứng dụng được nhắm đến thiết bị, xử lý việc gửi tin nhắn và áp dụng dành riêng cho từng 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
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 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:
- 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.
- 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.
- 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ị đó.
- Trên thiết bị, ứng dụng khách sẽ nhận được tin nhắn hoặc thông báo.
- Gửi thư. Máy chủ ứng dụng gửi thông báo đến ứng dụng: