Trang này cung cấp trợ giúp về cách khắc phục sự cố và câu trả lời cho các câu hỏi thường gặp
về Cloud Messaging.
Sự khác biệt giữa Trình soạn thông báo và FCM là gì?
Firebase Cloud Messaging cung cấp một bộ tính năng nhắn tin
hoàn chỉnh thông qua SDK ứng dụng và giao thức máy chủ HTTP. Đối với các hoạt động triển khai có yêu cầu nhắn tin phức tạp hơn,
FCM là lựa chọn phù hợp.
Trình soạn thông báo là một giải pháp nhắn tin nhẹ, không cần máy chủ,
được xây dựng dựa trên Firebase Cloud Messaging. Với bảng điều khiển đồ hoạ thân thiện với người dùng
và giảm bớt yêu cầu về mã hoá,
trình soạn thông báo cho phép người dùng gửi thông báo để
thu hút và giữ chân người dùng, thúc đẩy sự phát triển của ứng dụng và hỗ trợ các chiến dịch tiếp thị.
| Khả năng |
|
Trình soạn thông báo |
Cloud Messaging |
| Mục tiêu |
Một thiết bị |
|
|
|
Ứng dụng khách đã đăng ký các chủ đề
(ví dụ: thời tiết) |
|
|
|
Ứng dụng khách trong phân khúc người dùng được xác định trước (ứng dụng, phiên bản, ngôn ngữ) |
|
|
|
Ứng dụng khách trong đối tượng phân tích được chỉ định |
|
|
|
Ứng dụng khách trong nhóm thiết bị |
|
|
|
Từ ứng dụng khách đến máy chủ |
|
|
| Loại thông báo |
Thông báo tối đa 2kb |
|
|
|
Thông báo dữ liệu tối đa 4kb |
|
|
| Phân phối |
Tức thì |
|
|
|
Thời gian địa phương của thiết bị ứng dụng khách trong tương lai |
|
|
| Analytics |
Thu thập số liệu phân tích Dịch vụ thông báo và phân tích phễu tích hợp |
|
|
Tôi có cần sử dụng các dịch vụ khác của
Firebase để sử dụng FCM không?
Bạn có thể sử dụng Firebase Cloud Messaging như một thành phần độc lập mà không cần sử dụng
các dịch vụ khác của Firebase.
Tại sao các thiết bị mà tôi nhắm đến dường như không nhận được thông báo?
Khi có vẻ như các thiết bị không nhận được thông báo thành công, trước tiên, hãy kiểm tra hai nguyên nhân tiềm ẩn sau:
Xử lý thông báo ở nền trước cho thông báo. Ứng dụng khách cần thêm logic xử lý thông báo để xử lý thông báo khi ứng dụng ở nền trước trên thiết bị. Xem thông tin chi tiết cho
iOS và
Android.
Các hạn chế về tường lửa mạng. Nếu tổ chức của bạn có tường lửa
hạn chế lưu lượng truy cập đến hoặc đi từ Internet, bạn cần định cấu hình tường lửa đó để cho phép
kết nối với FCM thì ứng dụng khách
của Firebase Cloud Messaging mới nhận được thông báo. Các cổng cần mở là:
FCM thường sử dụng 5228, nhưng đôi khi sử dụng 5229 và 5230.
FCM không cung cấp các IP cụ thể, vì vậy, bạn nên cho phép tường lửa
chấp nhận các kết nối đi đến tất cả địa chỉ IP có trong các khối IP
được liệt kê trong ASN 15169 của Google.
Tại sao tôi gặp lỗi 404 khi gửi thông báo đến một phiên bản ứng dụng đang hoạt động được khôi phục từ bản sao lưu?
FID (Mã cài đặt Firebase) là mã nhận dạng của một phiên bản ứng dụng. Theo mặc định, dữ liệu Cài đặt Firebase sẽ được sao lưu và khôi phục. Vì vậy, trong trường hợp khôi phục, phiên bản ứng dụng được khôi phục và phiên bản ứng dụng ban đầu sẽ dùng chung một FID. Vì FCM chỉ lưu trữ một mã thông báo cho mỗi FID, nên nếu cả phiên bản ứng dụng ban đầu và phiên bản ứng dụng được khôi phục đều đang được sử dụng, thì khi một phiên bản ứng dụng đăng ký với FCM, mã thông báo của phiên bản ứng dụng kia sẽ bị xoá, gây ra lỗi 404.
Nhà phát triển nên làm như sau trong ứng dụng của mình:
- Loại trừ
dữ liệu cài đặt Firebase trong bản sao lưu. Dữ liệu cài đặt Firebase được lưu trữ trong tệp
PersistedInstallation....json. Tên tệp là một hằng số cho một
ứng dụng. Ví dụ: <exclude domain="file" path="PersistedInstallation.W0R...GQ.json"
/>
Apple thông báo rằng họ sẽ ngừng sử dụng giao thức nhị phân cũ cho APNs. Tôi có cần làm gì không?
Không. Firebase Cloud Messaging đã chuyển sang giao thức APNs dựa trên HTTP/2 vào năm 2017.
Nếu bạn đang sử dụng FCM để gửi thông báo đến thiết bị iOS, thì bạn không cần làm gì cả.
FCM hạn mức và giới hạn
Làm cách nào để thông báo cho một lượng lớn khách hàng trong vòng 2 phút?
Trường hợp sử dụng này không được hỗ trợ. Bạn phải phân tán lưu lượng truy cập trong vòng 5 phút.
Ứng dụng của tôi thông báo cho người dùng về các sự kiện và những thông báo này phải được gửi ngay lập tức để hỗ trợ mô hình kinh doanh của tôi. Tôi có thể được cấp thêm hạn mức không?
Rất tiếc, chúng tôi không thể tăng hạn mức vì lý do này. Bạn phải phân tán
lưu lượng truy cập trong vòng 5 phút để tránh lưu lượng truy cập tăng đột biến.
Thông báo của tôi là về các sự kiện theo lịch. Làm cách nào để gửi tất cả lưu lượng truy cập vào đầu mỗi giờ?
Bạn nên bắt đầu gửi thông báo ít nhất 5 phút trước sự kiện. Ngoài ra, hãy gửi thông báo
dữ liệu
và triển khai trình xử lý tương tự onMessageReceived của nền tảng để lên lịch
thông báo cục bộ trước.
Tôi và doanh nghiệp của tôi khó xử lý lỗi 429. Tôi có thể được miễn trừ hoặc được cấp thêm hạn mức để tránh gặp lỗi 429 không?
Mặc dù chúng tôi hiểu rằng giới hạn hạn mức có thể gây khó khăn, nhưng hạn mức là yếu tố quan trọng để duy trì độ tin cậy của dịch vụ và chúng tôi không thể miễn trừ. Hãy sử dụng tính năng thử lại để
xử lý đúng cách các lỗi 429.
Yêu cầu tăng hạn mức của tôi sẽ được thực hiện trong bao lâu?
Yêu cầu tăng hạn mức
của bạn phụ thuộc vào việc bạn
sử dụng FCM. Trong mọi trường hợp, bạn có thể nhận được câu trả lời trong vài ngày làm việc. Trong một số trường hợp, có thể có một số trao đổi qua lại về việc bạn sử dụng
FCM và các trường hợp khác nhau, điều này có thể kéo dài quá trình. Nếu đáp ứng tất cả các yêu cầu, hầu hết các yêu cầu sẽ được xử lý trong vòng 2 tuần.
Tôi có thể được cấp thêm hạn mức cho một sự kiện tạm thời không?
Bạn có thể yêu cầu cấp thêm hạn mức để hỗ trợ một sự kiện kéo dài tối đa 1 tháng.
Hãy gửi yêu cầu ít nhất 1 tháng trước sự kiện và cung cấp thông tin chi tiết rõ ràng
về thời điểm bắt đầu và kết thúc sự kiện. FCM sẽ nỗ lực hết sức
để thực hiện yêu cầu. Nếu được cấp, những mức tăng hạn mức này sẽ được hoàn nguyên sau ngày kết thúc sự kiện.