Với FCM, bạn có thể gửi 2 loại thông báo đến các ứng dụng khách của mình:
- Thông báo, tương tự như "thông báo hiển thị", sẽ được SDK FCM tự động xử lý.
- Thông báo dữ liệu do ứng dụng khách xử lý.
Thông báo chứa một bộ khoá xác định trước mà người dùng có thể thấy và có thể chứa một tải trọng dữ liệu không bắt buộc. Ngược lại, thông báo dữ liệu chỉ chứa các cặp khoá-giá trị tuỳ chỉnh do người dùng xác định. Tải trọng tối đa cho cả hai loại thông báo là 4096 byte, trừ trường hợp gửi thông báo từ bảng điều khiển Firebase. Bảng điều khiển này áp dụng giới hạn 1000 ký tự.
Trường hợp sử dụng | Cách gửi | |
---|---|---|
Thông báo | FCM SDK hiển thị thông báo cho các thiết bị của người dùng cuối thay cho ứng dụng khách khi ứng dụng này đang chạy ở chế độ nền. Nếu không, nếu ứng dụng đang chạy ở nền trước khi nhận được thông báo, thì mã của ứng dụng sẽ xác định hành vi. |
|
Thông báo dữ liệu | Ứng dụng khách chịu trách nhiệm xử lý thông báo dữ liệu. Thông báo dữ liệu chỉ có các cặp khoá-giá trị tuỳ chỉnh mà không có tên khoá dành riêng (xem bên dưới). | Trong một môi trường đáng tin cậy như
Cloud Functions hoặc máy chủ ứng dụng của bạn, hãy sử dụng Firebase Admin SDK hoặc HTTP v1 API.
Trong yêu cầu gửi, hãy đặt khoá data .
|
Bạn có thể sử dụng thông báo khi muốn SDK FCM tự động xử lý việc hiển thị thông báo khi ứng dụng của bạn đang chạy ở chế độ nền. FCM có thể gửi thông báo kèm theo tải trọng dữ liệu không bắt buộc. Trong những trường hợp như vậy, FCM sẽ hiển thị tải trọng thông báo và ứng dụng khách sẽ xử lý tải trọng dữ liệu.
Bạn có thể sử dụng thông báo dữ liệu khi muốn xử lý thông báo bằng mã ứng dụng khách của riêng mình.
Thông báo
Bạn có thể gửi thông báo bằng bảng điều khiển Firebase, Firebase Admin SDK hoặc API FCM HTTP v1. Bảng điều khiển Firebase cung cấp thử nghiệm A/B dựa trên số liệu phân tích để giúp bạn tinh chỉnh và cải thiện thông báo.
Để gửi thông báo bằng Firebase Admin SDK hoặc FCM HTTP v1 API, hãy đặt khoá notification
bằng bộ khoá-giá trị được xác định trước của thông báo. Bạn có thể sử dụng ví dụ sau để định dạng thông báo trong ứng dụng nhắn tin tức thời
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
}
}
}
Thông báo được gửi đến khay thông báo khi ứng dụng chạy trong nền. Đối với các ứng dụng ở nền trước, thông báo sẽ được xử lý bằng một hàm gọi lại.
Bạn có thể sử dụng tài liệu tham khảo về đối tượng thông báo FCM HTTP v1 API để xem danh sách đầy đủ các khoá được xác định trước có sẵn để tạo thông báo.
Thông báo dữ liệu
Bạn có thể tuỳ ý sử dụng tải trọng FCM data
để triển khai sơ đồ mã hoá mà bạn chọn. Đảm bảo rằng bạn không sử dụng bất kỳ từ nào được đặt trước trong các cặp khoá-giá trị tuỳ chỉnh. Các từ dành riêng bao gồm from
, message_type
hoặc bất kỳ từ nào bắt đầu bằng google.
, gcm.
hoặc gcm.notification.
.
Ví dụ sau đây cho thấy cách sử dụng trường dữ liệu cấp cao nhất hoặc trường dữ liệu chung. Trường này được các ứng dụng diễn giải trên mọi nền tảng nhận được thông báo. Trên mỗi nền tảng, ứng dụng khách sẽ nhận được tải trọng dữ liệu trong một hàm gọi lại
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}