Trang này cung cấp thông tin trợ giúp về cách khắc phục sự cố và giải đáp 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ộ đầy đủ các tính năng nhắn tin
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 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 đã đăng ký theo chủ đề
(ví dụ: thời tiết) |
|
|
|
Ứng dụng trong phân khúc người dùng xác định trước (ứng dụng, phiên bản, ngôn ngữ) |
|
|
|
Ứng dụng trong đối tượng Analytics được chỉ định |
|
|
|
Ứng dụng trong nhóm thiết bị |
|
|
|
Truyền ngược dòng từ ứng dụng đến máy chủ |
|
|
| Loại thông báo |
Thông báo tối đa 2 KB |
|
|
|
Thông báo dữ liệu tối đa 4 KB |
|
|
| Giao hàng |
Tức thì |
|
|
|
Thời gian địa phương của thiết bị ứng dụng trong tương lai |
|
|
| Analytics |
Thu thập số liệu phân tích về Thông báo tích hợp và số liệu phân tích về kênh |
|
|
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ục tiêu của tôi 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 2 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 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 quy định 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 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 còn lại sẽ bị xoá, gây ra lỗi 404.
Nhà phát triển nên thực hiện những việc sau trong ứng dụng:
- 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 các thiết bị iOS, thì bạn không cần phải thực hiện bất kỳ thao tác nào.
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?
Chúng tôi không hỗ trợ trường hợp sử dụng này. Bạn phải phân bổ 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 bổ
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ự của nền tảng để lên lịch
thông báo cục bộ trước.onMessageReceived
Tôi và doanh nghiệp của tôi khó xử lý các 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à rấ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ừ. 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 cách 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 liên quan đến việc bạn sử dụng
FCM và nhiều trường hợp, đ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 hạn mức tăng này sẽ được hoàn nguyên sau ngày kết thúc sự kiện.
Hạn mức hiện tại của tôi có thể thay đổi không?
Mặc dù Google sẽ không thay đổi hạn mức một cách tuỳ tiện, nhưng hạn mức có thể được thay đổi khi cần để bảo vệ tính toàn vẹn của hệ thống. Khi có thể, Google sẽ thông báo cho bạn trước khi thực hiện những thay đổi như vậy. Hãy cập nhật thông tin liên hệ của MSA trên Cloud
để tăng cơ hội nhận được thông báo về dịch vụ.