Trang này cung cấp thông tin 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.
Điểm 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ảo 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ị |
|
|
|
Khách hàng đăng ký theo dõi các 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ữ) |
|
|
|
Các ứng dụng trong đối tượng phân tích được chỉ định |
|
|
|
Các ứng dụng trong nhóm thiết bị |
|
|
|
Truyền dữ liệu từ ứng dụng khách lê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 |
|
|
|
Thời gian địa phương trong tương lai của thiết bị khách hàng |
|
|
| Analytics |
Thu thập dữ liệu số liệu phân tích Dịch vụ thông báo và dữ liệu số liệu 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 để 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ị chưa nhận được thông báo, 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.
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ì các ứng dụng Firebase Cloud Messaging trên máy khách mới nhận được thông báo. 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 tôi gặp lỗi 404 khi gửi tin nhắn đế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ã 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. 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 cùng 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 đã 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ững việc sau trong ứng dụng của họ:
- 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 một tệp
PersistedInstallation....json. Tên tệp là một hằng số cho ứ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 đ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 trình xử lý onMessageReceived trên nền tảng của bạn để lên lịch thông báo cục bộ trước thời hạn.
Lỗi 429 gây khó khăn cho tôi và doanh nghiệp của tôi. Tôi có thể được miễn trừ hoặc có thêm hạn mức để tránh nhận được mã 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 quá 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ệ trong MSA trên Cloud để tăng khả năng nhận được thông báo về dịch vụ.
FCM Thông báo ngừng sử dụng API cũ
API phía máy chủ ngừng hoạt động từ tháng 9 năm 2026
Những API và tính năng nào không được dùng nữa và sẽ ngừng hoạt động? Tôi nên làm gì nếu đang sử dụng các API này?
Tất cả API máy chủ InstanceId và tính năng nhóm thiết bị đều không được dùng nữa và sẽ ngừng hoạt động từ ngày 29 tháng 9 năm 2027. Bảng sau đây cho biết thêm thông tin chi tiết về các API/tính năng không dùng nữa và hành động bắt buộc.
| Tên API
|
Điểm cuối API
|
Mục đích sử dụng
|
Tác động đến khách hàng
|
Việc cần làm
|
| InstanceId info API
|
https://iid.googleapis.com/iid/info
|
Lấy thông tin liên quan đến InstanceId / mã thông báo FCM
|
Các yêu cầu gửi đến API này sẽ bắt đầu không được xử lý sau ngày 29 tháng 9 năm 2027.
|
Đối với những khách hàng sử dụng API để xác thực mã thông báo, hãy sử dụng FCM API gửi V1 và đặt validate_only thành true.
Đối với những khách hàng sử dụng API để lấy thông tin về việc đăng ký chủ đề, hãy di chuyển sang API đăng ký chủ đề mới.
|
| API đăng ký theo dõi chủ đề InstanceId
|
https://iid.googleapis.com/iid/v1/…/rel/topics
https://iid.googleapis.com/iid/v1:batchAdd
https://iid.googleapis.com/iid/v1:batchRemove
|
Đăng ký(các) mã thông báo vào một chủ đề thông qua API đăng ký chủ đề cũ.
|
Các yêu cầu gửi đến những API này sẽ bắt đầu không được xử lý sau ngày 29 tháng 9 năm 2027.
|
Di chuyển sang API máy chủ đăng ký chủ đề FCMmới để đăng ký và huỷ đăng ký chủ đề.
|
| InstanceId batch import API
|
https://iid.googleapis.com/iid/v1:batchImport
|
Tạo mã thông báo FCM cho iOS theo lô ở phía máy chủ.
|
Các yêu cầu gửi đến API này sẽ bắt đầu không được xử lý sau ngày 29 tháng 9 năm 2027.
Chúng tôi sẽ không hỗ trợ việc tạo các lượt đăng ký FCM từ mã thông báo APNs ở phía máy chủ.
|
Bạn có thể sử dụng dịch vụ APNs của Apple để gửi thông báo bằng mã thông báo APNs.
Để nhận được các lợi ích bổ sung do FCM cung cấp, hãy tích hợp ứng dụng của bạn với FCM iOS SDK. SDK này sẽ tạo các lượt đăng ký FCM trên ứng dụng.
|
| Device group management API
|
https://fcm.googleapis.com/fcm/notification
https://fcm.googleapis.com/gcm/notification
https://fcm.googleapis.com/iid/notification
https://fcm.googleapis.com/notification
|
Thêm / xoá/ truy xuất thành viên nhóm thiết bị.
|
Các yêu cầu gửi đến API này sẽ bắt đầu không được xử lý sau ngày 29 tháng 9 năm 2027.
|
Hãy xem hướng dẫn để di chuyển khỏi tính năng này.
Bạn vẫn có thể gửi tin nhắn đến từng lượt đăng ký FCM thay vì mã thông báo nhóm.
|
| Gửi đến nhóm thiết bị
|
https://fcm.googleapis.com/v1/projects/…/messages:send
|
Gửi thông báo đến các nhóm thiết bị bằng cách sử dụng group notification_key.
|
API này sẽ tiếp tục hoạt động nhưng sẽ không hỗ trợ mã thông báo nhóm thiết bị sau ngày 29 tháng 9 năm 2027.
|
Nếu đang sử dụng SDK của Firebase dành cho quản trị viên để quản lý lượt đăng ký theo chủ đề, thì tôi có bị ảnh hưởng bởi việc ngừng cung cấp này không? Tôi nên làm gì?
Nếu đang dùng các phiên bản cũ của SDK của Firebase dành cho quản trị viên để quản lý lượt đăng ký theo chủ đề, thì bạn sẽ chịu ảnh hưởng của việc ngừng cung cấp này.
Bạn sẽ cần nâng cấp SDK của Firebase dành cho quản trị viên lên các phiên bản sau:
| Nền tảng
|
Phiên bản SDK dành cho quản trị viên chịu ảnh hưởng
|
Phiên bản SDK dành cho quản trị viên cần nâng cấp
|
| Node.js
|
<=14.4.0
|
>=14.5.0
|
| Python
|
<=7.6.0
|
>=7.7.0
|
| Java
|
<=9.10.0
|
Sắp ra mắt
|
| Bắt đầu
|
<=4.21.0
|
>=4.22.0
|
| .NET
|
<=3.6.0
|
Sắp ra mắt
|
Tôi có thấy dịch vụ bị hạ cấp trước ngày 29 tháng 9 năm 2027 không?
Không. Bạn có 12 tháng để di chuyển từ các API không dùng nữa sang các API thay thế mà không bị giảm cấp dịch vụ. Bạn nên lên kế hoạch di chuyển càng sớm càng tốt để không bị ảnh hưởng bởi việc ngừng hoạt động này.
Bạn sẽ nhận được lỗi khi gọi các API không dùng nữa sau ngày 29 tháng 9 năm 2027.
Người dùng mới có thể sử dụng các API/tính năng không dùng nữa trước khi ngừng hoạt động không?
Người dùng mới có thể sử dụng các API/tính năng không dùng nữa trước ngày 1 tháng 1 năm 2027.
Sau ngày 1 tháng 1 năm 2027, người dùng mới sẽ không thể sử dụng các API không dùng nữa.
Người dùng đang sử dụng các API không dùng nữa có thể tiếp tục sử dụng cho đến hết ngày 29 tháng 9 năm 2027.