Trang này cung cấp thông tin trợ giúp 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ộ đầy đủ các chức năng nhắn tin thông qua SDK ứng dụng và giao thức máy chủ HTTP. Đối với những hoạt động triển khai có yêu cầu phức tạp hơn về việc gửi tin nhắ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 không máy chủ, gọn nhẹ đượ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 yêu cầu về việc viết mã, Trình soạn thông báo cho phép người dùng gửi thông báo để thu hút lại 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 |
Target |
Một thiết bị |
|
|
|
Các ứng dụng đăng ký theo chủ đề (ví dụ: thời tiết) |
|
|
|
Các ứng dụng 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ữ) |
|
|
|
Khách hàng trong đối tượng Analytics được chỉ định |
|
|
|
Ứng dụng trong nhóm thiết bị |
|
|
|
Truyền dữ liệu từ ứng dụng đến máy chủ |
|
|
Loại thông báo |
Thông báo có dung lượng tối đa 2 KB |
|
|
|
Thông báo dữ liệu có kích thước tối đa 4 KB |
|
|
Giao hàng |
Ngay lập tức |
|
|
|
Giờ địa phương của thiết bị khách trong tương lai |
|
|
Analytics |
Thu thập số liệu phân tích về Thông báo và số liệu phân tích về phễu tích hợp |
|
|
Tôi có cần sử dụng các dịch vụ khác của Firebase để 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 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 tin nhắn, trước tiên, hãy kiểm tra 2 nguyên nhân có thể gây ra vấn đề này:
Xử lý thông báo trên nền trước cho thông báo. Các ứ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.
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ì các ứng dụng Firebase Cloud Messaging trên máy khách mới nhận được tin nhắn. Các cổng cần mở là:
FCM thường dùng cổng 5228, nhưng đôi khi dùng cổ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 onMessageReceived
không được gọi trong ứng dụng Android của tôi?
Khi ứng dụng của bạn ở chế độ nền, thông báo sẽ xuất hiện trong khay hệ thống và onMessageReceived
sẽ không được gọi. Đối với thông báo có tải trọng dữ liệu, thông báo sẽ xuất hiện trong khay hệ thống và dữ liệu đi kèm với thông báo có thể được truy xuất từ ý định được khởi chạy khi người dùng nhấn vào thông báo.
Để biết thêm thông tin, hãy xem bài viết Nhận và xử lý thông báo.
Tại sao ứng dụng của tôi nhận được thông báo "Invalid argument for the given fid" (Đối số không hợp lệ cho fid đã cho) khi tôi đăng ký bằng FCM?
FID (Mã nhận dạng lượt cài đặt Firebase) là mã nhận dạng của một phiên bản ứng dụng. Nếu dữ liệu cài đặt của một phiên bản ứng dụng được khôi phục từ bản sao lưu, thì FCM sẽ trả về lỗi này để cho biết rằng FID đã được một phiên bản ứng dụng khác sử dụng, do đó, phiên bản ứng dụng hiện tại không thể dùng FID để đăng ký với FCM.
Nhà phát triển nên thực hiện những việc sau trong ứng dụng của mình:
- Loại trừ dữ liệu lượt cài đặt Firebase trong bản sao lưu. Dữ liệu lượt 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....json"
/>
- Xoá tệp
PersistedInstallation....json
khi nhận được lỗi "Đối số không hợp lệ cho fid đã cho". Vào lần tiếp theo ứng dụng của bạn đăng ký với FCM, một FID mới sẽ được tạo.
Apple đã thông báo rằng họ sẽ ngừng sử dụng giao thức nhị phân cũ cho APN. Tôi có cần phải 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 đ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 làm gì cả.
Hạn mức và giới hạn FCM
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 thể 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ể nhận 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 5 phút để tránh lưu lượng truy cập tăng đột biến.
Tin nhắn của tôi là về các sự kiện đã lên 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 khi sự kiện diễn ra. Ngoài ra, hãy gửi thông báo dữ liệu và triển khai phương thức tương tự của nền tảng cho trình xử lý onMessageReceived
để lên lịch thông báo cục bộ trước thời hạn.
Lỗi 429 là lỗi khó xử lý đối với tôi và doanh nghiệp của tôi. Tôi có thể được miễn hoặc có thêm hạn mức để tránh nhận được lỗi 429 không?
Mặc dù hiểu rằng 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ể cấp trường hợp ngoại lệ. Sử dụng các lần thử lại để xử lý đúng cách các lỗi 429.
Mất bao lâu để yêu cầu tăng hạn mức của tôi được thực hiện?
Yêu cầu tăng hạn mức của bạn phụ thuộc vào mức 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òng 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 quy trình. Nếu bạn đá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ể nhận 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 hạn mức bổ sung để 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 khi sự kiện diễn ra 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 để đáp ứng yêu cầu. Nếu được cấp, những hạn mức tăng này sẽ được khôi phục 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 thiết để bảo vệ tính toàn vẹn của hệ thống. Nếu có thể, Google sẽ thông báo trước cho bạn về những thay đổi đó. Luôn cập nhật thông tin liên hệ theo MSA trên Cloud để tăng khả năng nhận được thông báo về dịch vụ.