Bạn có gặp khó khăn khác hoặc không thấy vấn đề của mình được nêu dưới đây? Vui lòng báo cáo lỗi hoặc yêu cầu một tính năng và tham gia các cuộc thảo luận về StackOverflow.
Các dự án Firebase và ứng dụng Firebase
Dự án Firebase là gì?
Dự án Firebase là thực thể cấp cao nhất của Firebase. Trong một dự án, bạn có thể đăng ký ứng dụng Apple, Android hoặc ứng dụng web của mình. Sau khi đăng ký ứng dụng với Firebase, bạn có thể thêm các SDK Firebase dành riêng cho sản phẩm vào ứng dụng của mình, chẳng hạn như Analytics, Cloud Firestore, Crashlytics hoặc Cấu hình từ xa.
Bạn nên đăng ký các biến thể ứng dụng web, Android và Apple trong một dự án Firebase duy nhất. Bạn có thể sử dụng nhiều dự án Firebase để hỗ trợ nhiều môi trường, chẳng hạn như môi trường phát triển, môi trường thử nghiệm và môi trường thực tế.
Dưới đây là một số tài nguyên để tìm hiểu thêm về các dự án Firebase:
- Tìm hiểu về các dự án Firebase – cung cấp thông tin tổng quan ngắn gọn về một số khái niệm quan trọng về các dự án Firebase, bao gồm mối quan hệ của các dự án đó với Google Cloud và hệ phân cấp cơ bản của một dự án cũng như các ứng dụng và tài nguyên của dự án đó.
- Các phương pháp chung hay nhất để thiết lập dự án Firebase – cung cấp các phương pháp chung và tổng quát hay nhất để thiết lập dự án Firebase và đăng ký ứng dụng với một dự án để bạn có quy trình phát triển rõ ràng sử dụng các môi trường riêng biệt.
Xin lưu ý rằng đối với mọi dự án Firebase, Firebase sẽ tự động thêm nhãn
firebase:enabled
trên
trang Nhãn cho dự án của bạn trong
bảng điều khiển Google Cloud. Tìm hiểu thêm về nhãn này trong phần Câu hỏi thường gặp của chúng tôi.
Tổ chức Google Cloud là gì?
Tổ chức trên Google Cloud là một vùng chứa dành cho các dự án Google Cloud (bao gồm cả các dự án Firebase). Hệ phân cấp này giúp tổ chức, quản lý quyền truy cập và kiểm tra các dự án của bạn trên Google Cloud và Firebase một cách hiệu quả hơn. Để biết thêm thông tin, hãy tham khảo bài viết Tạo và quản lý tổ chức.
Làm cách nào để thêm Firebase vào một dự án hiện có trên Google Cloud?
Bạn có thể đang quản lý các dự án trên Google Cloud thông qua bảng điều khiển Google Cloud hoặc bảng điều khiển API của Google.
Bạn có thể thêm Firebase vào các dự án hiện có này bằng một trong những cách sau:
- Sử dụng bảng điều khiển của Firebase:
Trong trang đích của bảng điều khiển của Firebase, hãy nhấp vào Thêm dự án, sau đó chọn dự án hiện có của bạn trong trình đơn Tên dự án. - Sử dụng lựa chọn có lập trình:
- Gọi điểm cuối của API REST quản lý Firebase
addFirebase
. - Chạy lệnh Giao diện dòng lệnh (CLI) của Firebase
firebase projects:addfirebase
. - Sử dụng Terraform.
- Gọi điểm cuối của API REST quản lý Firebase
Tại sao dự án của tôi trên Google Cloud lại có nhãn
firebase:enabled
?
Trên trang Nhãn cho dự án của bạn trong bảng điều khiển Google Cloud, bạn có thể thấy một nhãn của firebase:enabled
(cụ thể là một Key
của firebase
có Value
là enabled
).
Firebase đã tự động thêm nhãn này vì dự án của bạn là một dự án Firebase. Điều này có nghĩa là dự án của bạn đã bật các cấu hình và dịch vụ dành riêng cho Firebase. Tìm hiểu thêm về mối quan hệ giữa các dự án Firebase và Google Cloud.
Bạn không nên sửa đổi hoặc xoá nhãn này. Firebase và Google Cloud sử dụng nhãn này để liệt kê
các dự án Firebase của bạn (ví dụ: sử dụng
điểm cuối
projects.list
của API REST
hoặc trong các trình đơn trong bảng điều khiển của Firebase).
Xin lưu ý rằng việc thêm nhãn này vào danh sách nhãn dự án theo cách thủ công sẽ KHÔNG bật các cấu hình và dịch vụ dành riêng cho Firebase cho dự án Google Cloud của bạn. Để làm điều đó, bạn cần thêm Firebase thông qua bảng điều khiển của Firebase (hoặc đối với các trường hợp sử dụng nâng cao, thông qua API REST quản lý Firebase hoặc Firebase CLI).
Tại sao dự án Firebase của tôi không xuất hiện trong danh sách dự án Firebase?
Câu hỏi thường gặp này có thể áp dụng nếu bạn không thấy dự án Firebase của mình ở những nơi sau:
- Trong danh sách dự án mà bạn đang xem trong bảng điều khiển của Firebase
- Trong phản hồi từ việc gọi điểm cuối API REST
projects.list
- Trong phản hồi từ việc chạy lệnh CLI của Firebase,
firebase projects:list
Hãy thử các bước khắc phục sự cố sau:
- Trước tiên, hãy thử truy cập vào dự án của bạn bằng cách truy cập trực tiếp URL của dự án. Hãy sử dụng định dạng sau:
https://console.firebase.google.com/project/PROJECT-ID/overview
- Nếu bạn không truy cập được vào dự án hoặc gặp lỗi về quyền, hãy kiểm tra những nội dung sau:
- Hãy đảm bảo rằng bạn đã đăng nhập vào Firebase bằng cùng một Tài khoản Google có quyền truy cập vào dự án. Bạn có thể đăng nhập và đăng xuất khỏi bảng điều khiển của Firebase thông qua hình đại diện tài khoản ở góc trên cùng bên phải bảng điều khiển.
- Hãy kiểm tra xem bạn có thể xem dự án trong bảng điều khiển Google Cloud hay không.
- Hãy đảm bảo rằng dự án của bạn có nhãn
firebase:enabled
trên trang Nhãn cho dự án trong bảng điều khiển Google Cloud. Firebase và Google Cloud sử dụng nhãn này để liệt kê các dự án Firebase của bạn. Nếu bạn không thấy nhãn này nhưng API Quản lý Firebase đã được bật cho dự án của bạn, hãy thêm nhãn theo cách thủ công (cụ thể làKey
củafirebase
vớiValue
làenabled
). - Đừng quên chỉ định một trong các vai trò IAM cơ bản (Chủ sở hữu, Người chỉnh sửa, Người xem) hoặc vai trò có quyền liên quan đến Firebase, chẳng hạn như vai trò được xác định trước trong Firebase. Bạn có thể xem(các) vai trò của mình trên trang IAM trong bảng điều khiển Google Cloud.
- Nếu dự án của bạn thuộc về một tổ chức Google Cloud, bạn có thể yêu cầu thêm quyền để xem dự án được liệt kê trong bảng điều khiển của Firebase. Hãy liên hệ với người quản lý tổ chức của bạn trên Google Cloud để được chỉ định vai trò thích hợp để xem dự án, ví dụ như vai trò Trình duyệt.
Nếu không bước khắc phục sự cố nào ở trên giúp bạn thấy dự án của mình trong danh sách dự án Firebase, hãy liên hệ với Nhóm hỗ trợ của Firebase.
Tôi có thể có bao nhiêu dự án cho mỗi tài khoản?
- Gói giá Spark — Hạn mức dự án của bạn bị giới hạn cho một số ít dự án (thường là khoảng 5 – 10 dự án).
- Gói định giá linh hoạt – Hạn mức dự án của bạn trên mỗi tài khoản thanh toán Cloud sẽ tăng đáng kể miễn là tài khoản thanh toán Cloud của bạn vẫn ở trạng thái tốt.
Hầu hết nhà phát triển ít khi lo ngại về hạn mức dự án. Tuy nhiên, nếu cần, bạn có thể yêu cầu tăng hạn mức cho dự án của mình.
Xin lưu ý rằng hệ thống cần 30 ngày để xóa hoàn toàn dự án và tính vào hạn mức của bạn cho đến khi dự án bị xóa hoàn toàn.
Tôi có thể có bao nhiêu Ứng dụng Firebase trong một dự án Firebase?
Dự án Firebase là một vùng chứa dành cho các ứng dụng Firebase trên Apple, Android và web. Firebase giới hạn tổng số Ứng dụng Firebase trong một dự án Firebase ở mức 30.
Sau con số này, hiệu suất bắt đầu suy giảm (đặc biệt là đối với Google Analytics) và cuối cùng, ở số lượng ứng dụng cao hơn, một số chức năng của sản phẩm sẽ ngừng hoạt động. Ngoài ra, nếu bạn sử dụng tính năng đăng nhập bằng Google làm nhà cung cấp dịch vụ xác thực, thì một mã ứng dụng khách OAuth 2.0 cơ bản sẽ được tạo cho từng ứng dụng trong dự án của bạn. Bạn có thể tạo giới hạn khoảng 30 mã ứng dụng khách trong một dự án.
Bạn cần đảm bảo rằng tất cả các Ứng dụng Firebase trong một dự án Firebase đều là biến thể nền tảng của cùng một ứng dụng từ góc độ người dùng cuối. Ví dụ: nếu bạn phát triển một ứng dụng nhãn trắng, thì mỗi ứng dụng được gắn nhãn độc lập phải có dự án Firebase riêng, nhưng các phiên bản Apple và Android của nhãn đó có thể nằm trong cùng một dự án. Hãy đọc hướng dẫn chi tiết hơn trong phần các phương pháp chung hay nhất để thiết lập dự án Firebase.
Trong trường hợp hiếm hoi là dự án của bạn cần hơn 30 ứng dụng, thì bạn có thể yêu cầu tăng giới hạn ứng dụng. Dự án của bạn phải nằm trong Gói giá linh hoạt để đưa ra yêu cầu này. Hãy truy cập vào bảng điều khiển của Google Cloud để đưa ra yêu cầu và nhờ họ đánh giá. Tìm hiểu thêm về quản lý hạn mức trong tài liệu của Google Cloud.
Điều gì xảy ra nếu tôi gắn thẻ dự án của mình là môi trường "sản xuất"?
Trong bảng điều khiển của Firebase, bạn có thể gắn thẻ các dự án Firebase theo loại môi trường của các dự án đó, dưới dạng môi trường Phát hành công khai hoặc Chưa chỉ định (không sản xuất).
Việc gắn thẻ dự án của bạn dưới dạng một loại môi trường không ảnh hưởng đến cách hoạt động của dự án Firebase hoặc các tính năng của dự án đó. Tuy nhiên, việc gắn thẻ có thể giúp bạn và nhóm của bạn quản lý nhiều dự án Firebase trong vòng đời của ứng dụng.
Nếu bạn gắn thẻ dự án dưới dạng môi trường sản xuất, chúng tôi sẽ thêm thẻ prod sáng màu vào dự án trong bảng điều khiển của Firebase để nhắc bạn rằng mọi thay đổi đều có thể ảnh hưởng đến các ứng dụng chính thức mà bạn liên kết. Trong tương lai, chúng tôi có thể bổ sung thêm tính năng và biện pháp bảo vệ cho những dự án Firebase được gắn thẻ là môi trường thực tế.
Để thay đổi loại môi trường của dự án Firebase, hãy chuyển đến phần settings Cài đặt dự án > Chung, sau đó trong thẻ Dự án của bạn trong phần Môi trường, hãy nhấp vào edit để thay đổi loại môi trường.
Tôi có thể tìm thấy Mã ứng dụng cho ứng dụng Firebase của mình ở đâu?
Trong bảng điều khiển của Firebase, hãy chuyển đến phần settings Cài đặt dự án. Di chuyển xuống thẻ Ứng dụng của bạn, sau đó nhấp vào ứng dụng Firebase bạn muốn để xem thông tin về ứng dụng, bao gồm cả Mã ứng dụng.
Dưới đây là một số ví dụ về giá trị ID ứng dụng:
-
Ứng dụng Firebase dành cho iOS:
1:1234567890:ios:321abc456def7890
-
Ứng dụng Firebase dành cho Android:
1:1234567890:android:321abc456def7890
-
Ứng dụng web của Firebase:
1:1234567890:web:321abc456def7890
Những điều kiện tiên quyết để liên kết Google Play / AdMob / Google Ads / BigQuery với dự án hoặc ứng dụng Firebase của tôi là gì?
- Để liên kết tài khoản Google Play, bạn cần có:
- Một trong các vai trò sau đây trên Firebase: Chủ sở hữu hoặc Quản trị viên Firebase
và - Một trong các cấp truy cập sau đây trên Google Play: Chủ sở hữu tài khoản hoặc Quản trị viên
- Một trong các vai trò sau đây trên Firebase: Chủ sở hữu hoặc Quản trị viên Firebase
- Để liên kết ứng dụng AdMob, bạn phải vừa là chủ sở hữu dự án Firebase vừa là quản trị viên AdMob.
- Để liên kết tài khoản AdWords, bạn cần phải vừa là chủ sở hữu dự án Firebase vừa là quản trị viên AdWords.
- Để liên kết dự án BigQuery, bạn phải là chủ sở hữu dự án Firebase.
Tôi nên đưa thông báo nguồn mở nào vào ứng dụng của mình?
Trên các nền tảng của Apple, nhóm Firebase chứa một tệp INFORMATIONS bao gồm các mục nhập có liên quan. SDK Android của Firebase chứa một trình trợ giúp Activity
để hiển thị thông tin giấy phép.
Quyền và quyền truy cập vào các dự án Firebase
Làm cách nào để chỉ định một vai trò cho thành viên của dự án, chẳng hạn như vai trò Chủ sở hữu?
Để quản lý(các) vai trò được chỉ định cho từng thành viên trong dự án, bạn phải là Chủ sở hữu dự án Firebase (hoặc được chỉ định một vai trò có quyền
resourcemanager.projects.setIamPolicy
).
Bạn có thể chỉ định và quản lý vai trò ở những nơi sau đây:
- Bảng điều khiển của Firebase mang đến một cách đơn giản để chỉ định vai trò cho các thành viên của dự án trong thẻ Người dùng và quyền của settings > Cài đặt dự án. Trong bảng điều khiển của Firebase, bạn có thể chỉ định bất kỳ vai trò cơ bản nào (Chủ sở hữu, Người chỉnh sửa, Người xem), vai trò Quản trị viên/Người xem trên Firebase hoặc bất kỳ vai trò danh mục sản phẩm do Firebase xác định trước.
- Bảng điều khiển của Google Cloud cung cấp một bộ công cụ đa dạng để chỉ định vai trò cho các thành viên của dự án trên trang IAM. Trong bảng điều khiển Cloud, bạn cũng có thể tạo và quản lý vai trò tuỳ chỉnh, cũng như cấp cho các tài khoản dịch vụ quyền truy cập vào dự án của bạn.
Xin lưu ý rằng trong bảng điều khiển Google Cloud, các thành viên của dự án được gọi là người dùng chính.
Nếu Chủ sở hữu dự án của bạn không thể thực hiện nhiệm vụ của Chủ sở hữu (ví dụ: người đó đã rời khỏi công ty của bạn) và dự án của bạn không được quản lý thông qua một tổ chức Google Cloud (xem đoạn tiếp theo), bạn có thể liên hệ với Nhóm hỗ trợ Firebase để chỉ định Chủ sở hữu tạm thời.
Xin lưu ý rằng nếu dự án Firebase thuộc một tổ chức trên Google Cloud, thì có thể dự án đó không có Chủ sở hữu. Nếu bạn không tìm được Chủ sở hữu cho dự án Firebase của mình, hãy liên hệ với người quản lý tổ chức trên Google Cloud của bạn để chỉ định Chủ sở hữu cho dự án.
Làm cách nào để tìm Chủ sở hữu của một dự án Firebase?
Bạn có thể xem thành viên dự án và vai trò của họ ở những nơi sau:
- Nếu có quyền truy cập vào dự án trong bảng điều khiển của Firebase, bạn có thể xem danh sách thành viên của dự án (bao gồm cả Chủ sở hữu) trên trang Người dùng và quyền của bảng điều khiển của Firebase.
- Nếu bạn không có quyền truy cập vào dự án trong bảng điều khiển của Firebase, hãy kiểm tra xem bạn có quyền truy cập vào dự án trong bảng điều khiển Google Cloud hay không. Bạn có thể xem danh sách các thành viên của dự án, bao gồm cả Chủ sở hữu, trên trang IAM của bảng điều khiển Google Cloud.
Nếu Chủ sở hữu dự án của bạn không thể thực hiện nhiệm vụ của Chủ sở hữu (ví dụ: người đó đã rời khỏi công ty của bạn) và dự án của bạn không được quản lý thông qua một tổ chức Google Cloud (xem đoạn tiếp theo), bạn có thể liên hệ với Nhóm hỗ trợ Firebase để chỉ định Chủ sở hữu tạm thời.
Xin lưu ý rằng nếu dự án Firebase thuộc một tổ chức trên Google Cloud, thì dự án đó có thể không có Chủ sở hữu. Thay vào đó, người quản lý tổ chức Google Cloud của bạn có thể thực hiện nhiều nhiệm vụ mà Chủ sở hữu có thể làm. Tuy nhiên, để thực hiện một số nhiệm vụ dành riêng cho Chủ sở hữu (như chỉ định vai trò hoặc quản lý tài sản Google Analytics), quản trị viên có thể cần tự chỉ định vai trò Chủ sở hữu thực tế để thực hiện những nhiệm vụ đó. Nếu bạn không thể tìm thấy Chủ sở hữu cho dự án Firebase của mình, hãy liên hệ với người quản lý tổ chức trên Google Cloud của bạn để chỉ định Chủ sở hữu cho dự án.
Tại sao hoặc khi nào tôi nên chỉ định vai trò Chủ sở hữu cho một thành viên của dự án?
Để đảm bảo quản lý đúng cách một dự án Firebase, dự án đó phải có một Chủ sở hữu. Chủ sở hữu dự án là người có thể thực hiện một số hành động quản trị quan trọng (như chỉ định vai trò và quản lý tài sản Google Analytics), còn Nhóm hỗ trợ Firebase chỉ có thể thực hiện các yêu cầu quản trị từ Chủ sở hữu dự án đã được chứng minh.
Sau khi bạn thiết lập(các) Chủ sở hữu cho dự án Firebase, bạn phải luôn cập nhật các hoạt động chỉ định đó.
Xin lưu ý rằng nếu dự án Firebase thuộc một tổ chức Google Cloud, thì người quản lý tổ chức Google Cloud của bạn có thể thực hiện nhiều nhiệm vụ mà Chủ sở hữu có thể làm. Tuy nhiên, đối với một số nhiệm vụ riêng của Chủ sở hữu (như chỉ định vai trò hoặc quản lý tài sản Google Analytics), quản trị viên có thể cần phải tự chỉ định vai trò Chủ sở hữu thực tế để thực hiện những nhiệm vụ đó.
Tôi không nghĩ rằng mình có dự án Firebase, nhưng tôi nhận được email về một dự án. Làm cách nào để truy cập vào dự án này?
Email mà bạn nhận được sẽ chứa một đường liên kết để mở dự án Firebase của bạn. Khi bạn nhấp vào đường liên kết trong email đó, dự án sẽ mở trong bảng điều khiển của Firebase.
Nếu bạn không thể mở dự án trong đường liên kết, hãy đảm bảo rằng bạn đã đăng nhập vào Firebase bằng chính Tài khoản Google mà bạn nhận được email về dự án đó. Bạn có thể đăng nhập và đăng xuất khỏi bảng điều khiển của Firebase thông qua hình đại diện tài khoản ở góc trên cùng bên phải của bảng điều khiển.
Xin lưu ý rằng nếu là quản trị viên của một tổ chức Google Cloud, bạn có thể nhận được thông báo về những thay đổi đối với các dự án Firebase trong tổ chức của mình. Tuy nhiên, bạn có thể không có đủ quyền để mở dự án Firebase. Trong những trường hợp này, giải pháp đơn giản nhất là tự chỉ định cho bạn vai trò Chủ sở hữu thực tế để mở dự án và thực hiện các hành động cần thiết. Tìm hiểu thêm về lý do và thời điểm nên chỉ định vai trò Chủ sở hữu.
Nền tảng và khung
Truy cập vào trang khắc phục sự cố và Câu hỏi thường gặp dành riêng cho từng nền tảng để biết các mẹo và câu trả lời hữu ích để xem thêm câu hỏi thường gặp.
bảng điều khiển của Firebase
Trình duyệt nào được hỗ trợ để truy cập vào bảng điều khiển của Firebase?
Bạn có thể truy cập vào bảng điều khiển của Firebase từ các phiên bản gần đây của các trình duyệt phổ biến dành cho máy tính như Chrome, Firefox, Safari và Edge. Trình duyệt dành cho thiết bị di động hiện chưa được hỗ trợ đầy đủ.
Tôi có thể tải bảng điều khiển của Firebase, nhưng tại sao tôi không tìm thấy hoặc không truy cập được vào dự án Firebase của mình?
Câu hỏi thường gặp này có thể áp dụng nếu bạn đang gặp phải một trong những vấn đề sau:
- Bảng điều khiển của Firebase trả về một trang lỗi cho biết dự án của bạn có thể không tồn tại hoặc bạn không có quyền truy cập vào dự án.
- Bảng điều khiển của Firebase không hiển thị dự án của bạn ngay cả khi bạn nhập mã dự án hoặc tên dự án vào trường tìm kiếm của bảng điều khiển.
Hãy thử các bước khắc phục sự cố sau:
- Trước tiên, hãy thử truy cập vào dự án của bạn bằng cách truy cập trực tiếp URL của dự án. Hãy sử dụng định dạng sau:
https://console.firebase.google.com/project/PROJECT-ID/overview
- Nếu bạn vẫn không truy cập được vào dự án hoặc nhận được lỗi về quyền, hãy kiểm tra những việc sau:
- Hãy đảm bảo rằng bạn đã đăng nhập vào Firebase bằng cùng một Tài khoản Google có quyền truy cập vào dự án. Bạn có thể đăng nhập và đăng xuất khỏi bảng điều khiển của Firebase thông qua hình đại diện tài khoản ở góc trên cùng bên phải bảng điều khiển.
- Hãy đảm bảo rằng bạn đã bật API Quản lý Firebase cho dự án.
- Đừng quên chỉ định một trong các vai trò IAM cơ bản (Chủ sở hữu, Người chỉnh sửa, Người xem) hoặc vai trò có quyền liên quan đến Firebase, ví dụ: vai trò được xác định trước trong Firebase. Bạn có thể xem(các) vai trò của mình trên trang IAM trong bảng điều khiển Google Cloud.
- Nếu dự án của bạn thuộc về một tổ chức Google Cloud, bạn có thể yêu cầu thêm quyền để xem dự án được liệt kê trong bảng điều khiển của Firebase. Hãy liên hệ với người quản lý tổ chức của bạn trên Google Cloud để được chỉ định vai trò thích hợp để xem dự án, ví dụ như vai trò Trình duyệt.
Nếu không bước khắc phục sự cố nào ở trên giúp bạn tìm thấy hoặc truy cập vào dự án của mình, hãy liên hệ với Nhóm hỗ trợ của Firebase.
Tại sao bảng điều khiển của Firebase không tải cho tôi?
Câu hỏi thường gặp này có thể áp dụng nếu bạn đang gặp phải bất kỳ vấn đề nào sau đây:
- Một trang trong bảng điều khiển của Firebase không bao giờ tải xong.
- Dữ liệu trong trang không tải như mong đợi.
- Bạn nhận được thông báo lỗi của trình duyệt khi tải bảng điều khiển của Firebase.
Hãy thử các bước khắc phục sự cố sau:
- Kiểm tra hàng Console (Bảng điều khiển) của Trang tổng quan về trạng thái Firebase để biết mọi trường hợp dịch vụ có thể bị gián đoạn.
- Hãy đảm bảo rằng bạn đang dùng một trình duyệt được hỗ trợ.
- Thử tải bảng điều khiển của Firebase trong cửa sổ ẩn danh hoặc riêng tư.
- Tắt tất cả tiện ích của trình duyệt.
- Xác minh rằng kết nối mạng không bị chặn bởi trình chặn quảng cáo, phần mềm diệt vi-rút, proxy, tường lửa hoặc phần mềm khác.
- Thử tải bảng điều khiển của Firebase bằng một mạng hoặc thiết bị khác.
- Nếu sử dụng Chrome, hãy kiểm tra Bảng điều khiển Công cụ cho nhà phát triển để xem có lỗi nào không.
Nếu các bước khắc phục sự cố nêu trên không giải quyết được vấn đề, hãy liên hệ với Nhóm hỗ trợ của Firebase.
Ngôn ngữ trên bảng điều khiển của Firebase được xác định như thế nào?
Tùy chọn cài đặt ngôn ngữ cho bảng điều khiển của Firebase dựa trên ngôn ngữ bạn chọn trong phần cài đặt Tài khoản Google.
Để thay đổi lựa chọn ưu tiên về ngôn ngữ, hãy xem phần Thay đổi ngôn ngữ.
Bảng điều khiển của Firebase hỗ trợ các ngôn ngữ sau:
- Tiếng Anh
- Tiếng Bồ Đào Nha (Brazil)
- Tiếng Pháp
- Tiếng Đức
- Tiếng Indonesia
- Tiếng Nhật
- Tiếng Hàn
- Tiếng Nga
- Tiếng Trung giản thể
- Tiếng Tây Ban Nha
- Tiếng Trung phồn thể
Bảng điều khiển của Firebase hỗ trợ những vai trò và quyền nào?
Bảng điều khiển của Firebase và bảng điều khiển Google Cloud sử dụng các vai trò và quyền cơ bản giống nhau. Tìm hiểu thêm về các vai trò và quyền trong tài liệu về Firebase IAM.
Firebase hỗ trợ các vai trò cơ bản (cơ bản) của Chủ sở hữu, Người chỉnh sửa và Người xem:
- Owner (chủ sở hữu) của dự án có thể thêm các thành viên khác vào dự án, thiết lập tính năng tích hợp (dự án liên kết với các dịch vụ như BigQuery hoặc Slack) và có toàn quyền chỉnh sửa dự án.
- Người chỉnh sửa dự án có toàn quyền chỉnh sửa dự án.
- Người xem dự án chỉ có quyền đọc dự án. Xin lưu ý rằng bảng điều khiển của Firebase hiện không ẩn/tắt các chế độ kiểm soát giao diện người dùng khỏi Trình xem dự án, nhưng các thao tác này sẽ không thực hiện được đối với các thành viên dự án được chỉ định vai trò Người xem.
Firebase cũng hỗ trợ:
- Các vai trò được xác định trước trong Firebase — Các vai trò dành riêng cho Firebase được chọn cho phép bạn kiểm soát quyền truy cập chi tiết hơn so với vai trò cơ bản của Chủ sở hữu, Người chỉnh sửa và Người xem.
- Vai trò tuỳ chỉnh — Các vai trò IAM được tuỳ chỉnh hoàn toàn mà bạn tạo để điều chỉnh một nhóm quyền đáp ứng yêu cầu cụ thể của tổ chức.
Giá
Những sản phẩm nào có tính phí? Những loại quảng cáo nào không mất phí?
Các sản phẩm cơ sở hạ tầng có tính phí của Firebase là Cơ sở dữ liệu theo thời gian thực, Cloud Storage cho Firebase, Chức năng đám mây, Dịch vụ lưu trữ, Phòng thử nghiệm và phương thức xác thực qua điện thoại. Chúng tôi cung cấp một bậc miễn phí cho tất cả các tính năng này.
Firebase cũng có nhiều sản phẩm không tốn phí: Analytics, Giải pháp gửi thông báo qua đám mây, trình soạn thông báo, Cấu hình từ xa, Lập chỉ mục ứng dụng, Đường liên kết động và Báo cáo sự cố. Việc sử dụng những sản phẩm này chỉ tuân theo các chính sách kiểm soát lưu lượng truy cập của sản phẩm (ví dụ: hạn mức, quyền truy cập công bằng và các biện pháp bảo vệ dịch vụ khác) trong tất cả các gói, bao gồm cả gói Spark miễn phí của chúng tôi. Ngoài ra, tất cả các tính năng Xác thực ngoài xác thực qua điện thoại đều miễn phí.
Firebase có cung cấp tín dụng dùng thử miễn phí cho các sản phẩm có tính phí không?
Bạn có thể sử dụng các dịch vụ có tính phí của Firebase trong thời gian Dùng thử miễn phí Google Cloud. Người dùng mới của Google Cloud và Firebase có thể tận dụng thời gian dùng thử 90 ngày, bao gồm 300 USD tín dụng Thanh toán đám mây miễn phí để khám phá và đánh giá các sản phẩm và dịch vụ của Google Cloud và Firebase.
Trong thời gian Dùng thử miễn phí Google Cloud, bạn sẽ được cung cấp một tài khoản thanh toán Cloud Dùng thử miễn phí. Mọi dự án Firebase sử dụng tài khoản thanh toán đó sẽ thuộc Gói giá linh hoạt trong thời gian dùng thử miễn phí.
Đừng lo, chúng tôi không tính phí bạn khi bạn thiết lập tài khoản Thanh toán dùng thử miễn phí trên đám mây. Bạn sẽ không bị tính phí, trừ phi bạn thể hiện rõ việc cho phép thanh toán bằng cách nâng cấp tài khoản Thanh toán dùng thử miễn phí trên đám mây lên một tài khoản có tính phí. Bạn có thể nâng cấp lên tài khoản có tính phí bất cứ lúc nào trong thời gian dùng thử. Sau khi nâng cấp, bạn vẫn có thể sử dụng mọi khoản tín dụng còn lại (trong vòng 90 ngày).
Sau khi thời gian dùng thử miễn phí kết thúc, bạn cần hạ cấp dự án của mình xuống gói giá Spark hoặc thiết lập Gói giá linh hoạt trong bảng điều khiển của Firebase để tiếp tục sử dụng dự án Firebase của bạn.
Tìm hiểu thêm về Gói dùng thử miễn phí Google Cloud.
Làm thế nào để biết gói giá nào phù hợp với tôi?
Gói giá Spark
Gói Spark của chúng tôi là một nơi tuyệt vời để bạn phát triển ứng dụng miễn phí. Bạn sẽ được sử dụng tất cả các tính năng miễn phí của Firebase (Analytics, trình soạn thông báo, Crashlytics, v.v.) cùng một lượng lớn các tính năng có tính phí của cơ sở hạ tầng mà chúng tôi cung cấp. Tuy nhiên, nếu bạn vượt quá tài nguyên của gói Spark trong một tháng theo lịch, thì ứng dụng của bạn sẽ bị tắt trong thời gian còn lại của tháng đó. Ngoài ra, khi dùng gói Spark, bạn sẽ không dùng được các tính năng của Google Cloud.
Gói giá linh hoạt
Gói linh hoạt của chúng tôi được thiết kế cho các ứng dụng phát hành công khai. Với gói linh hoạt, bạn có thể mở rộng ứng dụng của mình bằng các tính năng có tính phí của Google Cloud. Bạn chỉ phải trả tiền cho những tài nguyên mà mình tiêu thụ, cho phép bạn mở rộng quy mô theo nhu cầu. Chúng tôi cố gắng đưa ra mức giá cho Gói linh hoạt của mình để cạnh tranh với các nhà cung cấp dịch vụ đám mây đầu ngành.
Làm cách nào để giám sát việc sử dụng và thanh toán của tôi?
Bạn có thể theo dõi mức sử dụng tài nguyên của dự án trong bảng điều khiển của Firebase trên bất kỳ trang tổng quan nào sau đây:
- Trang tổng quan tổng thể về Việc sử dụng và thanh toán cấp dự án
- Trang tổng quan Sử dụng xác thực (dành riêng cho các trường hợp xác thực Điện thoại)
- Trang tổng quan về mức sử dụng trên Cloud Firestore
- Trang tổng quan việc sử dụng các chức năng đám mây
- Trang tổng quan về mức sử dụng Cloud Storage
- Trang tổng quan về Mức sử dụng lưu trữ
- Trang tổng quan Mức sử dụng cơ sở dữ liệu theo thời gian thực
Điều gì đã xảy ra với gói giá của Ngọn lửa?
Tháng 1 năm 2020, gói giá của Ngọn lửa (25 USD/tháng hạn mức bổ sung) đã bị loại bỏ đối với các lượt đăng ký mới. Những người dùng gói hiện tại đã được
gia hạn để di chuyển các dự án của họ khỏi gói Flame.
Vào tháng 2 năm 2022, các dự án còn lại trong gói giá của ngọn lửa đã bị hạ cấp xuống gói giá Spark.
Theo đó,
- Các dự án hiện có trong gói Spark và Blaze cũng như mọi dự án mới sẽ không thể chuyển sang hoặc đăng ký gói Flame được nữa.
- Nếu bạn đã chuyển một dự án hiện có trong gói Flame sang một gói giá khác, thì dự án đó sẽ không thể quay lại gói Flame.
- Các dự án bị hạ cấp xuống gói Spark có thể được nâng cấp lên Gói Blaze để tiếp tục sử dụng các dịch vụ có tính phí bổ sung.
- Những thông tin tham chiếu đến gói Ngọn lửa đã bị xoá khỏi tài liệu.
Bạn có câu hỏi nào khác về việc ngưng sử dụng gói Flame? Hãy đọc một số Câu hỏi thường gặp khác bên dưới.
Bạn muốn tìm hiểu về các gói giá khác do Firebase cung cấp? Truy cập vào trang giá của Firebase! Nếu muốn bắt đầu chuyển bất kỳ dự án hiện có nào sang gói giá khác, bạn có thể thực hiện việc đó trong bảng điều khiển của Firebase cho dự án của mình.
Câu hỏi thường gặp khác về việc ngừng sử dụng gói Flame
Tôi có một dự án, quy trình hoặc mô hình kinh doanh dựa vào chi phí Firebase cố định. Tôi nên làm gì?
Đăng ký Gói giá linh hoạt và nhớ thiết lập thông báo về ngân sách.
Tôi có thể được cấp quyền truy cập đặc biệt để tạo các dự án gói Flame mới không?
Không, Firebase không cung cấp quyền truy cập đặc biệt cho những dự án để chuyển sang hoặc đăng ký gói Flame.
Tôi đã thay đổi dự án gói Flame của mình sang một gói giá khác. Làm cách nào để thay đổi lại tài khoản?
Bạn không thể chuyển sang gói Flame được nữa. Để có quyền sử dụng các dịch vụ trong gói Flame, hãy đảm bảo rằng bạn đang dùng gói giá linh hoạt và cân nhắc việc thiết lập thông báo về ngân sách cho dự án của bạn.
Dự án của tôi đã được tự động chuyển sang một gói giá khác khi gói Flame ngừng hoạt động. Tôi nên làm gì?
Nếu dự án của bạn yêu cầu hạn mức bổ sung ngoài hạn mức được cung cấp trong gói Spark, bạn sẽ cần nâng cấp dự án lên Gói giá linh hoạt.
Vì sao gói Flame sẽ ngừng hoạt động?
Trong những năm qua, chúng tôi nhận thấy nhu cầu sử dụng gói Flame ngày càng giảm, đồng thời hầu hết các dự án dùng gói này đều không tiêu thụ hết giá trị của gói này. Việc duy trì gói giá này thường không tiết kiệm chi phí. Chúng tôi cảm thấy rằng mình có thể phục vụ mọi người tốt hơn nếu tài nguyên được chuyển sang những sáng kiến Firebase khác.
Mức sử dụng gói miễn phí trong gói linh hoạt có gì khác so với mức sử dụng không tốn phí trong gói Spark?
Mức sử dụng miễn phí trong Gói linh hoạt được tính toán hằng ngày. Hạn mức sử dụng cũng khác với gói Spark cho Cloud Functions, phương thức xác thực điện thoại và Phòng thử nghiệm.
Đối với Cloud Functions, mức sử dụng miễn phí trong Gói linh hoạt được tính ở cấp tài khoản thanh toán Cloud, chứ không phải ở cấp dự án và có các giới hạn sau:
- 2 triệu yêu cầu/tháng
- 400.000 GB-giây/tháng
- 200 nghìn CPU-giây/tháng
- 5 GB lưu lượng truy cập mạng/tháng
Đối với việc xác thực điện thoại, mức sử dụng miễn phí trong gói linh hoạt được tính hằng tháng.
Đối với Phòng thử nghiệm, việc sử dụng gói linh hoạt không tốn phí có các giới hạn sau:
- 30 phút sử dụng thiết bị thực tế/ngày
- 60 phút sử dụng thiết bị ảo/ngày
Hạn mức sử dụng miễn phí có được đặt lại khi tôi chuyển từ gói Spark sang Gói linh hoạt không?
Mức sử dụng miễn phí trong gói Spark có trong gói linh hoạt. Mức sử dụng miễn phí không đặt lại khi chuyển sang Gói linh hoạt.
"Kết nối cơ sở dữ liệu đồng thời" là gì?
Một kết nối đồng thời tương đương với một thiết bị di động, thẻ trình duyệt hoặc ứng dụng máy chủ được kết nối với cơ sở dữ liệu. Firebase áp dụng giới hạn cố định về số lượng kết nối đồng thời đến cơ sở dữ liệu của ứng dụng. Những giới hạn này được áp dụng nhằm bảo vệ cả Firebase và người dùng khỏi hành vi sai trái.
Giới hạn của gói Spark là 100 và không thể tăng lên. Gói Flame và Blaze có giới hạn 200.000 kết nối đồng thời cho mỗi cơ sở dữ liệu.
Giới hạn này không giống với tổng số người dùng ứng dụng của bạn vì không phải người dùng nào cũng kết nối cùng một lúc. Nếu bạn cần hơn 200.000 kết nối đồng thời, vui lòng đọc nội dung Mở rộng quy mô bằng nhiều cơ sở dữ liệu.
Điều gì xảy ra nếu tôi vượt quá hạn mức bộ nhớ hoặc hạn mức tải xuống của gói Spark cho Cơ sở dữ liệu theo thời gian thực?
Để cung cấp cho bạn mức giá có thể dự đoán, chúng tôi sẽ giới hạn các tài nguyên dành cho bạn trong các gói Spark. Điều này có nghĩa là khi bạn vượt quá hạn mức gói bất kỳ trong một tháng bất kỳ, ứng dụng của bạn sẽ bị tắt để ngăn việc sử dụng tài nguyên và các khoản phí phát sinh khác.
Điều gì xảy ra nếu tôi vượt quá hạn mức kết nối đồng thời của gói Spark cho Cơ sở dữ liệu theo thời gian thực?
Khi ứng dụng của bạn đạt đến giới hạn đồng thời trong gói Spark, mọi kết nối tiếp theo sẽ bị từ chối cho đến khi một số kết nối hiện có bị đóng. Ứng dụng sẽ tiếp tục hoạt động đối với những người dùng đã kết nối.
Tính năng tích hợp của Firebase với Google Cloud hoạt động như thế nào?
Firebase được tích hợp chặt chẽ với Google Cloud. Các dự án được chia sẻ giữa Firebase và Google Cloud, vì vậy, các dự án có thể bật các dịch vụ của Firebase và dịch vụ của Google Cloud. Bạn có thể truy cập vào cùng một dự án từ bảng điều khiển của Firebase hoặc bảng điều khiển Google Cloud. Cụ thể:
- Một số sản phẩm của Firebase được Google Cloud trực tiếp hỗ trợ, chẳng hạn như Cloud Storage cho Firebase. Danh sách các sản phẩm được Google Cloud hỗ trợ sẽ tiếp tục tăng lên theo thời gian.
- Nhiều chế độ cài đặt của bạn, bao gồm cả cộng tác viên và thông tin thanh toán, sẽ được Firebase và Google Cloud chia sẻ. Việc bạn sử dụng cả Firebase và Google Cloud xuất hiện trên cùng một hoá đơn.
Ngoài ra, khi nâng cấp lên Gói linh hoạt, bạn có thể sử dụng bất kỳ API và Cơ sở hạ tầng dưới dạng dịch vụ nào của Google Cloud đẳng cấp thế giới ngay trong dự án Firebase của mình, theo mức giá tiêu chuẩn của Google Cloud. Bạn cũng có thể xuất dữ liệu trực tiếp từ Google Cloud sang BigQuery để phân tích. Để tìm hiểu thêm, hãy xem bài viết Liên kết BigQuery với Firebase.
Khi sử dụng Google Cloud với Firebase, bạn sẽ nhận được nhiều lợi ích tăng cường bảo mật, cải thiện độ trễ và tiết kiệm thời gian (so với những dịch vụ đám mây khác không có cùng vị trí). Hãy khám phá trang web của Google Cloud để biết thêm chi tiết.
Điều gì sẽ xảy ra với dự án Firebase của tôi nếu tôi thêm hoặc xoá tài khoản thanh toán cho dự án đó trong bảng điều khiển Google Cloud?
Nếu bạn thêm một tài khoản thanh toán Cloud vào một dự án trong bảng điều khiển Google Cloud, thì dự án đó sẽ tự động được nâng cấp lên gói Firebase Blaze nếu dự án đó hiện đang dùng gói Spark.
Ngược lại, nếu một tài khoản thanh toán Cloud đang hoạt động hiện có bị xoá khỏi một dự án trong bảng điều khiển Google Cloud, thì dự án đó sẽ bị hạ cấp xuống gói Firebase Spark.
Tôi có thể nâng cấp, hạ cấp hoặc huỷ bất kỳ lúc nào không?
Có, bạn có thể nâng cấp, hạ cấp hoặc huỷ bất kỳ lúc nào. Xin lưu ý rằng chúng tôi không hoàn tiền theo tỷ lệ khi hạ cấp hoặc huỷ gói thuê bao. Điều này có nghĩa là nếu hạ cấp hoặc huỷ trước khi kết thúc kỳ thanh toán, bạn vẫn phải thanh toán cho phần còn lại của tháng.
Tôi sẽ nhận được loại hỗ trợ nào?
Tất cả ứng dụng Firebase (bao gồm cả những ứng dụng dùng gói không tốn phí) đều được nhân viên Firebase hỗ trợ qua email trong giờ làm việc tại Hoa Kỳ ở khu vực Thái Bình Dương. Mọi tài khoản đều được hỗ trợ không giới hạn cho các vấn đề liên quan đến việc thanh toán, vấn đề liên quan đến tài khoản, câu hỏi về kỹ thuật (khắc phục sự cố và báo cáo sự cố).
Tôi có thể giới hạn mức sử dụng trong Gói linh hoạt không?
Không, bạn hiện không thể sử dụng giới hạn mức sử dụng Gói linh hoạt của mình. Chúng tôi đang đánh giá các phương án hỗ trợ giới hạn sử dụng Gói linh hoạt.
Người dùng linh hoạt có thể xác định ngân sách cho dự án hoặc tài khoản của họ và nhận được thông báo khi chi tiêu của họ gần đạt đến các hạn mức đó. Tìm hiểu cách thiết lập thông báo về ngân sách.
Sao lưu tự động là gì? Bạn có cung cấp tính năng sao lưu hàng giờ không?
Sao lưu tự động là một tính năng nâng cao dành cho những khách hàng đang sử dụng gói giá linh hoạt của chúng tôi. Tính năng này sao lưu dữ liệu trong Cơ sở dữ liệu theo thời gian thực của Firebase mỗi ngày một lần rồi tải dữ liệu đó lên Google Cloud Storage.
Chúng tôi không cung cấp tính năng sao lưu hàng giờ.
Bạn có cung cấp chiết khấu nguồn mở, phi lợi nhuận hoặc giáo dục không?
Mọi kiểu cá nhân hoặc tổ chức đều có thể dùng gói Spark của chúng tôi, bao gồm cả tổ chức phi lợi nhuận, trường học và dự án nguồn mở. Vì những gói này vốn đã có một hạn mức rất lớn, nên chúng tôi không cung cấp gói chiết khấu hay kế hoạch đặc biệt nào cho các dự án nguồn mở, phi lợi nhuận hoặc giáo dục.
Bạn có cung cấp dịch vụ lưu trữ cơ sở hạ tầng chuyên dụng, hợp đồng với doanh nghiệp hay không?
Gói linh hoạt của chúng tôi phù hợp với doanh nghiệp thuộc mọi quy mô và SLA của chúng tôi đáp ứng hoặc vượt tiêu chuẩn ngành về cơ sở hạ tầng đám mây. Tuy nhiên, chúng tôi hiện không cung cấp hợp đồng, giá hoặc hỗ trợ cho doanh nghiệp. Chúng tôi cũng không cung cấp dịch vụ lưu trữ cơ sở hạ tầng chuyên dụng (tức là cài đặt tại chỗ) cho các dịch vụ như Cơ sở dữ liệu theo thời gian thực của chúng tôi. Chúng tôi đang nỗ lực bổ sung một số tính năng này.
Bạn có cung cấp giá đặc biệt không? Tôi chỉ muốn trả tiền theo mức dùng cho một hoặc hai tính năng.
Chúng tôi cung cấp giá đặc biệt trong Gói linh hoạt, trong đó bạn chỉ phải thanh toán cho những tính năng mà mình sử dụng.
Kế hoạch có tính phí của Firebase hoạt động như thế nào với Google Ads? Có khoản tín dụng quảng cáo miễn phí nào trong gói có tính phí không?
Các gói giá của Firebase tách biệt với Google Ads, vì vậy, bạn sẽ không nhận được tín dụng quảng cáo nếu không phải trả phí. Là nhà phát triển Firebase, bạn có thể "liên kết" tài khoản Google Ads của mình với Firebase để hỗ trợ tính năng theo dõi lượt chuyển đổi.
Tất cả chiến dịch quảng cáo đều được quản lý trực tiếp trong Google Ads, và việc thanh toán cho Google Ads được quản lý từ bảng điều khiển Google Ads.
Giá Cloud Functions
Tại sao tôi cần có tài khoản thanh toán để sử dụng Cloud Functions cho Firebase?
Cloud Functions cho Firebase dựa trên một số dịch vụ có tính phí của Google. Các hoạt động triển khai chức năng mới bằng Firebase CLI 11.2.0 trở lên dựa vào Cloud Build và Artifact Registry. Các hoạt động triển khai cho các phiên bản cũ hơn cũng sử dụng Cloud Build theo cách tương tự, nhưng sẽ dựa vào Container Registry (Sổ đăng ký vùng chứa) và Cloud Storage để lưu trữ thay vì Artifact Registry. Việc sử dụng các dịch vụ này sẽ được tính phí cùng với các mức giá hiện tại.
Không gian lưu trữ cho Firebase CLI 11.2.0 và các phiên bản mới hơn
Artifact Registry cung cấp các vùng chứa mà các hàm chạy trong đó. Artifact Registry cung cấp miễn phí 500 MB đầu tiên, vì vậy, bạn có thể không phải trả bất kỳ khoản phí nào trong những lần triển khai hàm đầu tiên. Trên ngưỡng đó, mỗi GB dung lượng lưu trữ bổ sung sẽ được tính phí ở mức 0,1 USD/tháng.
Không gian lưu trữ cho Firebase CLI 11.1.x và các phiên bản trước
Đối với các hàm được triển khai cho phiên bản cũ hơn, container Registry (Đăng ký vùng chứa) sẽ cung cấp các vùng chứa mà các hàm chạy trong đó. Bạn sẽ được lập hoá đơn cho từng vùng chứa cần thiết để triển khai hàm. Bạn có thể nhận thấy các khoản phí nhỏ cho mỗi vùng chứa được lưu trữ, ví dụ: 1 GB dung lượng lưu trữ được lập hoá đơn ở mức 0,026 USD/tháng.
Để hiểu thêm về việc hoá đơn có thể thay đổi như thế nào, vui lòng xem những thông tin sau
- Giá của Cloud Functions: bậc không mất phí hiện tại sẽ không thay đổi.
- Giá của Cloud Build: Cloud Build cung cấp một cấp miễn phí.
- Giá của Artifact Registry.
- Giá của Cơ quan đăng ký vùng chứa.
Chức năng đám mây dành cho Firebase có còn sử dụng miễn phí không?
Có. Trong gói linh hoạt, Cloud Functions cung cấp một cấp không tốn phí về lệnh gọi, thời gian điện toán và lưu lượng truy cập Internet. Mỗi tháng, chúng tôi cung cấp miễn phí 2.000.000 lệnh gọi đầu tiên, 400.000 GB-giây, 200.000 CPU-giây và 5 GB lưu lượng ra vào Internet. Bạn sẽ chỉ bị tính phí khi sử dụng vượt quá các ngưỡng đó.
Sau 500 MB đầu tiên của bộ nhớ không tốn phí, mỗi hoạt động triển khai sẽ phải chịu các khoản phí nhỏ đối với không gian lưu trữ dùng cho vùng chứa của hàm. Nếu quá trình phát triển của bạn phụ thuộc vào việc triển khai các chức năng để kiểm thử, thì bạn có thể giảm thiểu chi phí hơn nữa bằng cách sử dụng Bộ mô phỏng cục bộ của Firebase trong quá trình phát triển.
Hãy xem Các gói giá của Firebase và các trường hợp ví dụ về Giá của các dịch vụ đám mây.
Firebase có dự định tăng hạn mức và giới hạn cho Cloud Functions cho Firebase không?
Không. Chúng tôi không có kế hoạch thay đổi hạn mức, ngoại trừ việc xoá giới hạn thời gian xây dựng tối đa. Thay vì nhận lỗi hoặc cảnh báo khi đạt hạn mức bản dựng hằng ngày là 120 phút, bạn sẽ bị tính phí theo các điều khoản của Gói giá linh hoạt. Xem phần Hạn mức và giới hạn.
Tôi có thể nhận được khoản tín dụng 300 USD của Google Cloud không?
Có, bạn có thể tạo một tài khoản thanh toán Cloud trong bảng điều khiển Google Cloud để nhận khoản tín dụng 300 USD, sau đó liên kết tài khoản thanh toán Cloud đó với một dự án Firebase.
Tìm hiểu thêm về tín dụng Google Cloud tại đây.
Xin lưu ý rằng nếu thực hiện việc này thì bạn phải thiết lập Gói giá linh hoạt trong bảng điều khiển của Firebase để dự án của bạn có thể tiếp tục hoạt động sau khi khoản tín dụng 300 USD đã hết.
Tôi muốn theo dõi một lớp học lập trình để tìm hiểu về Firebase. Bạn có thể cung cấp cho tôi một tài khoản thanh toán tạm thời được không?
Không, rất tiếc. Bạn có thể sử dụng trình mô phỏng Firebase để phát triển mà không cần có tài khoản Cloud Billing. Ngoài ra, hãy thử đăng ký dùng thử miễn phí Google Cloud. Nếu bạn vẫn gặp vấn đề khi thanh toán hoá đơn do thay đổi này, hãy liên hệ với Nhóm hỗ trợ Firebase.
Tôi lo lắng rằng mình sắp thanh toán một hóa đơn khổng lồ.
Bạn có thể thiết lập thông báo về ngân sách trong bảng điều khiển Google Cloud để giúp kiểm soát chi phí. Ngoài ra, bạn có thể đặt giới hạn về số lượng thực thể đã lập hoá đơn được tạo cho mỗi hàm. Để nắm được cách tính chi phí cho các trường hợp thông thường, hãy xem ví dụ về Giá của các dịch vụ đám mây.
Làm cách nào để kiểm tra các khoản phí thanh toán hiện tại?
Xem trang tổng quan Mức sử dụng và thanh toán trong bảng điều khiển của Firebase.
Tôi sử dụng Tiện ích Firebase. Tôi có cần một tài khoản thanh toán không?
Có. Vì các tiện ích sử dụng Chức năng đám mây, nên các tiện ích sẽ phải chịu cùng mức phí như các hàm khác.
Để sử dụng các tiện ích, bạn cần nâng cấp lên gói giá của Gói linh hoạt. Bạn sẽ phải trả một khoản phí nhỏ (thường là khoảng 0,01 USD mỗi tháng cho các tài nguyên Firebase cần thiết cho mỗi tiện ích mà bạn cài đặt (ngay cả khi chúng không được sử dụng), ngoài các khoản phí liên quan đến việc sử dụng dịch vụ của Firebase.
Giá của Cloud Storage cho Firebase
Làm cách nào để dự đoán số tiền tôi sẽ phải trả cho các hoạt động tải lên và tải xuống?
Truy cập vào trang Giá của Firebase và sử dụng công cụ tính gói linh hoạt. Hàm tính này liệt kê tất cả các hình thức sử dụng Cloud Storage cho Firebase.
Sử dụng thanh trượt để nhập mức sử dụng dự kiến của Bộ chứa lưu trữ. Công cụ tính này sẽ ước tính hoá đơn hằng tháng của bạn.
Điều gì xảy ra nếu tôi vượt quá hạn mức bộ nhớ, tải xuống hoặc tải lên của gói Spark trong Cloud Storage cho Firebase?
Khi bạn vượt quá hạn mức của Cloud Storage trong một dự án thuộc gói Spark, kết quả sẽ phụ thuộc vào loại hạn mức bạn vượt quá:
- Nếu vượt quá giới hạn GB lưu trữ, bạn sẽ không thể lưu trữ thêm bất kỳ dữ liệu nào trong dự án đó, trừ phi bạn xoá một số dữ liệu được lưu trữ hoặc nâng cấp lên gói cung cấp thêm không gian lưu trữ hoặc không gian lưu trữ không giới hạn.
- Nếu bạn vượt quá giới hạn GB đã tải xuống, ứng dụng của bạn sẽ không thể tải thêm dữ liệu xuống cho đến ngày hôm sau (bắt đầu từ nửa đêm theo Giờ Thái Bình Dương tại Hoa Kỳ), trừ phi bạn nâng cấp lên một gói có giới hạn ít hạn chế hơn hoặc không có giới hạn.
- Nếu bạn vượt quá giới hạn thao tác tải lên hoặc tải xuống, ứng dụng của bạn sẽ không thể tải lên hoặc tải thêm dữ liệu xuống cho đến ngày hôm sau (bắt đầu từ nửa đêm, theo Giờ Thái Bình Dương tại Hoa Kỳ), trừ phi bạn nâng cấp lên một gói có giới hạn ít hạn chế hơn hoặc không có giới hạn.
Quyền riêng tư
Tôi có thể tìm thông tin về quyền riêng tư và bảo mật ở đâu trong Firebase?
Hãy tham khảo trang Quyền riêng tư và bảo mật trong Firebase.
SDK Firebase có ghi lại bất kỳ thông tin sử dụng/chẩn đoán nào bên ngoài Analytics không?
Có. Tính năng này hiện chỉ dành cho iOS nhưng có thể thay đổi trong tương lai. Theo mặc định, SDK nền tảng Apple của Firebase bao gồm khung FirebaseCoreDiagnostics
. Firebase sử dụng khung này để thu thập
thông tin về việc sử dụng và chẩn đoán SDK nhằm giúp ưu tiên những tính năng nâng cao
cho sản phẩm trong tương lai. FirebaseCoreDiagnostics
là không bắt buộc. Vì vậy, nếu
muốn chọn không gửi nhật ký chẩn đoán Firebase, bạn có thể
huỷ liên kết thư viện khỏi ứng dụng của mình. Bạn có thể duyệt qua toàn bộ nguồn, bao gồm cả các giá trị đã ghi lại, trên GitHub
Thử nghiệm A/B
Thử nghiệm A/B: Tôi có thể tạo và chạy bao nhiêu thử nghiệm?
Bạn được phép tiến hành tối đa 300 thử nghiệm cho mỗi dự án, có thể bao gồm tối đa 24 thử nghiệm đang chạy, phần còn lại là thử nghiệm nháp hoặc đã hoàn tất.
Thử nghiệm A/B: Tại sao tôi không thể xem các thử nghiệm của mình sau khi huỷ liên kết và liên kết lại dự án với Google Analytics?
Việc liên kết với một tài sản Google Analytics khác sẽ khiến bạn mất quyền truy cập vào các thử nghiệm đã tạo trước đó. Để lấy lại quyền truy cập vào một thử nghiệm trước đó, hãy liên kết lại dự án của bạn với tài sản Google Analytics đã được liên kết khi thử nghiệm được tạo.
Thử nghiệm A/B: Tại sao tôi nhận được thông báo "Dự án không được liên kết với Google Analytics" khi tạo thử nghiệm Cấu hình từ xa?
Nếu bạn đã liên kết Firebase và Google Analytics nhưng vẫn thấy thông báo cho biết Google Analytics chưa được liên kết, hãy đảm bảo rằng có một luồng Analytics cho tất cả ứng dụng trong dự án của bạn. Hiện tại, bạn phải kết nối tất cả các ứng dụng trong một dự án với một luồng Google Analytics để sử dụng Thử nghiệm A/B.
Bạn có thể tìm thấy danh sách tất cả luồng đang hoạt động trên trang Thông tin chi tiết về hoạt động tích hợp Google Analytics trong bảng điều khiển của Firebase, có thể truy cập trong phần settingsCài đặt dự án chevron_right Tích hợp chevron_right Google Analytics chevron_right Quản lý.
Bạn có thể giải quyết vấn đề này bằng cách tạo luồng Google Analytics cho bất kỳ ứng dụng nào chưa có luồng Google Analytics. Sau đây là một số cách tạo luồng cho các ứng dụng bị thiếu:
-
Nếu chỉ có một hoặc hai ứng dụng thiếu luồng Google Analytics được liên kết, bạn có thể chọn
một trong những cách sau để thêm một luồng Google Analytics:
- Xoá và thêm lại bất kỳ ứng dụng nào không có luồng đang hoạt động trong bảng điều khiển của Firebase.
- Trong Bảng điều khiển Google Analytics, hãy chọn Quản trị, nhấp vào Luồng dữ liệu, sau đó nhấp vào Thêm luồng, thêm thông tin chi tiết về ứng dụng còn thiếu, rồi nhấp vào Đăng ký ứng dụng.
-
Nếu bạn bỏ lỡ nhiều luồng ứng dụng, thì việc huỷ liên kết và liên kết lại tài sản Google Analytics
là cách nhanh nhất và hiệu quả nhất để tạo các luồng ứng dụng bị thiếu:
- Trong phần Cài đặt dự án settings, hãy chọn Tích hợp.
- Trong thẻ Google Analytics, hãy nhấp vào Quản lý để truy cập vào các chế độ cài đặt Firebase và Google Analytics.
- Ghi lại Mã tài sản Google Analytics và Tài khoản Google Analytics được liên kết.
- Nhấp vào more_vert Lựa chọn khác rồi chọn Huỷ liên kết Analytics khỏi dự án này.
-
Xem lại cảnh báo xuất hiện (đừng lo lắng; bạn sẽ liên kết lại cùng một tài sản trong
bước tiếp theo), sau đó nhấp vào
Huỷ liên kết Google Analytics.
Khi quá trình huỷ liên kết hoàn tất, bạn sẽ được chuyển hướng đến trang Tích hợp. - Trong thẻ Google Analytics, hãy nhấp vào Bật để bắt đầu quá trình liên kết lại.
- Chọn tài khoản Analytics của bạn trong danh sách Chọn tài khoản.
-
Bên cạnh mục Tự động tạo tài sản mới trong tài khoản này, hãy nhấp vào
edit Chỉnh sửa, rồi chọn mã tài sản của bạn từ danh sách
tài sản Analytics vừa xuất hiện.
Một danh sách tất cả ứng dụng trong dự án của bạn sẽ xuất hiện. Các ánh xạ luồng hiện có cho từng ứng dụng sẽ được liệt kê và các ứng dụng không có luồng sẽ được tạo một luồng cho chúng. - Nhấp vào Bật Google Analytics để liên kết lại tài sản đó.
- Nhấp vào Hoàn tất.
Nếu bạn vẫn gặp lỗi khi tạo thử nghiệm A/B bằng Cấu hình từ xa sau khi thực hiện những bước này, hãy liên hệ với Nhóm hỗ trợ Firebase.
AdMob
AdMob: Tôi có thể liên kết các ứng dụng Windows với Firebase không?
Không, các ứng dụng Windows hiện chưa được hỗ trợ.
AdMob: Tại sao tôi không thể liên kết ứng dụng của mình với AdMob trong bảng điều khiển của Firebase?
Bạn có thể liên kết ứng dụng AdMob với ứng dụng Firebase thông qua bảng điều khiển AdMob. Tìm hiểu cách thực hiện.
AdMob: Tôi cần có những quyền hoặc quyền truy cập nào để liên kết một ứng dụng Firebase với ứng dụng AdMob?
Để thực hiện việc liên kết này, bạn cần có quyền truy cập sau:
- AdMob: Bạn phải là quản trị viên AdMob.
- Firebase: Bạn phải có quyền
firebase.links.create
, quyền này nằm trong vai trò Chủ sở hữu và vai trò Quản trị viên trên Firebase. - Google Analytics: Bạn phải có vai trò Chỉnh sửa hoặc vai trò Quản lý người dùng đối với tài sản được liên kết với dự án Firebase. Tìm hiểu thêm.
AdMob: Nhiều người dùng trong cùng một tài khoản AdMob có thể liên kết ứng dụng AdMob với ứng dụng Firebase không?
Đối với tài khoản AdMob nhiều người dùng, người dùng đã tạo mối liên kết Firebase đầu tiên và chấp nhận Điều khoản dịch vụ của Firebase là người dùng duy nhất có thể tạo mối liên kết mới giữa ứng dụng AdMob với ứng dụng Firebase.
AdMob: Để sử dụng AdMob, tôi nên sử dụng SDK nào?
Để sử dụng AdMob, hãy luôn sử dụng SDK Quảng cáo của Google trên thiết bị di động theo mô tả trong Câu hỏi thường gặp này. Ngoài ra, nếu bạn muốn thu thập chỉ số người dùng cho AdMob (không bắt buộc), hãy tích hợp Firebase SDK cho Google Analytics vào ứng dụng của mình.
- Đối với dự án iOS:
Nhập SDK Quảng cáo của Google trên thiết bị di động bằng cách làm theo hướng dẫn trong tài liệu iOS AdMob. - Đối với các dự án Android:
Hãy thêm phần phụ thuộc của SDK Quảng cáo của Google trên thiết bị di động vào tệpbuild.gradle
:
implementation 'com.google.android.gms:play-services-ads:23.2.0'
- Đối với các dự án C++ và các dự án Unity: Làm theo hướng dẫn trong tài liệu tương ứng.
Analytics
Analytics: Tại sao bạn nên sử dụng Google Analytics khi sử dụng các sản phẩm của Firebase?
Google Analytics là một giải pháp phân tích miễn phí và không giới hạn, hoạt động với các tính năng của Firebase để cung cấp thông tin chi tiết hữu ích. Công cụ này cho phép bạn xem nhật ký sự kiện trong Crashlytics, mức độ hiệu quả của thông báo trong FCM, hiệu suất của đường liên kết sâu cho Đường liên kết động và dữ liệu về giao dịch mua hàng trong ứng dụng trên Google Play. Tính năng này hỗ trợ tính năng nhắm mục tiêu theo đối tượng nâng cao trong tính năng Cấu hình từ xa, cá nhân hoá Cấu hình từ xa và nhiều tính năng khác.
Google Analytics hoạt động như một lớp thông tin trong bảng điều khiển của Firebase để cung cấp cho bạn thông tin chi tiết hữu ích hơn về cách phát triển ứng dụng chất lượng cao, phát triển cơ sở người dùng và kiếm nhiều tiền hơn.
Để bắt đầu, hãy đọc tài liệu.
Analytics: Làm cách nào để kiểm soát cách chia sẻ dữ liệu Analytics với phần còn lại của Firebase?
Theo mặc định, dữ liệu Google Analytics của bạn được dùng để cải thiện các tính năng khác của Firebase và Google. Bạn có thể kiểm soát cách chia sẻ dữ liệu Google Analytics trong phần cài đặt dự án bất cứ lúc nào. Tìm hiểu thêm về Chế độ cài đặt cách chia sẻ dữ liệu.
Analytics: Làm cách nào để cập nhật chế độ cài đặt tài sản Analytics của tôi?
Trên trang Quản trị trong tài sản Google Analytics, bạn có thể cập nhật các chế độ cài đặt cho tài sản, chẳng hạn như:
- Chế độ cài đặt cách chia sẻ dữ liệu
- Chế độ cài đặt việc giữ lại dữ liệu
- Chế độ cài đặt múi giờ và đơn vị tiền tệ
Để cập nhật chế độ cài đặt tài sản, hãy làm theo các bước sau:
- Trong bảng điều khiển của Firebase, hãy chuyển đến phần settings > Cài đặt dự án.
- Chuyển đến thẻ Tích hợp, rồi nhấp vào Quản lý hoặc Xem mối liên kết trong thẻ Google Analytics.
- Nhấp vào đường liên kết cho tài khoản Google Analytics của bạn để mở chế độ cài đặt tài khoản và tài sản.
Analytics trong ứng dụng iOS của tôi: Tôi có thể cài đặt Analytics mà không cần các tính năng phân bổ quảng cáo và thu thập IDFA không?
Có. Hãy xem trang Định cấu hình tính năng thu thập và sử dụng dữ liệu để biết thêm thông tin chi tiết.
Analytics: Nội dung nào đã thay đổi trong mục Google Analytics trong bản cập nhật tháng 10 năm 2021?
Bạn có thể xem bản tóm tắt về những thay đổi này trong bài viết trên Trung tâm trợ giúp Firebase Chức năng mới của Google Analytics 4 trong Google Analytics cho Firebase.
Analytics: Tại sao tôi không thấy bất kỳ dữ liệu Analytics nào trong bảng điều khiển của Firebase sau khi huỷ liên kết Firebase khỏi Google Analytics?
Dữ liệu Analytics nằm trong tài sản Google Analytics, chứ không phải trong dự án Firebase. Nếu bạn xóa hoặc hủy liên kết tài sản, thì Firebase sẽ không thể truy cập vào dữ liệu Analytics và bạn sẽ thấy một trang tổng quan Analytics trống trong bảng điều khiển của Firebase. Xin lưu ý rằng vì dữ liệu vẫn nằm trong tài sản được liên kết trước đó, nên bạn luôn có thể liên kết lại tài sản đó với Firebase và xem dữ liệu Analytics trong bảng điều khiển của Firebase.
Việc liên kết một tài khoản Google Analytics hoàn toàn mới (và do đó là một tài sản Google Analytics mới) với dự án Firebase của bạn sẽ dẫn đến một trang tổng quan Analytics trống trong bảng điều khiển của Firebase. Tuy nhiên, nếu tài sản đã được liên kết trước đó vẫn tồn tại, bạn có thể di chuyển dữ liệu hiện có từ tài sản cũ sang tài sản mới.
Analytics: Nếu tài sản Analytics của tôi và dữ liệu của tài sản đó đã bị xoá, thì có cách nào để khôi phục chúng không?
Không. Nếu tài sản của bạn đã bị xoá, bạn không thể huỷ xoá tài sản đó hoặc truy xuất dữ liệu Analytics đã thu thập trước đó trong tài sản đó.
Nếu muốn bắt đầu sử dụng lại Google Analytics, bạn có thể liên kết một tài sản mới hoặc một tài sản hiện có với dự án Firebase. Bạn có thể thực hiện việc liên kết này trong bảng điều khiển của Firebase hoặc giao diện người dùng Google Analytics. Tìm hiểu thêm về cách liên kết một tài sản Google Analytics với dự án Firebase.
Analytics: Nếu tài sản Analytics của tôi đã bị xoá, tôi có thể liên kết một tài sản Google Analytics mới với dự án Firebase và bắt đầu sử dụng lại Analytics không?
Nếu muốn bắt đầu sử dụng lại Google Analytics, bạn có thể liên kết một tài sản mới hoặc một tài sản hiện có với dự án Firebase. Bạn có thể thực hiện việc liên kết này trong bảng điều khiển của Firebase hoặc giao diện người dùng Google Analytics. Tìm hiểu thêm về cách liên kết một tài sản Google Analytics với dự án Firebase.
Xin lưu ý rằng vì tất cả dữ liệu Analytics đều được lưu trữ trong tài sản (không phải dự án Firebase) nên bạn không thể truy xuất dữ liệu Analytics đã thu thập trước đó.
Analytics: Các sản phẩm Firebase hoặc sản phẩm tích hợp của Google sẽ chịu ảnh hưởng như thế nào khi tài sản Analytics của tôi bị xoá?
Một số sản phẩm của Firebase dựa vào tính năng tích hợp Google Analytics. Nếu tài sản Analytics của bạn và dữ liệu của tài sản đó bị xoá, thì những điều sau đây sẽ xảy ra nếu bạn sử dụng các sản phẩm sau:
- Crashlytics – Bạn không còn có thể thấy người dùng không gặp sự cố, nhật ký breadcrumb (tập hợp liên kết phân cấp) và/hoặc cảnh báo tốc độ.
- Gửi thông báo qua đám mây và Gửi thông báo trong ứng dụng – Bạn không thể sử dụng các nhãn nhắm mục tiêu, chỉ số của chiến dịch, phân khúc đối tượng và số liệu phân tích nữa.
- Cấu hình từ xa – Bạn không thể sử dụng các cấu hình được nhắm mục tiêu hoặc hoạt động Cá nhân hoá.
- Thử nghiệm A/B – Bạn không thể sử dụng tính năng Thử nghiệm A/B nữa vì tính năng đo lường thử nghiệm là do Google Analytics cung cấp.
- Đường liên kết động – Mọi tính năng dựa vào dữ liệu từ Google Analytics sẽ bị gián đoạn.
Ngoài ra, các công cụ tích hợp sau đây sẽ bị ảnh hưởng:
- Bạn không thể xuất dữ liệu Analytics sang BigQuery nữa.
- Bạn không thể tận dụng các tính năng tích hợp với Google Ads hoặc các tính năng tích hợp với Google AdMob nữa.
Analytics: Làm cách nào để phân khúc những người dùng không đáp ứng một số tiêu chí?
Bạn có thể xét lại vấn đề bằng cách "nhắm mục tiêu phủ định" cho những người dùng này. Ví dụ: thiết lập lại vấn đề là "Không hiển thị quảng cáo cho những người đã mua sản phẩm nào đó" và tạo một đối tượng thuộc những người dùng đó để nhắm mục tiêu.
Analytics: Đối tượng và/hoặc sự kiện được xác định trong giao diện Google Analytics cũng có sẵn trong bảng điều khiển của Firebase không?
Đối tượng và thuộc tính người dùng của bạn sẽ được đồng bộ hoá. Đối với một số tính năng, bạn sẽ cần sử dụng giao diện Google Analytics, chẳng hạn như tính năng phân đoạn và phễu kín. Bạn có thể truy cập trực tiếp vào giao diện Google Analytics thông qua các đường liên kết sâu trong bảng điều khiển của Firebase.
Bạn cũng có thể thực hiện mọi thay đổi mình thực hiện thông qua bảng điều khiển của Firebase trong Google Analytics và những thay đổi đó sẽ được phản ánh trong Firebase.
Xác thực
Xác thực Firebase: Những khu vực nào được hỗ trợ để xác thực điện thoại?
Tính năng Xác thực Firebase hỗ trợ xác minh số điện thoại trên toàn cầu, nhưng không phải tất cả các mạng đều gửi thông báo xác minh một cách đáng tin cậy. Những khu vực sau đây có tốc độ gửi tốt và có thể sẽ hoạt động tốt để xác thực điện thoại. Như đã nêu, một số hãng vận chuyển không hoạt động trong một khu vực do tỷ lệ giao hàng thành công thấp.
Vùng | Mã |
---|---|
sau CN | Andorra |
AE (Các Tiểu vương quốc Ả Rập Thống nhất) | Các Tiểu Vương quốc Ả Rập Thống nhất |
Tự động lấy nét | Afghanistan |
AG | Antigua và Barbuda |
AL (Úc) | Albania |
SÁNG | Armenia |
AO (AO) | Angola |
Thực tế tăng cường (AR) | Argentina |
AS | Samoa thuộc Hoa Kỳ |
AT | Áo |
AU | Úc |
AW | Aruba |
A-Z | Azerbaijan |
BA (BA) | Bosnia và Herzegovina |
BB | Barbados |
Phát triển kinh doanh ứng dụng | Bangladesh |
Bỉ | Bỉ |
BF | Burkina Faso |
BG | Bulgaria |
BJ | Benin |
BM | Bermuda |
BN | Brunei Darussalam |
BO (Bolivia) | Bolivia |
BR | Brazil |
BS | Bahamas |
BT | Bhutan |
TB | Botswana |
BỞI | Belarus |
BZ | Belize |
CA | Canada |
CD (Đĩa CD) | Congo, (Kinshasa) |
CF | Cộng hòa Trung Phi |
CG | Congo (Brazzaville) |
Thuỵ Sĩ | Thuỵ Sĩ |
Khoảng tin cậy (CI) | Bờ biển Ngà |
CK (CK) | Quần đảo Cook |
CL | Chile |
Campaign Manager | Cameroon |
CO | Colombia |
câu trả lời soạn trước | Costa Rica |
CV | Cabo Verde/Cape Verde |
CW | Curaçao |
CY | Síp |
CZ | Cộng hòa Séc |
Đức | Đức |
DJ | Djibouti |
DK | Đan Mạch |
Tin nhắn trực tiếp | Dominica |
NÊN | Cộng hòa Dominica |
DZ (giờ DZ) | Algeria |
EC | Ecuador |
Ai Cập | Ai Cập |
Tiếng Tây Ban Nha | Tây Ban Nha |
ET | Ethiopia |
Phần Lan | Phần Lan |
Tiếng FJ | Fiji |
Nữ | Quần đảo Falkland (Malvinas) |
FM | Liên bang Micronesia |
FO (FO) | Quần đảo Faroe |
Pháp | Pháp |
BB | Gabon |
TCL | Vương quốc Anh |
GD | Grenada |
GE (GE) | Georgia |
BT | Guiana thuộc Pháp |
GG | Guernsey |
GH | Ghana |
GI (GIA) | Gibraltar |
GL (GL) | Greenland |
GM | Gambia |
TĐC | Guadeloupe |
GQ | Guinea Xích đạo |
GR | Hy Lạp |
GT | Guatemala |
GY | Guyana |
Hong Kong | Hong Kong, Đặc khu hành chính Trung Quốc |
HN (Hà Lan) | Honduras |
HR | Croatia |
HT | Haiti |
HU (Đầu phát trung tâm) | Hungary |
giấy tờ tùy thân | Indonesia |
Ireland | Ireland |
IL (ILA) | Israel |
IM | Đảo Man |
VÀO | Ấn Độ |
Tối ưu hoá | Iraq |
CNTT | Ý |
JE | Jersey |
JM (Nhật Bản) | Jamaica |
JO | Jordan |
JP | Nhật Bản |
KE (KE) | Kenya |
kg | Kyrgyzstan |
Tiếng KH | Campuchia |
Km | Comoros |
Bosnia và Herzegovina (KN) | Saint Kitts và Nevis |
Hàn Quốc | Hàn Quốc |
Từ khoá phủ định | Kuwait |
Kentucky | Quần đảo Cayman |
KZ (KZ) | Kazakhstan |
Los Angeles | Cộng hòa dân chủ nhân dân Lào |
LCDCB | Lebanon |
LC | Saint Lucia |
LI | Liechtenstein |
lira Thổ Nhĩ Kỳ | Sri Lanka |
Âm thanh vòm | Lesotho |
LT | Lithuania |
LU (LU) | Luxembourg |
cấp | Latvia |
LY (Ý) | Libya |
MA (MA) | Morocco |
MD | Moldova |
TÔI | Montenegro |
dành cho trẻ em | Saint-Martin (Phần thuộc Pháp) |
MG | Madagascar |
Đô la Mỹ | Cộng hoà Macedonia |
MM | Myanmar |
MN | Mông Cổ |
MO | Macao, Đặc khu hành chính Trung Quốc |
MS | Montserrat |
MT | Malta |
MU | Mauritius |
MW | Malawi |
Mexico | Mexico |
Malaysia | Malaysia |
MZ | Mozambique |
NA | Namibia |
Bắc | New Caledonia |
Hướng Đông Bắc | Niger |
B | Đảo Norfolk |
NGN | Nigeria |
NI (NI) | Nicaragua |
Hà Lan | Hà Lan |
KHÔNG | Na Uy |
Số chiến thắng | Nepal |
New Zealand | New Zealand |
OM | Oman |
PA | Panama |
Chuyên gia sản phẩm | Peru |
PG | Papua New Guinea |
PH | Philippines |
Pakistan | Pakistan |
Ba Lan | Ba Lan |
CHIỀU | Saint Pierre và Miquelon |
PR | Puerto Rico |
Tái bút | Lãnh thổ Palestine |
PT | Bồ Đào Nha |
PY (PY) | Paraguay |
Đảm bảo chất lượng | Qatar |
V/v | Réunion |
RO (Romania) | Romania |
RS (RS) | Serbia |
Nga | Liên bang Nga |
RW | Rwanda |
STĐ | Ả Rập Xê Út |
SC | Seychelles |
SE | Thụy Điển |
SG | Singapore |
Đá ra ngoài | Saint Helena |
Slovenia | Slovenia |
SK | Slovakia |
SL | Sierra Leone |
Số sê-ri | Senegal |
SR | Suriname |
ST | São Tomé và Príncipe |
SV | El Salvador |
Bosnia và Herzegovina (SZ) | Eswatini (trước kia là Swaziland) |
TC | Quần đảo Turks và Caicos |
TG | Togo |
TH | Thái Lan |
trưởng nhóm | Đông Timor |
TM | Turkmenistan |
MB | Tonga |
lira Thổ Nhĩ Kỳ (TR) | Thổ Nhĩ Kỳ |
TT | Trinidad và Tobago |
TW | Đài Loan, Cộng hoà Trung Hoa |
TZ (TZ) | Cộng hòa Thống nhất Tanzania |
UA | Ukraina |
UG | Uganda |
Hoa Kỳ | Hoa Kỳ |
Uruguay | Uruguay |
UZ (UZ) | Uzbekistan |
VC | Saint Vincent và Grenadines |
VE (VE) | Venezuela (Cộng hoà Bolivar) |
VG | Quần đảo Virgin thuộc Anh |
VI | Quần đảo Virgin, Hoa Kỳ |
Việt Nam | Việt Nam |
WS | Samoa |
Có | Yemen |
YouTube | Mayotte |
Nam Phi | Nam Phi |
ZM | Zambia |
Châu Âu | Zimbabwe |
Xác thực Firebase: Làm cách nào để ngăn chặn hành vi sai trái qua tin nhắn SMS khi sử dụng phương thức xác thực điện thoại?
Để giúp bảo vệ dự án của bạn khỏi tình trạng tăng lưu lượng truy cập tin nhắn SMS và sử dụng API sai mục đích, hãy làm theo các bước sau:
Cân nhắc việc thiết lập chính sách về khu vực sử dụng SMS
Xem mức sử dụng SMS theo khu vực của bạn.
Hãy tìm những khu vực có số lượng tin nhắn SMS đã gửi rất lớn và số lượng tin nhắn SMS đã xác minh rất thấp (hoặc không). Tỷ lệ xác minh/đã gửi là tỷ lệ thành công của bạn. Tỷ lệ thành công ở mức tốt thường nằm trong khoảng 70 – 85% vì SMS không phải là giao thức gửi được đảm bảo và một số khu vực có thể bị sử dụng sai mục đích. Tỷ lệ thành công dưới 50% cho biết có nhiều tin nhắn SMS đã gửi nhưng rất ít lần đăng nhập thành công. Đây là dấu hiệu phổ biến cho thấy đối tượng xấu và tình trạng tăng lưu lượng truy cập qua tin nhắn SMS.
Sử dụng Chính sách về khu vực liên quan đến SMS để từ chối những khu vực nhận tin nhắn SMS có tỷ lệ thành công thấp, hoặc chỉ cho phép một số khu vực nhất định nếu ứng dụng của bạn chỉ nhằm phân phối ở một số thị trường nhất định.
Giới hạn các miền xác thực được uỷ quyền
Sử dụng Trang tổng quan về chế độ cài đặt xác thực để quản lý các miền được uỷ quyền. Theo mặc định, miền localhost
được thêm vào các miền xác thực đã phê duyệt để đơn giản hoá quá trình phát triển. Hãy cân nhắc xoá localhost
khỏi các miền được uỷ quyền trong dự án phát hành công khai để ngăn đối tượng xấu chạy mã trên localhost
của chúng truy cập vào dự án phát hành công khai của bạn.
Bật và thực thi tính năng Kiểm tra ứng dụng
Bật tính năng Kiểm tra ứng dụng để giúp bảo vệ dự án của bạn khỏi hành vi sử dụng API sai cách bằng cách chứng thực rằng các yêu cầu chỉ đến từ các ứng dụng liên kết với dự án của bạn.
Để sử dụng tính năng Kiểm tra ứng dụng bằng tính năng Xác thực Firebase, bạn phải nâng cấp lên Xác thực Firebase bằng Nền tảng nhận dạng.
Hãy nhớ rằng bạn cần thực thi tính năng Kiểm tra ứng dụng để xác thực trong bảng điều khiển của Firebase (hãy cân nhắc giám sát lưu lượng truy cập trước khi thực thi). Ngoài ra, hãy kiểm tra kỹ danh sách các trang web đã phê duyệt reCAPTCHA Enterprise để xác thực rằng danh sách đó chỉ chứa các trang web phát hành chính thức và danh sách ứng dụng đã đăng ký cho dự án của bạn trong tính năng Kiểm tra ứng dụng là chính xác.
Xin lưu ý rằng tính năng Kiểm tra ứng dụng giúp ngăn chặn các cuộc tấn công tự động bằng cách xác nhận rằng lệnh gọi đến từ một trong những ứng dụng đã đăng ký của bạn. Điều này không ngăn người dùng sử dụng ứng dụng của bạn theo những cách ngoài ý muốn (ví dụ: bắt đầu rồi không bao giờ hoàn tất quy trình đăng nhập để tạo tin nhắn SMS đã gửi).
Xác thực Firebase: Số điện thoại có được chuyển sang nhà mạng mới được xác thực điện thoại hỗ trợ không?
Hiện tại, các số được chuyển giữa các nhà mạng sẽ khiến cho những người dùng cuối đó không thể gửi tất cả tin nhắn SMS. Không có giải pháp nào và Firebase đang xử lý vấn đề này.
Xác thực Firebase: Trong ứng dụng Android, tại sao tôi gặp lỗi sau:
Google sign in failed
?
Google sign in failed
Hãy làm theo các bước khắc phục sự cố trong phần Câu hỏi thường gặp này nếu bạn gặp lỗi sau:
GoogleFragment: Google sign in failed
com.google.android.gms.common.api.ApiException: 13: Unable to get token.
at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
Đảm bảo rằng bạn đã bật tính năng đăng nhập Google đúng cách với vai trò là nhà cung cấp dịch vụ xác thực:
Trong bảng điều khiển của Firebase, hãy mở phần Xác thực.
Trong thẻ Sign in method (Phương thức đăng nhập), hãy tắt rồi bật lại phương thức đăng nhập của Google (ngay cả khi đã bật):
Mở phương thức đăng nhập Google, tắt phương thức đó rồi nhấp vào Save (Lưu).
Mở lại phương thức đăng nhập Google, bật rồi nhấp vào Save (Lưu).
Hãy đảm bảo rằng ứng dụng của bạn đang dùng tệp cấu hình Firebase mới nhất (
google-services.json
).
Lấy tệp cấu hình của ứng dụng.Kiểm tra xem bạn có còn gặp lỗi hay không. Nếu bạn gặp lỗi, hãy tiếp tục chuyển sang bước khắc phục sự cố tiếp theo.
Đảm bảo bạn đã có các ứng dụng OAuth 2.0 cơ bản bắt buộc.
Trong trang Thông tin xác thực của bảng điều khiển Google Cloud, hãy xem phần Mã ứng dụng khách OAuth 2.0.
Nếu ứng dụng OAuth 2.0 không xuất hiện (và bạn đã thực hiện tất cả các bước khắc phục sự cố ở trên), hãy liên hệ với bộ phận hỗ trợ.
Xác thực Firebase: Trong ứng dụng nền tảng Apple, tại sao tôi gặp lỗi sau:
You must specify <clientID> in <GIDConfiguration>
?
You must specify <clientID> in <GIDConfiguration>
Hãy làm theo các bước khắc phục sự cố trong phần Câu hỏi thường gặp này nếu bạn gặp lỗi sau:
You must specify |clientID| in |GIDConfiguration|
Đảm bảo rằng bạn đã bật tính năng đăng nhập Google đúng cách với vai trò là nhà cung cấp dịch vụ xác thực:
Trong bảng điều khiển của Firebase, hãy mở phần Xác thực.
Trong thẻ Sign in method (Phương thức đăng nhập), hãy tắt rồi bật lại phương thức đăng nhập của Google (ngay cả khi đã bật):
Mở phương thức đăng nhập Google, tắt phương thức đó rồi nhấp vào Save (Lưu).
Mở lại phương thức đăng nhập Google, bật rồi nhấp vào Save (Lưu).
Hãy đảm bảo rằng ứng dụng của bạn đang dùng tệp cấu hình Firebase mới nhất (
GoogleService-Info.plist
).
Lấy tệp cấu hình của ứng dụng.Kiểm tra xem bạn có còn gặp lỗi hay không. Nếu bạn gặp lỗi, hãy tiếp tục chuyển sang bước khắc phục sự cố tiếp theo.
Đảm bảo bạn đã có các ứng dụng OAuth 2.0 cơ bản bắt buộc.
Trong trang Thông tin xác thực của bảng điều khiển Google Cloud, hãy xem phần Mã ứng dụng khách OAuth 2.0.
Nếu ứng dụng OAuth 2.0 không xuất hiện (và bạn đã thực hiện tất cả các bước khắc phục sự cố ở trên), hãy liên hệ với bộ phận hỗ trợ.
Xác thực Firebase: Trong ứng dụng web của tôi, tại sao tôi gặp lỗi sau:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
?
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Hãy làm theo các bước khắc phục sự cố trong phần Câu hỏi thường gặp này nếu bạn gặp lỗi sau:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Đảm bảo rằng bạn đã bật tính năng đăng nhập Google đúng cách với vai trò là nhà cung cấp dịch vụ xác thực:
Trong bảng điều khiển của Firebase, hãy mở phần Xác thực.
Trong thẻ Sign in method (Phương thức đăng nhập), hãy tắt rồi bật lại phương thức đăng nhập của Google (ngay cả khi đã bật):
Mở phương thức đăng nhập Google, tắt phương thức đó rồi nhấp vào Save (Lưu).
Mở lại phương thức đăng nhập Google, bật rồi nhấp vào Save (Lưu).
Ngoài ra, trong cấu hình trình cung cấp dịch vụ đăng nhập Google của phần Xác thực, hãy đảm bảo rằng mã ứng dụng khách OAuth và giá trị bí mật khớp với ứng dụng web hiển thị trên trang Thông tin xác thực của bảng điều khiển Google Cloud (xem trong phần Mã ứng dụng khách OAuth 2.0).
Xác thực Firebase: Trong ứng dụng web của tôi, tại sao việc đăng nhập bằng lệnh chuyển hướng không thành công kèm theo lỗi sau:
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
?
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
Hãy làm theo các bước khắc phục sự cố trong phần Câu hỏi thường gặp này nếu bạn gặp lỗi sau:
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
Lỗi này rất có thể là do miền chuyển hướng của bạn không được liệt kê là miền được uỷ quyền cho tính năng Xác thực Firebase hoặc khoá API mà bạn sử dụng với Dịch vụ xác thực Firebase không hợp lệ.
Trước tiên, hãy đảm bảo rằng YOUR_REDIRECT_DOMAIN có trong danh sách các miền được uỷ quyền cho dự án Firebase của bạn. Nếu miền chuyển hướng của bạn đã có trong danh sách, hãy tiếp tục khắc phục sự cố với khoá API không hợp lệ.
Theo mặc định, SDK JS của xác thực Firebase sẽ dựa vào khoá API cho dự án Firebase có nhãn là Browser key
, đồng thời sử dụng khoá này để xác minh rằng URL chuyển hướng đăng nhập là hợp lệ theo danh sách miền được uỷ quyền.
Quy trình xác thực sẽ nhận khoá API này tuỳ thuộc vào cách bạn truy cập vào SDK xác thực:
Nếu bạn sử dụng Trình trợ giúp xác thực do Máy chủ lưu trữ cung cấp để đăng nhập người dùng bằng SDK JS xác thực, thì Firebase sẽ tự động nhận khoá API của bạn cùng với phần còn lại của cấu hình Firebase mỗi khi bạn triển khai lên tính năng Lưu trữ Firebase. Hãy đảm bảo rằng
authDomain
trong ứng dụng webfirebaseConfig
của bạn được định cấu hình đúng cách để sử dụng một trong các miền cho trang web Lưu trữ đó. Bạn có thể xác minh điều này bằng cách truy cậphttps://authDomain__/firebase/init.json
và kiểm tra để đảm bảo rằngprojectId
khớp với giá trị trongfirebaseConfig
.Nếu tự lưu trữ mã đăng nhập, thì bạn có thể sử dụng tệp
__/firebase/init.json
để cung cấp cấu hình Firebase cho trình trợ giúp Chuyển hướng SDK xác thực JS tự lưu trữ. Khoá API vàprojectId
được liệt kê trong tệp cấu hình này phải khớp với ứng dụng webfirebaseConfig
của bạn.
Kiểm tra để đảm bảo rằng khoá API này chưa bị xoá: Chuyển đến bảng điều khiển API và Dịch vụ > Thông tin xác thực trong bảng điều khiển Google Cloud, nơi liệt kê tất cả các khoá API cho dự án của bạn.
Nếu
Browser key
chưa bị xoá, hãy kiểm tra những mục sau:Đảm bảo API Xác thực Firebase nằm trong danh sách API được phép truy cập vào khoá cần truy cập (tìm hiểu thêm về các quy định hạn chế đối với API đối với khoá API).
Nếu bạn tự lưu trữ mã đăng nhập, hãy đảm bảo rằng khoá API được liệt kê trong tệp
__/firebase/init.json
khớp với khoá API trong bảng điều khiển Cloud. Sửa khoá trong tệp (nếu cần), sau đó triển khai lại ứng dụng.Nếu
Browser key
đã bị xoá, bạn có thể yêu cầu Firebase tạo khoá API mới cho bạn: Trong bảng điều khiển của Firebase, hãy chuyển đến settings > Cài đặt dự án, sau đó trong mục Ứng dụng của bạn, hãy nhấp vào ứng dụng web của bạn. Thao tác này sẽ tự động tạo khoá API mà bạn có thể thấy trong phần Thiết lập và cấu hình SDK cho ứng dụng web của bạn.
Xin lưu ý rằng trong bảng điều khiển Cloud, khoá API mới này sẽ không được gọi là
Browser key
; thay vào đó, khoá này sẽ giống với biệt hiệu của Ứng dụng web Firebase. Nếu bạn quyết định thêm các quy tắc hạn chế về API vào khoá API mới này, hãy đảm bảo API Xác thực Firebase có trong danh sách các API được phép.Sau khi tạo khoá API mới, hãy hoàn tất các bước thích hợp bên dưới:
Nếu bạn sử dụng URL lưu trữ dành riêng, hãy triển khai lại ứng dụng của bạn lên Firebase để ứng dụng có thể tự động lấy khoá API mới cùng với phần còn lại của cấu hình Firebase.
Nếu bạn tự lưu trữ mã đăng nhập, hãy sao chép khoá API mới và thêm khoá đó vào tệp
__/firebase/init.json
, sau đó triển khai lại ứng dụng.
Xác thực Firebase: Làm cách nào để tạo ứng dụng web OAuth theo cách thủ công?
Mở trang Thông tin đăng nhập của bảng điều khiển Google Cloud.
Ở đầu trang, hãy chọn Create credentials > OAuth client ID (Tạo thông tin xác thực > Mã ứng dụng khách OAuth).
Nếu bạn được nhắc định cấu hình màn hình xin phép, hãy làm theo hướng dẫn trên màn hình, sau đó tiếp tục làm theo các bước sau đây trong phần Câu hỏi thường gặp này.
Tạo ứng dụng web OAuth:
Đối với Application Type (Loại ứng dụng), hãy chọn Web application (Ứng dụng web).
Đối với Các nguồn gốc JavaScript được phép, hãy thêm đoạn mã sau:
http://localhost
http://localhost:5000
https://PROJECT_ID.firebaseapp.com
https://PROJECT_ID.web.app
Đối với URI chuyển hướng được phép, hãy thêm đoạn mã sau:
https://PROJECT_ID.firebaseapp.com/__/auth/handler
https://PROJECT_ID.web.app/__/auth/handler
Lưu ứng dụng OAuth.
Sao chép mã ứng dụng khách OAuth mới và mật khẩu ứng dụng khách vào bảng nhớ tạm.
Trong bảng điều khiển của Firebase, hãy mở phần Xác thực.
Trong thẻ Phương thức đăng nhập, hãy mở trình cung cấp Đăng nhập bằng Google, sau đó dán mã ứng dụng khách của máy chủ web và khoá bí mật bạn vừa tạo và sao chép từ bảng điều khiển Google Cloud. Nhấp vào Lưu.
Xác thực Firebase: %APP_NAME%
được xác định như thế nào cho mẫu email cho email xác nhận có thể gửi cho người dùng khi họ đăng ký bằng địa chỉ email và mật khẩu?
Trước tháng 12 năm 2022, %APP_NAME%
trong mẫu email được điền sẵn tên thương hiệu OAuth. Tên này được tự động cấp phép mỗi khi một ứng dụng Android được đăng ký trong dự án Firebase. Hiện tại, vì thương hiệu OAuth chỉ được cấp phép khi tính năng đăng nhập bằng Google đã bật, nên phần sau đây sẽ mô tả cách xác định %APP_NAME%
:
Nếu có tên thương hiệu OAuth, thì
%APP_NAME%
trong mẫu email sẽ là tên thương hiệu OAuth (tương tự như hành vi trước tháng 12 năm 2022).Nếu tên thương hiệu OAuth không có sẵn, thì đây là cách xác định
%APP_NAME%
trong mẫu email:Đối với các ứng dụng web,
%APP_NAME%
sẽ là tên trang web Lưu trữ Firebase mặc định (giá trị đứng trước.firebaseapp.com
và.web.app
và thường là mã dự án Firebase).Đối với ứng dụng di động:
Nếu có tên gói Android hoặc mã nhận dạng gói iOS trong yêu cầu, thì
%APP_NAME%
sẽ là tên ứng dụng tương ứng được dùng trong Cửa hàng Play hoặc App Store.Nếu không,
%APP_NAME%
sẽ là tên trang web mặc định của tính năng Lưu trữ Firebase (giá trị đứng trước.firebaseapp.com
và.web.app
và thường là mã dự án Firebase).
Lưu ý rằng nếu không tra cứu được tên trang web mặc định của tính năng Lưu trữ Firebase thì phương án dự phòng cuối cùng là sử dụng mã dự án Firebase làm
%APP_NAME%
.
Cloud Functions
Hỗ trợ thời gian chạy Cloud Functions
Làm thế nào để nâng cấp lên phiên bản Node.js được hỗ trợ mới nhất?
- Đảm bảo bạn đang sử dụng Gói giá linh hoạt.
- Đảm bảo rằng bạn đang sử dụng phiên bản mới nhất của Giao diện dòng lệnh (CLI) của Firebase.
- Cập nhật trường
engines
trongpackage.json
của hàm. - Bạn có thể kiểm thử các thay đổi bằng Bộ mô phỏng cục bộ của Firebase (không bắt buộc).
- Triển khai lại tất cả các chức năng.
Làm cách nào để đảm bảo tôi đã triển khai các hàm của mình cho một môi trường thời gian chạy Node.js cụ thể?
Trong bảng điều khiển của Firebase, hãy chuyển đến trang tổng quan về hàm, chọn một hàm và kiểm tra ngôn ngữ của hàm đó trong phần Thông tin chi tiết khác.
Tôi sử dụng Tiện ích Firebase. Các bản cập nhật thời gian chạy của Cloud Functions có ảnh hưởng đến tôi không?
Có. Vì các tiện ích sử dụng Cloud Functions, nên thời gian chạy của các tiện ích sẽ cần được cập nhật trên cùng một tiến trình với Cloud Functions.
Bạn nên cập nhật định kỳ lên phiên bản mới nhất của từng tiện ích được cài đặt trong dự án. Bạn có thể nâng cấp các tiện ích của dự án thông qua bảng điều khiển của Firebase hoặc Firebase CLI.
Gửi thông báo qua đám mây
Gửi thông báo qua đám mây: Sự khác biệt giữa trình soạn thông báo và Gửi thông báo qua đám mây là gì?
Giải pháp gửi thông báo qua đám mây của Firebase cung cấp một bộ tính năng nhắn tin hoàn chỉnh thông qua SDK ứng dụng cũng như giao thức máy chủ HTTP và XMPP. Đối với các hoạt động triển khai có yêu cầu phức tạp hơn về thông báo, 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 máy chủ, được xây dựng dựa trên Giải pháp gửi thông báo qua đám mây của Firebase. Với bảng điều khiển có đồ hoạ thân thiện với người dùng và ít yêu cầu lập trình hơn, trình soạn thông báo cho phép người dùng dễ dàng gửi tin nhắn để 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ị.
Chức năng | Trình soạn thông báo | Giải pháp gửi thông báo qua đám mây | |
---|---|---|---|
Mục tiêu | Một thiết bị | ||
Khách hàng đăng ký theo dõi chủ đề (ví dụ: thời tiết) | |||
Khách hà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 | |||
Khách hàng trong nhóm thiết bị | |||
Truyền ngược từ máy khách lên máy chủ | |||
Loại thông báo | Thông báo có kích thước tối đa 2kb | ||
Tin nhắn dữ liệu có kích thước tối đa 4 KB | |||
Giao hàng | Tức thì | ||
Giờ địa phương trên thiết bị khách trong tương lai | |||
Số liệu phân tích | Tích hợp sẵn số liệu phân tích về thông báo và thông tin phân tích phễu |
Gửi thông báo qua đám mây: 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. Giải pháp gửi thông báo qua đám mây của Firebase đã chuyển sang giao thức APN dựa trên HTTP/2 vào năm 2017. Nếu đang sử dụng FCM để gửi thông báo tới các thiết bị iOS, thì bạn không cần phải làm gì cả.
Gửi thông báo qua đám mây: Tôi có cần phải sử dụng các dịch vụ Firebase khác để sử dụng FCM không?
Bạn có thể sử dụng Giải pháp gửi thông báo qua đám mây của Firebase như một thành phần độc lập, giống như cách bạn thực hiện với GCM mà không cần sử dụng các dịch vụ của Firebase khác.
Nhắn tin qua đám mây: Tôi hiện là nhà phát triển Gửi thông báo qua đám mây của Google (GCM). Tôi có nên chuyển sang Giải pháp gửi thông báo qua đám mây của Firebase không?
FCM là phiên bản mới của GCM mang thương hiệu Firebase. Dịch vụ này kế thừa cơ sở hạ tầng cốt lõi của GCM, với các SDK mới giúp phát triển giải pháp Gửi thông báo qua đám mây dễ dàng hơn.
Sau đây là lợi ích của việc nâng cấp lên SDK FCM:
- Phát triển khách hàng đơn giản hơn. Bạn không còn phải tự viết logic đăng ký hoặc thử lại gói thuê bao.
- Giải pháp thông báo có sẵn. Bạn có thể sử dụng trình soạn thông báo. Đây là một giải pháp thông báo không máy chủ có bảng điều khiển web. Bảng điều khiển này cho phép bất kỳ ai gửi thông báo để nhắm đến các đối tượng cụ thể dựa trên thông tin chi tiết từ Google Analytics.
Để nâng cấp từ GCM SDK lên FCM SDK, hãy xem hướng dẫn di chuyển ứng dụng Android và iOS.
Gửi thông báo qua đám mây: Tại sao có vẻ như các thiết bị mục tiêu của tôi không nhận được tin nhắn?
Khi có vẻ như thiết bị chưa nhận được tin nhắn, trước tiên, hãy kiểm tra hai nguyên nhân sau:
Xử lý tin nhắn trên nền trước đối với tin nhắn thông báo. Các ứng dụng khách cần thêm logic xử lý thông báo để xử lý các tin nhắn thông báo khi ứng dụng chạy ở nền trước trên thiết bị. Xem thông tin chi tiết dành cho iOS và Android.
Hạn chế tường lửa mạng. Nếu tổ chức của bạn có một tường lửa hạn chế lưu lượng truy cập vào hoặc từ Internet, thì bạn cần định cấu hình tường lửa đó để cho phép kết nối với FCM nhằm các ứng dụng nhắn tin qua đám mây của Firebase có thể nhận được tin nhắn. Các cổng cần mở là:
- 5228
- 5229
- 5230
FCM thường sử dụng 5228, nhưng đôi khi nó sử dụng 5229 và 5230. FCM không cung cấp IP cụ thể, vì vậy, bạn cần cho phép tường lửa chấp nhận các kết nối đi tới tất cả địa chỉ IP có trong các khối IP được liệt kê trong ASN of 15169 của Google.
Gửi thông báo qua đám mây: Tôi đã triển khai onMessageReceived
trong ứng dụng Android của mình nhưng ứng dụng này không được gọi.
Khi ứng dụng của bạn chạy trong nền,
tin nhắ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 các tin nhắn thông báo có tải trọng dữ liệu, nội dung thông báo sẽ hiển thị trong khay hệ thống và có thể truy xuất dữ liệu đi kèm với tin nhắn thông báo từ ý định được 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 phần Nhận và xử lý tin nhắn.
Trình soạn thông báo: Sự khác biệt giữa trình soạn thông báo và Gửi thông báo qua đám mây là gì?
Trình soạn thông báo là một giải pháp nhắn tin nhẹ không máy chủ, được xây dựng dựa trên Giải pháp gửi thông báo qua đám mây của Firebase. Với bảng điều khiển có đồ hoạ thân thiện với người dùng và ít yêu cầu lập trình hơn, trình soạn thông báo cho phép người dùng dễ dàng gửi tin nhắn để 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ị.
Giải pháp gửi thông báo qua đám mây của Firebase cung cấp một bộ tính năng nhắn tin hoàn chỉnh thông qua SDK ứng dụng cũng như giao thức máy chủ HTTP và XMPP. Đối với các hoạt động triển khai có yêu cầu phức tạp hơn về thông báo, FCM là lựa chọn phù hợp.
Dưới đây là bản so sánh các tính năng nhắn tin do Giải pháp gửi thông báo qua đám mây của Firebase và trình soạn Thông báo:
Chức năng | Trình soạn thông báo | Giải pháp gửi thông báo qua đám mây | |
---|---|---|---|
Mục tiêu | Một thiết bị | ||
Khách hàng đăng ký theo dõi chủ đề (ví dụ: thời tiết) | |||
Khách hà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 | |||
Khách hàng trong nhóm thiết bị | |||
Truyền ngược từ máy khách lên máy chủ | |||
Loại thông báo | Thông báo có kích thước tối đa 2kb | ||
Tin nhắn dữ liệu có kích thước tối đa 4 KB | |||
Giao hàng | Tức thì | ||
Giờ địa phương trên thiết bị khách trong tương lai | |||
Số liệu phân tích | Tích hợp sẵn số liệu phân tích về thông báo và thông tin phân tích phễu |
Trình soạn thông báo: Tôi hiện là nhà phát triển Google Cloud Messaging (GCM) và tôi muốn sử dụng trình soạn Thông báo. Tôi nên làm gì?
Trình soạn thông báo là một giải pháp có sẵn, cho phép bất kỳ ai gửi thông báo để nhắm đến các đối tượng cụ thể dựa trên thông tin chi tiết từ Google Analytics. Ngoài ra, trình soạn Thông báo còn cung cấp dữ liệu phân tích phễu cho mọi thông báo, giúp bạn dễ dàng đánh giá mức độ hiệu quả của thông báo.
Nếu bạn hiện là nhà phát triển GCM, để sử dụng trình soạn thông báo, bạn phải nâng cấp từ SDK GCM lên SDK FCM. Xem hướng dẫn di chuyển ứng dụng Android và iOS.
Các tính năng FCM sẽ ngừng hoạt động từ tháng 6 năm 2023
Những API FCM nào đã ngừng hoạt động kể từ ngày 20 tháng 6 năm 2023 và tôi nên làm gì nếu đang sử dụng những API đó?
Việc ngừng sử dụng này sẽ ảnh hưởng đến các API/SDK sau đây:
API máy chủ
Tên API | Điểm cuối API | Tác động đến người dùng | Việc cần làm |
---|---|---|---|
Giao thức HTTP cũ | https://fcm.googleapis.com/fcm/send | Các yêu cầu gửi đến điểm cuối sẽ bắt đầu không thành công sau ngày 21/6/2024. | Di chuyển sang API HTTP phiên bản 1. |
Giao thức XMPP cũ | fcm-xmpp.googleapis.com:5235 | Các yêu cầu gửi đến điểm cuối sẽ bắt đầu không thành công sau ngày 21/6/2024. | Di chuyển sang API HTTP phiên bản 1. |
API máy chủ mã phiên bản | https://iid.googleapis.com/v1/web/iid | Các yêu cầu gửi đến điểm cuối sẽ bắt đầu không thành công sau ngày 21/6/2024. | Sử dụng Web JS SDK để tạo đăng ký web FCM. |
https://iid.googleapis.com/iid/* | Các điểm cuối sẽ tiếp tục hoạt động nhưng sẽ không hỗ trợ xác thực bằng khoá máy chủ tĩnh sau ngày 21/6/2024. | Sử dụng mã truy cập OAuth 2.0 bắt nguồn từ tài khoản dịch vụ. | |
API quản lý nhóm thiết bị | https://fcm.googleapis.com/fcm/notification | Điểm cuối sẽ tiếp tục hoạt động nhưng sẽ không hỗ trợ xác thực bằng khoá máy chủ tĩnh sau ngày 21/6/2024. | Sử dụng mã truy cập OAuth 2.0 bắt nguồn từ tài khoản dịch vụ. |
Nhắn tin ngược dòng qua XMPP | fcm-xmpp.googleapis.com:5235 | Các lệnh gọi API đến FirebaseMessaging.send trong ứng dụng sẽ không kích hoạt thông báo ngược dòng đến máy chủ ứng dụng sau ngày 21/6/2024. | Triển khai chức năng này trong logic máy chủ. Ví dụ: một số nhà phát triển triển khai điểm cuối HTTP/gRPC của riêng họ và gọi trực tiếp điểm cuối để gửi thông báo từ ứng dụng đến máy chủ ứng dụng. Hãy xem bài viết Bắt đầu nhanh gRPC này để biết ví dụ về cách triển khai thông báo truyền lên (upstream) bằng gRPC. |
API gửi hàng loạt | https://fcm.googleapis.com/batch | Các yêu cầu gửi đến điểm cuối sẽ bắt đầu không thành công sau ngày 21/6/2024. | Chuyển sang phương thức gửi API HTTP phiên bản 1 tiêu chuẩn, phương thức này hỗ trợ HTTP/2 để ghép kênh. |
API SDK dành cho quản trị viên của Firebase
Tên API | Ngôn ngữ API | Tác động đến người dùng | Việc cần làm |
---|---|---|---|
sendToDevice()
|
Node.js | API này sẽ ngừng hoạt động sau ngày 21/6/2024 vì API này gọi API gửi HTTP cũ. | Sử dụng phương thức send() .
|
sendToDeviceGroup()
|
Node.js | API này sẽ ngừng hoạt động sau ngày 21/6/2024 vì API này gọi API gửi HTTP cũ. | Sử dụng phương thức send() .
|
sendAll()/sendAllAsync()/send_all()/sendMulticast()/SendMulticastAsync()/send_multicast()
|
Node.js, Java, Python, Go, C# | Các API này sẽ ngừng hoạt động sau ngày 21/6/2024 vì chúng gọi API gửi theo lô . | Nâng cấp lên SDK quản trị của Firebase mới nhất và sử dụng các API mới: sendEach()/
sendEachAsync()/send_each()/sendEachForMulticast()/sendEachForMulticastAsync()/
send_each_for_multicast() .
Lưu ý rằng các API mới không còn gọi API gửi hàng loạt không dùng nữa. Do đó, chúng có thể tạo ra nhiều kết nối HTTP đồng thời hơn so với các API cũ. |
SDK ứng dụng
Phiên bản SDK | Tác động đến người dùng | Việc cần làm |
---|---|---|
SDK GCM (không dùng nữa vào năm 2018) | Các ứng dụng dùng GCM SDK sẽ không thể đăng ký mã thông báo cũng như không nhận được tin nhắn từ FCM sau ngày 21/6/2024. | Nâng cấp SDK Android của bạn lên SDK Firebase mới nhất nếu bạn chưa thực hiện. |
SDK JS phiên bản <7.0.0 (thay đổi có thể gây lỗi tại phiên bản 7.0.0 vào năm 2019) | Những ứng dụng web dùng SDK JS cũ sẽ không thể đăng ký mã thông báo sau ngày 21/6/2024. | Nâng cấp Firebase Web SDK lên phiên bản mới nhất. |
Tôi có thấy dịch vụ bị hạ cấp trước tháng 6 năm 2024 không?
Không. Bạn có 12 tháng (20/6/2023 – 21/6/2024) để di chuyển từ API cũ sang API mới mà không hạ 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 khi các API ngừng hoạt động vào tháng 6 năm 2024.
Sau tháng 6 năm 2024, có thể bạn sẽ thấy số lỗi gia tăng hoặc thiếu chức năng khi sử dụng API/SDK nêu trên (xem phần Câu hỏi thường gặp tiếp theo để biết thêm thông tin).
Các API không dùng nữa sẽ ngừng hoạt động như thế nào và khi nào?
FCM sẽ bắt đầu từng bước ngừng cung cấp các API không dùng nữa vào khoảng ngày 22 tháng 7 năm 2024. Sau ngày này, các dịch vụ không dùng nữa sẽ phải tuân theo quy trình "nhấp nháy", trong đó số lượng yêu cầu tăng lên sẽ trả về phản hồi lỗi. Trong giai đoạn chạy đà giảm dần, bạn có thể thấy các hành vi và phản hồi lỗi sau đây sẽ tăng lên theo thời gian:
Danh mục | Những điều bạn có thể mong đợi |
---|---|
Giao thức HTTP cũ | Yêu cầu bị từ chối bằng mã HTTP 301. |
Giao thức XMPP cũ | Yêu cầu bị từ chối do có mã lỗi 302. |
FCM thượng nguồn | Các tin nhắn được phần phụ trợ FCM tự động thả. |
API gửi hàng loạt | Yêu cầu bị từ chối kèm theo mã lỗi 501 và thông báo lỗi "API không được dùng nữa". |
SDK GCM - Đăng ký mã thông báo | Yêu cầu bị từ chối bằng mã HTTP 301. |
GCM SDK - Gửi tin nhắn | Yêu cầu bị từ chối kèm theo mã lỗi 400 và thông báo lỗi "Mã thông báo V3 đã không được dùng nữa". |
SDK JS phiên bản < 7.0.0 | Yêu cầu bị từ chối bằng mã HTTP 501. |
Sử dụng khoá máy chủ để truy cập vào mã phiên bản và API quản lý nhóm thiết bị | Yêu cầu bị từ chối bằng mã HTTP 401. |
Bạn có thể đăng ký gia hạn nếu không thể hoàn tất việc di chuyển từ các dịch vụ FCM không dùng nữa trước khi quá trình ngừng hoạt động dần bắt đầu. Nếu được gia hạn, bạn sẽ không bị ảnh hưởng bởi việc giảm dần cho đến khi hết thời gian gia hạn. Sau khi tiện ích hết hạn, bạn có thể sẽ thấy lưu lượng truy cập giảm nhanh chóng.
Mã thông báo OAuth 2.0 và khoá máy chủ có gì khác nhau?
Mã thông báo OAuth 2.0 là một mã thông báo ngắn hạn bắt nguồn từ tài khoản dịch vụ. Đây là mô hình xác thực tiêu chuẩn của Google và an toàn hơn so với khoá máy chủ tĩnh.
Xem phần Sử dụng thông tin xác thực để tạo mã truy cập để biết hướng dẫn về cách sử dụng Thư viện xác thực của Google để lấy mã thông báo.
Xin lưu ý rằng các tiêu đề của yêu cầu sẽ khác nhau khi bạn sử dụng mã thông báo OAuth 2.0 cho các yêu cầu gửi đến nhiều điểm cuối.
- API HTTP phiên bản 1:
Authorization: Bearer $oauth_token
- Instance ID server API (API máy chủ mã phiên bản) và Device group Management API:
Authorization: Bearer $oauth_token
access_token_auth: true
Tôi có thể di chuyển tất cả các yêu cầu của mình sang API mới cùng một lúc không?
Bạn nên tăng dần lưu lượng truy cập sang API mới. Nếu bạn muốn thường xuyên gửi hơn 600.000 tin nhắn/phút, hãy liên hệ với nhóm hỗ trợ của Firebase để được hướng dẫn về cách tăng hạn mức hoặc nhận đề xuất về cách phân bổ lưu lượng truy cập.
Có gì khác biệt giữa API HTTP phiên bản 1 và các API cũ khi tôi gửi thông báo đến các chủ đề/nhóm thiết bị?
Chủ đề: bạn không cần thêm tiền tố "/topics/" vào mục tiêu chủ đề khi sử dụng API phiên bản 1.
Nhóm thiết bị: Bạn có thể dùng mã thông báo nhóm làm mục tiêu mã thông báo trong API HTTP phiên bản 1. Tuy nhiên, API HTTP v1 không trả về số lần thành công/không thành công trong phản hồi. Bạn nên sử dụng các chủ đề FCM hoặc tự quản lý các nhóm thiết bị.
API HTTP v1 có hỗ trợ gửi thông báo đến nhiều mã thông báo trong một yêu cầu không?
Không. Tính năng này, được gọi là "multicast" trong các API HTTP cũ, không được API HTTP v1 hỗ trợ. API này được thiết kế tốt hơn để có thể mở rộng.
Đối với các trường hợp sử dụng có độ trễ từ hai đầu là rất quan trọng hoặc khi tổng quy mô fanout nhỏ (ít hơn 1 triệu), bạn nên gửi nhiều yêu cầu riêng biệt bằng API HTTP phiên bản 1. API HTTP v1 trên HTTP/2 hoạt động tương tự như 99,9% yêu cầu đa hướng (gửi < 100 token). Đối với các trường hợp sử dụng ngoại lệ (gửi 1.000 mã thông báo), nó đạt được tới 1/3 tốc độ thông lượng. Do đó, bạn cần thêm mô hình đồng thời để tối ưu hoá cho trường hợp sử dụng không điển hình này. Người dùng có thể trải nghiệm độ tin cậy và khả năng hoạt động tốt hơn với API HTTP phiên bản 1 so với với chế độ phát đa hướng cũ.
Đối với các trường hợp sử dụng trong đó thông lượng và băng thông ra được ưu tiên hoặc khi tổng kích thước quạt ra lớn (hơn 1 triệu), bạn nên gửi thông báo theo chủ đề. Mặc dù tính năng nhắn tin chủ đề yêu cầu thao tác một lần để đăng ký người nhận theo một chủ đề, nhưng tính năng này cung cấp tới 10.000 QPS mỗi tỷ lệ rời khỏi dự án mà không có giới hạn tối đa về quy mô chủ đề.
Những phiên bản nào của SDK quản trị của Firebase có API mới?
Nền tảng | Phiên bản SDK quản trị của Firebase |
---|---|
Node.js | >. |
Python | >=6.2.0 |
Java | >=9.2.0 |
Tiến hành | >=4.12.0 |
.NET | >=2.4.0 |
Sự khác biệt giữa API gửi theo lô và API HTTP phiên bản 1 là gì?
API gửi theo lô FCM sử dụng cùng một định dạng thông báo và cơ chế xác thực như API HTTP v1. Tuy nhiên, dịch vụ này sử dụng một điểm cuối khác. Nếu muốn cải thiện hiệu quả, bạn nên cân nhắc sử dụng HTTP/2 để gửi nhiều yêu cầu qua cùng một kết nối HTTP tới API HTTP phiên bản 1.
Tôi nên làm gì nếu không thể truy cập vào dự án của mình?
Vui lòng liên hệ với nhóm hỗ trợ Google Cloud để được trợ giúp.
Các dự án mới có thể bật API nhắn tin qua đám mây cũ không?
Không. Kể từ ngày 20 tháng 5 năm 2024, các dự án mới sẽ không được phép bật các API cũ của chúng tôi nữa.
Hạn mức và giới hạn FCM
Tôi cần thông báo cho một lượng lớn khách hàng trong vòng 2 phút.
Rất tiếc, chúng tôi không hỗ trợ trường hợp sử dụng này. Bạn phải trải rộng lưu lượng truy cập trong 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. Các tin nhắn 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ể tăng 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 trải rộng lưu lượng truy cập trong 5 phút.
Thư của tôi là về các sự kiện đã lên lịch và tôi cần gửi tất cả lưu lượng truy cập của mình vào đầu 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.
Mất bao lâu để thực hiện yêu cầu hạn mức của tôi?
Điều này phụ thuộc một chút 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 sau một vài ngày làm việc. Trong một số trường hợp, có thể xảy ra một số tranh chấp qua lại về việc bạn sử dụng FCM và nhiều trường hợp khác nhau, điều này có thể khiến quá trình này kéo dài. Nếu tất cả yêu cầu đều được đáp ứng, hầu hết yêu cầu sẽ được xử lý trong vòng 2 tuần.
Làm cách nào để giám sát mức sử dụng hạn mức của tôi?
Xem hướng dẫn của Google Cloud về cách lập biểu đồ và theo dõi các chỉ số về hạn mức.
Vấn đề 429 khiến tôi / doanh nghiệp của tôi khó xử lý. Tôi có thể được miễn hoặc tăng hạn mức để tránh mắc 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 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ừ.
Tôi có thể mua 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. 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 của sự kiện, đồng thời FCM sẽ nỗ lực thực hiện mọi yêu cầu (không thể đảm bảo mức tăng). Những mức tăng hạn mức này sẽ được huỷ bỏ 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 xem nhẹ hành động đó, nhưng chúng tôi có thể thay đổi hạn mức khi cần thiết để bảo vệ tính toàn vẹn của hệ thống. Khi có thể, Google sẽ thông báo trước cho bạn về những thay đổi đó.
Cloud Storage cho Firebase
Cloud Storage cho Firebase: Tại sao tôi không thể sử dụng Cloud Storage cho Firebase?
Cloud Storage cho Firebase sẽ tạo một bộ chứa mặc định trong cấp miễn phí của App Engine. Tính năng này giúp bạn nhanh chóng thiết lập và sử dụng Firebase cũng như Cloud Storage cho Firebase mà không cần phải nhập thẻ tín dụng hay bật tài khoản thanh toán Cloud. Giải pháp này cũng giúp bạn dễ dàng chia sẻ dữ liệu giữa Firebase và một dự án Google Cloud.
Tuy nhiên, có hai trường hợp đã biết là không thể tạo bộ chứa này và bạn sẽ không thể sử dụng Cloud Storage cho Firebase:
- Một dự án được nhập từ Google Cloud có ứng dụng App Engine Master/Slave Datastore.
-
Một dự án được nhập từ Google Cloud có các dự án có tiền tố miền. Ví dụ:
domain.com:project-1234
.
Hiện chưa có cách giải quyết nào cho những vấn đề này. Bạn nên tạo một dự án mới trong bảng điều khiển của Firebase rồi bật Cloud Storage cho Firebase trong dự án đó.
Cloud Storage for Firebase: Tại sao tôi nhận được phản hồi mã lỗi 412 liên quan đến quyền đối với tài khoản dịch vụ và các thao tác không thành công đối với tài khoản dịch vụ khi sử dụng API Cloud Storage cho Firebase?
Có thể bạn đang gặp mã lỗi 412 do chưa bật API Cloud Storage cho Firebase cho dự án của bạn hoặc một tài khoản dịch vụ cần thiết thiếu các quyền cần thiết.
Xem phần Câu hỏi thường gặp có liên quan.
Cloud Storage cho Firebase: Trong các dự án sử dụng gói Spark, tôi có thể lưu trữ tệp thực thi không?
Đối với các dự án sử dụng gói không tốn phí (Spark), Firebase sẽ chặn hoạt động tải lên và lưu trữ một số loại tệp thực thi nhất định cho Windows, Android và Apple bằng Cloud Storage cho Firebase và tính năng Lưu trữ Firebase. Chính sách này đặt ra để ngăn chặn hành vi sai trái trên nền tảng của chúng tôi.
Tất cả dự án Spark được tạo từ ngày 28 tháng 9 năm 2023 trở đi sẽ bị chặn việc phân phát, lưu trữ và tải tệp không được phép lên. Đối với các dự án Spark hiện có có tệp được tải lên trước ngày đó, bạn vẫn có thể tải lên và lưu trữ những tệp đó.
Quy định hạn chế này áp dụng cho các dự án sử dụng gói Spark. Các dự án thanh toán theo gói (Blaze) sẽ không bị ảnh hưởng.
Bạn không thể lưu trữ các loại tệp sau trên dịch vụ Lưu trữ Firebase và Cloud Storage cho Firebase:
- Tệp Windows có đuôi
.exe
,.dll
và.bat
- Tệp Android có đuôi
.apk
- Các tệp trên nền tảng Apple có đuôi
.ipa
Việc bạn cần làm
Nếu bạn vẫn muốn lưu trữ các loại tệp này sau ngày 28 tháng 9 năm 2023, hãy làm như sau:
- Đối với Lưu trữ: hãy nâng cấp lên Gói linh hoạt trước khi bạn có thể triển khai các loại tệp này lên tính năng Lưu trữ Firebase thông qua lệnh
firebase deploy
. - Đối với Bộ nhớ: hãy nâng cấp lên Gói linh hoạt để tải các loại tệp này lên bộ chứa mà bạn chọn bằng cách sử dụng GCS CLI, bảng điều khiển của Firebase hoặc bảng điều khiển Google Cloud.
Sử dụng các công cụ của Firebase để quản lý các tài nguyên của tính năng Lưu trữ Firebase và Cloud Storage.
- Để quản lý tài nguyên trong tính năng Lưu trữ Firebase, hãy sử dụng bảng điều khiển của Firebase để xoá các bản phát hành theo hướng dẫn này.
- Để quản lý tài nguyên trong Cloud Storage, hãy chuyển đến trang sản phẩm Bộ nhớ trong dự án của bạn.
- Trên thẻ Files(Tệp), hãy tìm các tệp không được phép xoá trong hệ thống phân cấp thư mục của bạn, sau đó chọn các tệp đó bằng cách sử dụng hộp đánh dấu bên cạnh tên tệp ở bên trái bảng điều khiển.
- Nhấp vào Delete (Xoá) rồi xác nhận các tệp đó đã bị xoá.
Vui lòng tham khảo tài liệu của chúng tôi để biết thêm thông tin về cách quản lý Tài nguyên lưu trữ bằng các công cụ của Firebase và các bộ chứa Cloud Storage cho Firebase có thư viện ứng dụng.
Cloud Storage cho Firebase: Tại sao tôi thấy các hoạt động tải lên và tải xuống tăng lên bất ngờ?
Trước đây, hệ thống không tính đúng các yêu cầu tải xuống và tải lên API Cloud Storage cho Firebase. Chúng tôi đã thực hiện các bước để khắc phục vấn đề này, kể từ ngày 15 tháng 9 năm 2023.
Đối với người dùng Blaze, hoạt động tải lên và tải xuống sẽ bắt đầu được tính vào hoá đơn hằng tháng của bạn. Đối với người dùng Spark, họ sẽ bắt đầu được tính vào giới hạn miễn phí hằng tháng của bạn.
Bạn nên theo dõi Trang dữ liệu sử dụng để xem có mức tăng nào có thể tính vào hạn mức của bạn hay không.
Cloud Storage cho Firebase: Tại sao tôi thấy mã tài khoản dịch vụ mới được liên kết với những dự án Firebase có sử dụng Cloud Storage cho Firebase?
Firebase sử dụng tài khoản dịch vụ để vận hành và quản lý các dịch vụ mà không cần chia sẻ thông tin đăng nhập của người dùng. Khi tạo một dự án Firebase, bạn có thể nhận thấy rằng đã có sẵn một số tài khoản dịch vụ trong dự án của mình.
Tài khoản dịch vụ mà Cloud Storage cho Firebase sử dụng thuộc phạm vi
dự án của bạn và có tên là service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
.
Nếu sử dụng Cloud Storage cho Firebase trước ngày 19 tháng 9 năm 2022, bạn có thể
thấy một tài khoản dịch vụ khác trên các bộ chứa Cloud Storage
đã liên kết trước đó có tên là firebase-storage@system.gserviceaccount.com
. Kể từ ngày 19 tháng 9 năm 2022, tài khoản dịch vụ này sẽ không còn được hỗ trợ.
Bạn có thể xem tất cả các tài khoản dịch vụ được liên kết với dự án của mình trong bảng điều khiển của Firebase, trên thẻ Tài khoản dịch vụ.
Thêm tài khoản dịch vụ mới
Nếu trước đó bạn đã xoá tài khoản dịch vụ hoặc tài khoản dịch vụ không có trong dự án, thì bạn có thể thực hiện một trong những cách sau để thêm tài khoản.
- (Nên dùng) Tự động: Sử dụng điểm cuối REST AddFirebase để nhập lại bộ chứa của bạn vào Firebase. Bạn chỉ cần gọi điểm cuối này một lần chứ không cần gọi một lần cho mỗi bộ chứa đã liên kết.
-
Thủ công: Làm theo các bước trong bài viết Tạo và quản lý tài khoản dịch vụ.
Làm theo hướng dẫn đó, thêm tài khoản dịch vụ có vai trò IAM
Cloud Storage for Firebase Service Agent
và tên tài khoản dịch vụservice-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
.
Đang xoá tài khoản dịch vụ mới
Bạn không nên xoá tài khoản dịch vụ vì thao tác này có thể chặn quyền truy cập của các ứng dụng vào các bộ chứa trong Cloud Storage. Để xoá tài khoản dịch vụ khỏi dự án, hãy làm theo hướng dẫn trong bài viết Vô hiệu hoá tài khoản dịch vụ.
Crashlytics
Hãy truy cập vào trang Câu hỏi thường gặp và khắc phục sự cố của Crashlytics để biết các mẹo hữu ích và câu trả lời cho những câu hỏi thường gặp khác.
Đường liên kết động
Đường liên kết động: Firebase có kế hoạch gì trong tương lai cho Đường liên kết động?
Hãy xem bài viết Câu hỏi thường gặp về đường liên kết động.
Đường liên kết động: Tại sao ứng dụng Android của tôi truy cập vào từng Đường liên kết động hai lần?
API getInvitation
sẽ xoá Đường liên kết động đã lưu để tránh truy cập vào đường liên kết này hai lần. Hãy nhớ gọi API này với tham số autoLaunchDeepLink
được đặt thành false
trong mỗi hoạt động liên kết sâu để xoá API trong trường hợp hoạt động được kích hoạt bên ngoài hoạt động chính.
Bộ công cụ mô phỏng trên thiết bị của Firebase
Tại sao nhật ký Bộ mô phỏng hiển thị lỗi bắt đầu bằng "Không nên dùng nhiều projectIds ở chế độ một dự án"?
Thông báo này có nghĩa là Bộ mô phỏng đã phát hiện thấy bộ mô phỏng này có thể đang chạy một trình mô phỏng sản phẩm cụ thể sử dụng nhiều mã dự án. Điều này có thể cho thấy cấu hình sai và có thể gây ra vấn đề khi trình mô phỏng cố gắng giao tiếp với nhau, cũng như khi bạn cố gắng tương tác với trình mô phỏng qua mã của mình. Nếu các mã dự án không khớp, thì có vẻ như dữ liệu bị thiếu vì dữ liệu lưu trữ trong trình mô phỏng được khoá với projectID và khả năng tương tác phụ thuộc vào việc so khớp mã dự án.
Đây là nguồn gây nhầm lẫn phổ biến trong các nhà phát triển, vì vậy, theo mặc định, Bộ công cụ mô phỏng cục bộ hiện sẽ chỉ cho phép chạy với một mã dự án duy nhất, trừ phi bạn chỉ định khác trong tệp cấu hình firebase.json
. Nếu phát hiện nhiều mã dự án, thì trình mô phỏng sẽ ghi lại cảnh báo và có thể gửi ra lỗi nghiêm trọng.
Kiểm tra(các) bản khai báo mã dự án để tìm thông tin không khớp trong:
-
Dự án mặc định được đặt ở dòng lệnh. Theo mặc định, mã dự án sẽ được lấy khi khởi động từ dự án đã chọn bằng
firebase init
hoặcfirebase use
. Để xem danh sách dự án (và xem dự án nào được chọn), hãy sử dụngfirebase projects:list
. -
Kiểm thử đơn vị. Mã dự án thường được chỉ định trong các lệnh gọi đến phương thức thư viện Kiểm thử đơn vị quy tắc
initializeTestEnvironment
hoặcinitializeTestApp
. Các mã kiểm thử khác có thể khởi chạy bằnginitializeApp(config)
. -
Cờ
--project
của dòng lệnh. Việc chuyển cờ--project
CLI của Firebase sẽ ghi đè dự án mặc định. Bạn cần đảm bảo giá trị của cờ khớp với mã dự án trong các quy trình kiểm thử đơn vị và khởi chạy ứng dụng.
Địa điểm dành riêng cho nền tảng cụ thể để kiểm tra:
Web | Thuộc tính projectId trong đối tượng JavaScript firebaseConfig , được dùng trong initializeApp .
|
Android | Thuộc tính project_id bên trong tệp cấu hình google-services.json .
|
Nền tảng của Apple | Thuộc tính PROJECT_ID trong tệp cấu hình GoogleService-Info.plist .
|
Để tắt chế độ dự án đơn lẻ, hãy cập nhật firebase.json
bằng khoá singleProjectMode
:
{ "firestore": { ... }, "functions": { ... }, "hosting": { ... }, "emulators": { "singleProjectMode": false, "auth": { "port": 9099 }, "functions": { "port": 5001 }, ... } }
Lưu trữ
Lưu trữ: Trong các dự án sử dụng gói Spark, tôi có thể lưu trữ các tệp thực thi không?
Đối với các dự án sử dụng gói không tốn phí (Spark), Firebase sẽ chặn hoạt động tải lên và lưu trữ một số loại tệp thực thi nhất định cho Windows, Android và Apple bằng Cloud Storage cho Firebase và tính năng Lưu trữ Firebase. Chính sách này đặt ra để ngăn chặn hành vi sai trái trên nền tảng của chúng tôi.
Tất cả dự án Spark được tạo từ ngày 28 tháng 9 năm 2023 trở đi sẽ bị chặn việc phân phát, lưu trữ và tải tệp không được phép lên. Đối với các dự án Spark hiện có có tệp được tải lên trước ngày đó, bạn vẫn có thể tải lên và lưu trữ những tệp đó.
Quy định hạn chế này áp dụng cho các dự án sử dụng gói Spark. Các dự án thanh toán theo gói (Blaze) sẽ không bị ảnh hưởng.
Bạn không thể lưu trữ các loại tệp sau trên dịch vụ Lưu trữ Firebase và Cloud Storage cho Firebase:
- Tệp Windows có đuôi
.exe
,.dll
và.bat
- Tệp Android có đuôi
.apk
- Các tệp trên nền tảng Apple có đuôi
.ipa
Việc bạn cần làm
Nếu bạn vẫn muốn lưu trữ các loại tệp này sau ngày 28 tháng 9 năm 2023, hãy làm như sau:
- Đối với Lưu trữ: hãy nâng cấp lên Gói linh hoạt trước khi bạn có thể triển khai các loại tệp này lên tính năng Lưu trữ Firebase thông qua lệnh
firebase deploy
. - Đối với Bộ nhớ: hãy nâng cấp lên Gói linh hoạt để tải các loại tệp này lên bộ chứa mà bạn chọn bằng cách sử dụng GCS CLI, bảng điều khiển của Firebase hoặc bảng điều khiển Google Cloud.
Sử dụng các công cụ của Firebase để quản lý các tài nguyên của tính năng Lưu trữ Firebase và Cloud Storage.
- Để quản lý tài nguyên trong tính năng Lưu trữ Firebase, hãy sử dụng bảng điều khiển của Firebase để xoá các bản phát hành theo hướng dẫn này.
- Để quản lý tài nguyên trong Cloud Storage, hãy chuyển đến trang sản phẩm Bộ nhớ trong dự án của bạn.
- Trên thẻ Files(Tệp), hãy tìm các tệp không được phép xoá trong hệ thống phân cấp thư mục của bạn, sau đó chọn các tệp đó bằng cách sử dụng hộp đánh dấu bên cạnh tên tệp ở bên trái bảng điều khiển.
- Nhấp vào Delete (Xoá) rồi xác nhận các tệp đó đã bị xoá.
Vui lòng tham khảo tài liệu của chúng tôi để biết thêm thông tin về cách quản lý Tài nguyên lưu trữ bằng các công cụ của Firebase và các bộ chứa Cloud Storage cho Firebase có thư viện ứng dụng.
Lưu trữ: Tại sao bảng Nhật ký phát hành dịch vụ Lưu trữ trong bảng điều khiển của Firebase lại hiển thị số lượng tệp nhiều hơn số lượng thực sự của dự án cục bộ?
Firebase tự động thêm các tệp bổ sung chứa siêu dữ liệu về trang web Lưu trữ và những tệp này được tính vào tổng số tệp cho bản phát hành.
Lưu trữ: Kích thước tệp lớn nhất mà tôi có thể triển khai cho tính năng Lưu trữ Firebase là bao nhiêu?
Tính năng lưu trữ có giới hạn kích thước tối đa là 2 GB cho các tệp riêng lẻ.
Bạn nên lưu trữ các tệp lớn hơn bằng Cloud Storage vì giải pháp này đưa ra giới hạn kích thước tối đa trong phạm vi terabyte cho từng đối tượng.
Lưu trữ: Mỗi dự án Firebase có thể có bao nhiêu trang web Lưu trữ?
Tính năng nhiều trang web của tính năng Lưu trữ Firebase hỗ trợ tối đa 36 trang web cho mỗi dự án.
Giám sát hiệu suất
Hãy truy cập vào trang Câu hỏi thường gặp và khắc phục sự cố về giám sát hiệu suất để biết các mẹo hữu ích và câu trả lời cho những câu hỏi thường gặp khác.
Theo dõi hiệu suất: Tôi có thể tạo bao nhiêu mẫu URL tuỳ chỉnh?
Bạn có thể tạo tổng cộng tối đa 400 mẫu URL tuỳ chỉnh cho mỗi ứng dụng và tối đa 100 mẫu URL tuỳ chỉnh trên mỗi miền cho ứng dụng đó.
Giám sát hiệu suất: Tại sao tôi không nhìn thấy dữ liệu hiệu suất hiển thị theo thời gian thực?
Để xem dữ liệu về hiệu suất theo thời gian thực, hãy đảm bảo rằng ứng dụng của bạn dùng phiên bản SDK giám sát hiệu suất tương thích với quy trình xử lý dữ liệu theo thời gian thực.
- iOS – phiên bản 7.3.0 trở lên
- tvOS – phiên bản 8.9.0 trở lên
- Android – phiên bản 19.0.10 trở lên (hoặc Firebase Android BoM v26.1.0 trở lên)
- Web – phiên bản 7.14.0 trở lên
Xin lưu ý rằng bạn nên sử dụng phiên bản SDK mới nhất. Tuy nhiên, mọi phiên bản nêu trên đều sẽ cho phép tính năng Giám sát hiệu suất xử lý dữ liệu của bạn gần như theo thời gian thực.
Cơ sở dữ liệu theo thời gian thực
Cơ sở dữ liệu theo thời gian thực: Tại sao băng thông được báo cáo của Cơ sở dữ liệu theo thời gian thực của tôi lại thấp hơn mức trung bình từ tháng 9 năm 2016 đến tháng 3 năm 2017?
Để tính toán băng thông, chúng tôi thường tính cả mức hao tổn mã hoá SSL (dựa trên lớp 5 của mô hình OSI). Tuy nhiên, vào tháng 9 năm 2016, chúng tôi đã phát hiện một lỗi khiến báo cáo băng thông của chúng tôi bỏ qua chi phí mã hoá. Điều này có thể đã dẫn đến băng thông được báo cáo thấp và hoá đơn giả tạo trên tài khoản của bạn trong vài tháng.
Chúng tôi đã phát hành bản sửa lỗi cho lỗi này vào cuối tháng 3 năm 2017, đưa báo cáo băng thông và thông tin thanh toán về mức bình thường.
Cơ sở dữ liệu theo thời gian thực: Giới hạn về tỷ lệ của Cơ sở dữ liệu theo thời gian thực là gì?
Mỗi phiên bản Cơ sở dữ liệu theo thời gian thực đều có giới hạn về số thao tác ghi mỗi giây. Đối với các lượt ghi có dung lượng nhỏ, giới hạn này là khoảng 1.000 thao tác ghi/giây. Nếu bạn sắp đạt đến giới hạn này, các thao tác phân lô bằng cách sử dụng bản cập nhật nhiều đường dẫn có thể giúp bạn đạt được thông lượng cao hơn.
Ngoài ra, mỗi thực thể cơ sở dữ liệu đều có giới hạn về số lượng kết nối cơ sở dữ liệu đồng thời. Giới hạn mặc định của chúng tôi đủ lớn cho hầu hết các ứng dụng. Nếu đang xây dựng một ứng dụng yêu cầu quy mô lớn hơn, bạn có thể cần phải phân đoạn ứng dụng trên nhiều thực thể cơ sở dữ liệu để tăng quy mô. Bạn cũng có thể coi Cloud Firestore là một cơ sở dữ liệu thay thế.
Cơ sở dữ liệu theo thời gian thực: Tôi có thể làm gì nếu vượt quá hạn mức sử dụng Cơ sở dữ liệu theo thời gian thực?
Nếu bạn nhận được cảnh báo qua email hoặc thông báo trong bảng điều khiển của Firebase cho biết bạn đã vượt quá giới hạn sử dụng Cơ sở dữ liệu theo thời gian thực, thì bạn có thể giải quyết vấn đề đó dựa trên hạn mức sử dụng bạn đã vượt quá. Để xem mức sử dụng Cơ sở dữ liệu theo thời gian thực của bạn, hãy truy cập trang tổng quan Mức sử dụng cơ sở dữ liệu theo thời gian thực trong bảng điều khiển của Firebase.
Nếu vượt quá giới hạn tải xuống, bạn có thể nâng cấp gói giá của Firebase hoặc chờ cho đến khi giới hạn tải xuống của bạn được đặt lại vào đầu chu kỳ thanh toán tiếp theo. Để giảm số lượt tải xuống, hãy thử các bước sau:
- Thêm truy vấn để giới hạn dữ liệu mà thao tác nghe trả về.
- Kiểm tra những truy vấn chưa được lập chỉ mục.
- Sử dụng trình nghe chỉ tải các bản cập nhật cho dữ liệu xuống, ví dụ:
on()
thay vìonce()
. - Sử dụng quy tắc bảo mật để chặn tệp tải xuống trái phép.
Nếu bạn vượt quá hạn mức bộ nhớ, hãy nâng cấp gói giá của bạn để tránh bị gián đoạn dịch vụ. Để giảm lượng dữ liệu trong cơ sở dữ liệu của bạn, hãy thử các bước sau:
- Chạy các công việc dọn dẹp định kỳ.
- Giảm thiểu mọi dữ liệu trùng lặp trong cơ sở dữ liệu của bạn.
Xin lưu ý rằng có thể mất một chút thời gian thì bạn mới thấy các lượt xoá dữ liệu được phản ánh trong mức phân bổ bộ nhớ của bạn.
Nếu bạn đã vượt quá giới hạn số lượt kết nối cơ sở dữ liệu đồng thời, hãy nâng cấp gói của bạn để tránh bị gián đoạn dịch vụ. Để quản lý các kết nối đồng thời đến cơ sở dữ liệu của bạn, hãy thử kết nối thông qua người dùng qua API REST nếu họ không yêu cầu kết nối theo thời gian thực.
Cấu hình từ xa
Cấu hình từ xa: Tại sao các giá trị đã tìm nạp không thay đổi hành vi và giao diện của ứng dụng?
Trừ phi bạn tìm nạp các giá trị bằng fetchAndActivate()
, các giá trị sẽ được lưu trữ cục bộ nhưng không được kích hoạt. Để kích hoạt các giá trị đã tìm nạp sao cho các giá trị đó có hiệu lực, hãy gọi activate
. Thiết kế này cho phép bạn kiểm soát thời điểm hành vi và giao diện của ứng dụng thay đổi, vì bạn có thể chọn thời điểm gọi activate
. Sau khi bạn gọi activate
, mã nguồn của ứng dụng sẽ xác định thời điểm sử dụng các giá trị tham số đã cập nhật.
Ví dụ: bạn có thể tìm nạp các giá trị rồi kích hoạt các giá trị đó vào lần tiếp theo người dùng khởi động ứng dụng của bạn. Thao tác này giúp bạn không phải trì hoãn quá trình khởi động ứng dụng trong khi ứng dụng của bạn chờ các giá trị được tìm nạp từ dịch vụ. Các thay đổi đối với hành vi và giao diện của ứng dụng sau đó sẽ xảy ra khi ứng dụng dùng các giá trị tham số đã cập nhật.
Để tìm hiểu thêm về API Cấu hình từ xa và mô hình sử dụng, hãy xem bài viết Tổng quan về API Cấu hình từ xa.
Cấu hình từ xa: Tôi đang thực hiện rất nhiều yêu cầu tìm nạp trong khi phát triển ứng dụng của mình. Tại sao ứng dụng của tôi không luôn nhận được giá trị mới nhất từ dịch vụ khi dịch vụ gửi yêu cầu tìm nạp?
Trong quá trình phát triển ứng dụng, bạn nên tìm nạp và kích hoạt các cấu hình rất thường xuyên (nhiều lần mỗi giờ) để có thể nhanh chóng lặp lại trong quá trình phát triển và kiểm thử ứng dụng. Để phù hợp với việc lặp lại nhanh trên một dự án có tối đa 10 nhà phát triển, bạn có thể tạm thời đặt một đối tượng FirebaseRemoteConfigSettings
với khoảng thời gian tìm nạp tối thiểu thấp (setMinimumFetchIntervalInSeconds
) trong ứng dụng của mình.
Cấu hình từ xa: Bao lâu thì dịch vụ Cấu hình từ xa trả về các giá trị được tìm nạp sau khi ứng dụng của tôi gửi yêu cầu tìm nạp?
Thiết bị thường nhận được các giá trị được tìm nạp trong chưa đầy một giây và thường nhận được các giá trị được tìm nạp tính bằng mili giây. Dịch vụ Cấu hình từ xa xử lý các yêu cầu tìm nạp trong vòng vài mili giây, nhưng thời gian cần thiết để hoàn tất yêu cầu tìm nạp sẽ phụ thuộc vào tốc độ mạng của thiết bị và độ trễ của kết nối mạng mà thiết bị sử dụng.
Nếu mục tiêu của bạn là làm cho các giá trị được tìm nạp có hiệu lực trong ứng dụng càng sớm càng tốt, nhưng không tạo ra trải nghiệm khó chịu cho người dùng, hãy cân nhắc thêm các lệnh gọi vào fetchAndActivate
mỗi khi ứng dụng của bạn làm mới toàn màn hình.
Phòng thử nghiệm
Hãy truy cập vào trang khắc phục sự cố trong Phòng thử nghiệm để biết các mẹo hữu ích và câu trả lời cho các câu hỏi thường gặp.
Bộ nhớ phân khúc người dùng Firebase
Bộ nhớ phân khúc người dùng Firebase là gì?
Bộ nhớ phân đoạn người dùng Firebase lưu trữ Mã cài đặt Firebase và các thuộc tính và phân khúc có liên quan, cũng như danh sách đối tượng mà bạn đã tạo để cung cấp thông tin nhắm mục tiêu cho các dịch vụ Firebase khác có sử dụng chúng, chẳng hạn như Crashlytics, FCM, cá nhân hoá Cấu hình từ xa và nhiều dịch vụ khác.