Tài liệu này chứa danh sách kiểm tra các phương pháp hay nhất và những điều cần cân nhắc trước khi phát hành ứng dụng Firebase sang phiên bản chính thức.
Các phương pháp hay nhất chung để phát hành
Đảm bảo rằng bạn đã kiểm thử tất cả thay đổi trong Firebase Local Emulator Suite (đối với các sản phẩm được hỗ trợ) trước khi triển khai vào môi trường thực tế. Việc kiểm thử kỹ lưỡng có thể giúp ngăn chặn những sai lầm tốn kém.
Bắt đầu thực thi Firebase App Check cho mọi dịch vụ hỗ trợ tính năng này. App Check giúp đảm bảo rằng chỉ những ứng dụng thực tế của bạn mới có thể truy cập vào các dịch vụ và tài nguyên phụ trợ.
Sử dụng tính năng phát hành Firebase Remote Config để phát hành các tính năng và bản cập nhật mới cho ứng dụng một cách an toàn và từng bước.
Hãy cân nhắc thiết lập Firebase Crashlytics nếu bạn chưa thiết lập. Đây là một trình báo cáo sự cố theo thời gian thực, gọn nhẹ giúp bạn theo dõi, sắp xếp mức độ ưu tiên và khắc phục các vấn đề về độ ổn định làm giảm chất lượng ứng dụng.
Tìm hiểu các giới hạn của gói giá và đặt cảnh báo ngân sách
Đảm bảo bạn không đạt đến hạn mức và hạn mức sử dụng sau khi chuyển sang phiên bản chính thức, đặc biệt là nếu bạn đang sử dụng gói Spark miễn phí. Hãy cân nhắc nâng cấp lên Gói giá linh hoạt (trả tiền theo mức dùng).
Thiết lập cảnh báo về ngân sách cho dự án của bạn.
Xin lưu ý rằng cảnh báo ngân sách không phải là giới hạn ngân sách. Cảnh báo sẽ gửi cho bạn thông báo khi bạn sắp đạt đến hoặc đã vượt quá ngưỡng đã định cấu hình để bạn có thể hành động trong ứng dụng hoặc dự án của mình.
Cân nhắc việc thiết lập các thông báo và hành động nâng cao, chẳng hạn như các hàm sẽ tắt tính năng thanh toán để phản hồi thông báo.
Theo dõi mức sử dụng trong các trang tổng quan dành riêng cho sản phẩm hoặc trong trang tổng quan trung tâm Mức sử dụng và thanh toán trong bảng điều khiển Firebase.
Đảm bảo các dự án và ứng dụng Firebase của bạn tuân theo các phương pháp hay nhất
Cho dù bạn là một nhà phát triển hay một nhóm có quy mô doanh nghiệp, điều quan trọng là bạn phải đảm bảo rằng các dự án, ứng dụng và tài nguyên Firebase của mình được bảo vệ, an toàn và có thể phát triển cùng với những thay đổi trong nhóm.
Bạn nên nhớ rằng dự án Firebase thực sự chỉ là một dự án Google Cloud có các dịch vụ và cấu hình Firebase được bật cho dự án đó. Điều này có nghĩa là nhiều phương pháp hay nhất mà Google Cloud đề xuất cũng áp dụng được cho Firebase.
Sử dụng nhiều dự án Firebase cho hoạt động phát triển, kiểm thử và phát hành công khai.
Cố gắng hạn chế việc tiếp xúc ngoài dự kiến với dự án liên kết với ứng dụng phát hành công khai. Tìm hiểu thêm về cách thiết lập quy trình phát triển.
Bảo vệ các dự án quan trọng của bạn, đặc biệt là dự án liên kết với ứng dụng chính thức.
Sử dụng quyền thế chấp dự án để bảo vệ khỏi việc vô tình xoá dự án.
Áp dụng thẻ"Prod" trong bảng điều khiển Firebase để dễ dàng xác định môi trường phát hành chính thức.
Nếu bạn chưa thiết lập, hãy cân nhắc thiết lập một tổ chức Google Cloud và thêm các dự án Firebase vào tổ chức đó.
Thêm nhiều Chủ sở hữu vào dự án Firebase, đặc biệt là nếu dự án của bạn không thuộc một tổ chức Google Cloud. Tìm hiểu thêm về thời điểm và cách chỉ định Chủ sở hữu cho một dự án Firebase.
Thêm thành viên dự án (còn gọi là "nguyên tắc") dưới dạng nhóm Google thay vì từng người một.
Việc sử dụng nhóm giúp bạn dễ dàng chỉ định vai trò cho các thành viên trong nhóm hàng loạt cũng như quản lý những người có quyền truy cập vào dự án Firebase của bạn, đặc biệt là nếu các thành viên trong nhóm thay đổi hoặc rời đi.
Cấp cho mỗi thành viên dự án (còn gọi là "principle") cấp truy cập phù hợp vào các dự án và tài nguyên Firebase của bạn. Tìm hiểu thêm trong bài viết Quản lý quyền truy cập vào dự án bằng Firebase IAM.
Đảm bảo rằng mỗi thành viên dự án hiện tại (còn gọi là "người quản lý") thiết lập lựa chọn ưu tiên để nhận cảnh báo về các sản phẩm hoặc trạng thái dự án cụ thể (chẳng hạn như thay đổi về gói thanh toán hoặc hạn mức hạn mức). Tìm hiểu thêm trong phần Nhận cảnh báo Firebase.
Bạn cũng có thể tuỳ ý tuỳ chỉnh "người liên hệ thiết yếu" của dự án nếu muốn các thành viên cụ thể hoặc thành viên khác của dự án nhận được thông báo. Điều này đặc biệt hữu ích để đảm bảo rằng không chỉ Chủ sở hữu dự án nhận được thông báo về các thay đổi về thanh toán, pháp lý và sản phẩm.
Chỉ cho phép khoá API Firebase sử dụng các API cần có trong danh sách cho phép API của khoá. Ngoài ra, hãy xem thông tin về khoá API trong danh sách kiểm tra bảo mật của Firebase.
Chuẩn bị các dịch vụ cụ thể được dùng trong ứng dụng
Mỗi sản phẩm và dịch vụ được sử dụng trong ứng dụng của bạn có thể có những điểm cần cân nhắc cụ thể khi được sử dụng trong phiên bản chính thức.
Google Analytics
Xác định điều kiện đối tượng cho Google Analytics để bắt đầu thu thập dữ liệu phân tích kể từ khi ra mắt ứng dụng.
Hãy cân nhắc việc bật tính năng xuất dữ liệu Google Analytics sang BigQuery để bạn có thể phân tích dữ liệu bằng BigQuery SQL hoặc xuất dữ liệu để sử dụng với các công cụ của riêng bạn.
Giới hạn thuộc tính người dùng ở thông tin sẽ phù hợp với vòng đời của toàn bộ ứng dụng. Có giới hạn về số lượng thuộc tính người dùng mà bạn có thể tạo và bạn không thể lưu trữ các thuộc tính đó.
Xem lại chế độ cài đặt cho vai trò Google Analytics đối với tài sản và tài khoản Google Analytics. Các quyền này được quản lý riêng biệt với các quyền và vai trò IAM của dự án Firebase.
Đảm bảo rằng mã nhận dạng trong App Store và mã nhận dạng nhóm (nếu cần) là chính xác trong phần Cài đặt dự án của bảng điều khiển Firebase.
App Check
Đảm bảo Mã nhóm của bạn là chính xác trong phần Cài đặt dự án của bảng điều khiển Firebase.
Nếu bạn chưa bắt đầu, hãy bắt đầu thực thi Firebase App Check cho mọi dịch vụ hỗ trợ tính năng này. App Check giúp đảm bảo rằng chỉ những ứng dụng thực tế của bạn mới có thể truy cập vào các dịch vụ và tài nguyên phụ trợ.
Authentication
Tắt mọi nhà cung cấp mà bạn không sử dụng (đặc biệt là xác thực ẩn danh).
Nếu ứng dụng của bạn sử dụng tính năng Đăng nhập bằng Google, hãy cá nhân hoá màn hình xin phép bằng OAuth.
Tuỳ chỉnh miền và người gửi cho dịch vụ gửi email Authentication.
Nếu bạn đang sử dụng dịch vụ xác minh qua SMS của Identity Platform, hãy bắt đầu thực thi Firebase App Check và định cấu hình chính sách theo khu vực về SMS để bảo vệ ứng dụng của bạn khỏi hành vi sử dụng sai mục đích qua SMS.
Triển khai tính năng xử lý lỗi trên các nền tảng của Apple đối với các lỗi Authentication thường gặp.
Thêm hàm băm SHA-1 cho bản phát hành cho chứng chỉ ký của ứng dụng trong phần Cài đặt dự án của bảng điều khiển Firebase. Bạn phải có hàm băm SHA-1 nếu ứng dụng của bạn sử dụng tính năng đăng nhập bằng số điện thoại hoặc tính năng Đăng nhập bằng Google (có yêu cầu về ứng dụng OAuth).
Thêm chế độ kiểm soát quyền truy cập cho các miền của bạn để ngăn chặn việc sử dụng trái phép. Cụ thể, hãy cho phép truy cập vào miền phát hành công khai của bạn trong phần Authentication của bảng điều khiển Firebase (điều này đặc biệt quan trọng nếu bạn sử dụng các sản phẩm dựa vào Firebase Security Rules).
Cloud Firestore
Định cấu hình Cloud Firestore Security Rules để ngăn chặn việc truy cập dữ liệu ngoài ý muốn.
Sử dụng ProGuard để rút gọn mã trong bản phát hành. Nếu không có ProGuard, SDK Cloud Firestore và các phần phụ thuộc của SDK này có thể làm tăng kích thước APK.
Cloud Messaging
Hãy cân nhắc việc bật tính năng xuất dữ liệu Cloud Messaging sang BigQuery để bạn có thể phân tích dữ liệu bằng BigQuery SQL hoặc xuất dữ liệu để sử dụng với các công cụ của riêng bạn.
Tải Khoá xác thực APNS lên cho Cloud Messaging trên các ứng dụng của Apple trong bảng điều khiển Firebase. Nếu bạn sử dụng chứng chỉ APNS, hãy đảm bảo rằng bạn đã tải chứng chỉ APNS chính thức lên.
Cloud Storage
- Định cấu hình Cloud Storage Security Rules để ngăn chặn việc truy cập dữ liệu ngoài ý muốn.
Crashlytics
Đảm bảo rằng mỗi thành viên dự án có liên quan (còn gọi là "nguyên tắc") thiết lập lựa chọn ưu tiên để nhận cảnh báo về Crashlytics hoặc trạng thái dự án (chẳng hạn như thay đổi về gói thanh toán hoặc hạn mức hạn mức). Tìm hiểu thêm trong phần Nhận cảnh báo Firebase.
Hãy cân nhắc việc bật tính năng xuất dữ liệu Crashlytics sang BigQuery để bạn có thể phân tích dữ liệu bằng BigQuery SQL hoặc xuất dữ liệu để sử dụng với các công cụ của riêng bạn.
(chỉ dành cho Android và iOS gốc) Hãy cân nhắc bật tính năng hỗ trợ AI trong Crashlytics để giúp giảm thời gian cần thiết để bạn hiểu lý do xảy ra sự cố và việc cần làm về sự cố đó.
Tải tệp dSYM lên cho các bản phát hành để sử dụng trong Crashlytics. Đảm bảo rằng Xcode có thể tự động xử lý dSYM và tải các tệp lên.
Tải tệp ánh xạ ProGuard lên cho các bản phát hành để sử dụng trong Crashlytics. Bạn có thể tải lên bằng CLI Firebase.
Liên kết Firebase với Google Play để có được thông tin chi tiết hơn về tình trạng của ứng dụng Android. Ví dụ: bạn có thể lọc báo cáo sự cố của ứng dụng theo kênh Google Play. Điều này cho phép bạn tập trung tốt hơn vào trang tổng quan của các bản dựng cụ thể.
Đối với các bản dựng nhắm đến Android và sử dụng IL2CPP, hãy đảm bảo rằng bạn đang tải biểu tượng gốc lên cho mọi lần chạy bản dựng riêng lẻ mà bạn muốn có biểu tượng, bất kể có thay đổi nào về mã hoặc cấu hình hay không.
Dynamic Links
- Dynamic Links không còn được dùng nữa, vì vậy, bạn nên di chuyển khỏi dịch vụ này. Tìm hiểu thêm trong phần Câu hỏi thường gặp về việc ngừng sử dụng.
Firebase ML
Xem bài viết Chuẩn bị ứng dụng Firebase ML cho Apple để phát hành công khai.
Xem phần Chuẩn bị ứng dụng Android Firebase ML để phát hành công khai.
Performance Monitoring
Đảm bảo rằng mỗi thành viên dự án hiện tại (còn gọi là "nguyên tắc") thiết lập lựa chọn ưu tiên để nhận cảnh báo về Performance Monitoring hoặc trạng thái dự án (chẳng hạn như thay đổi về gói thanh toán hoặc hạn mức hạn mức). Tìm hiểu thêm trong phần Nhận cảnh báo Firebase.
Hãy cân nhắc việc bật tính năng xuất dữ liệu Performance Monitoring sang BigQuery để bạn có thể phân tích dữ liệu bằng BigQuery SQL hoặc xuất dữ liệu để sử dụng với các công cụ của riêng bạn.
Realtime Database
Định cấu hình Realtime Database Security Rules để ngăn chặn việc truy cập dữ liệu ngoài ý muốn.
Đảm bảo rằng bạn đã sẵn sàng mở rộng quy mô. Realtime Database có hạn mức mặc định đủ lớn cho hầu hết các ứng dụng, nhưng một số ứng dụng có thể cần thêm dung lượng.
Định cấu hình quy tắc proguard để hoạt động với Realtime Database.
Remote Config
- Đảm bảo rằng mọi quy tắc Remote Config thử nghiệm đều không ảnh hưởng đến người dùng bản phát hành, đồng thời các giá trị mặc định thích hợp trong máy chủ và trong ứng dụng được phân phối trong ứng dụng.