Danh sách kiểm tra trước khi ra mắt Firebase

Tài liệu này bao gồm 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 chính thức.

Các phương pháp hay nhất nói chung để phát hành

  • Đảm bảo rằng bạn đã kiểm thử tất cả cá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 cho môi trường thực tế. Việc kiểm thử kỹ lưỡng có thể giúp bạn tránh được 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 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ụ phụ trợ và tài nguyên.

  • Xem danh sách kiểm tra bảo mật chung của Firebase.

  • Sử dụng tính năng Firebase Remote Config phát hành để 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.

  • Nếu bạn chưa thiết lập Firebase Crashlytics, hãy cân nhắc thiết lập tính năng này. Đây là một trình báo cáo sự cố theo thời gian thực và gọn nhẹ, giúp bạn theo dõi, ư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.

Biết hạn mức của gói định giá và đặt cảnh báo ngân sách

  • Đảm bảo bạn không vượt quá hạn mức sử dụng và hạn ngạch sau khi chuyển sang giai đoạn phát hành công khai, đặc biệt nếu bạn đang sử dụng gói Spark miễn phí. Cân nhắc nâng cấp lên gói giá Blaze (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à hạn mức 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.

    • Hãy cân nhắc việc thiết lập cảnh báo và hành động nâng cao, chẳng hạn như các chức năng sẽ tắt tính năng thanh toán để phản hồi cảnh báo.

    • Nếu sử dụng Firebase AI Logic, Firebase App Hosting, Cloud Functions for Firebase và Firebase Extensions, bạn nên thiết lập hạn mức chi tiêu. Hạn mức này sẽ tạm dừng dịch vụ áp dụng nếu dự án của bạn đạt đến ngân sách đã đặt cho dịch vụ đó.

  • Theo dõi mức sử dụng của bạn trong trang tổng quan dành riêng cho sản phẩm hoặc trong trang tổng quan Mức sử dụng và thông tin thanh toán tập trung 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 thủ các phương pháp hay nhất

Cho dù bạn là một nhà phát triển độc lập hay một nhóm có quy mô doanh nghiệp, thì điều quan trọng là phải đảm bảo rằng các dự án, ứng dụng và tài nguyên Firebase của bạn được bảo vệ, bảo mật và có thể phát triển theo những thay đổi trong nhóm của bạn.

Bạn nên nhớ rằng dự án Firebase thực chất chỉ là một Google Cloud dự án đã bật các dịch vụ và cấu hình Firebase. Đ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 cho Firebase.

  • Sử dụng các dự án Firebase khác nhau cho giai đoạn phát triển, kiểm thử và phát hành công khai.

    Cố gắng hạn chế việc vô tình tiếp xúc với dự án liên kết với ứng dụng phát hành công khai của bạn. 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 biệt là dự án liên kết với ứng dụng chính thức của bạn.

    • Sử dụng liên kết dự án để tránh trường hợp 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 thực tế.

  • Nếu bạn chưa thực hiện, 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 của bạn 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 trên Google Groups thay vì thêm từng thành viên.

    Việc sử dụng nhóm giúp bạn dễ dàng chỉ định vai trò cho nhiều thành viên trong nhóm cùng một lúc, 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à khi các thành viên trong nhóm luân chuyển hoặc rời đi.

  • Cấp cho mỗi thành viên dự án (còn gọi là "nguyên tắc") 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 mỗi thành viên dự án có liên quan (hay còn gọi là "chủ thể") đều 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). Tìm hiểu thêm trong bài viết Nhận cảnh báo của Firebase.

    Bạn cũng có thể tuỳ chỉnh "thông tin liên hệ cần thiết" của dự án (không bắt buộc) nếu muốn một số thành viên cụ thể hoặc thành viên bổ sung 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 đối với việc thanh toán, pháp lý và sản phẩm.

  • Hạn chế khoá API Firebase của bạn chỉ cho những 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 của bạn

Mỗi sản phẩm và dịch vụ được dùng trong ứng dụng của bạn có thể có những điểm cần lưu ý cụ thể khi được dùng trong môi trường thực tế.

Firebase AI Logic

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 ngay từ khi ra mắt ứng dụng.

  • 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 SQL BigQuery 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 ở những thông tin có liên quan đến 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 này.

  • Xem xét chế độ cài đặt cho Google Analyticsvai trò đối với các tài sản và tài khoản Google Analytics của bạn. 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ã cửa hàng ứng dụng và Mã 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ận dạng 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 thực hiện, 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 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ụ phụ trợ và tài nguyên.

Authentication

  • Tắt mọi trì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 của Authentication.

  • Nếu bạn đang sử dụng dịch vụ xác minh bằng 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 về khu vực gửi SMS để bảo vệ ứng dụng của bạn khỏi hành vi sai trái qua SMS.

  • Triển khai quy trình xử lý lỗi trên các nền tảng của Apple cho các lỗi Authentication thường gặp.

  • Thêm một hàm băm SHA-1 phát hành cho chứng chỉ ký của ứng dụng trong Project settings (Chế độ cài đặt dự án) của bảng điều khiển Firebase. Bạn cần 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 Đă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 (đặ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 hành vi 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 tệp APK.

Cloud Messaging

  • Hãy cân nhắc bật tính năng xuất dữ liệu Cloud Messaging sang BigQuery để 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á uỷ quyền APNS cho Cloud Messaging lên các ứng dụng Apple trong bảng điều khiển Firebase. Nếu 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.

  • Cân nhắc việc bật tính năng ghi nhật ký kiểm tra trên đám mây cho Cloud Messaging để bạn có thể tạo nhật ký kiểm tra ghi lại các hoạt động quản trị và truy cập trong tài nguyên Google Cloud.

  • Hãy nhớ định kỳ cập nhật lên phiên bản SDK mới nhất để luôn nắm bắt được các tính năng và bản cập nhật bảo mật mới.

  • Làm theo Cloud Messaging các phương pháp hay nhất để quản lý mã thông báo đăng ký trên máy chủ ứng dụng của bạn. Lưu mã thông báo đăng ký kèm theo dấu thời gian, cập nhật mã thông báo khi có thay đổi và xoá mã thông báo cũ (không hoạt động trong hơn một tháng) để đảm bảo báo cáo phân phối hợp lệ và nhắm mục tiêu thông báo hiệu quả.

  • Làm theo các phương pháp hay nhất khi gửi Cloud Messaging thư trên quy mô lớn. Sử dụng API HTTP v1 hoặc Firebase Admin SDK, triển khai thời gian đợi luỹ thừa có độ trễ cho các lần thử lại và tuân thủ tiêu đề Retry-After để tránh tình trạng tăng đột biến lưu lượng truy cập và giới hạn tốc độ.

Cloud Storage

Crashlytics

  • Đảm bảo rằng mỗi thành viên dự án có liên quan (hay còn gọi là "người chịu trách nhiệm chính") đều 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). Tìm hiểu thêm trong bài viết Nhận thông báo của Firebase.

  • Hãy cân nhắc bật tính năng xuất dữ liệu Crashlytics sang BigQuery để 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) Cân nhắc bật tính năng Trợ giúp AI trong Crashlytics để giúp bạn nhanh chóng hiểu được lý do xảy ra sự cố và cách xử lý.

  • 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 để 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ái nhìn toàn diện 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 bản theo dõi Google Play. Nhờ đó, bạn có thể tập trung trang tổng quan vào 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 các ký hiệu gốc lên cho mỗi lần chạy bản dựng riêng lẻ mà bạn muốn có ký hiệu, bất kể có thay đổi nào về mã hoặc cấu hình hay không.

Firebase ML

Performance Monitoring

  • Đảm bảo rằng mỗi thành viên dự án có liên quan (hay còn gọi là "chủ thể") đều 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). Tìm hiểu thêm trong bài viết Nhận cảnh báo của Firebase.

  • 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 SQL BigQuery 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

Remote Config

  • Đảm bảo rằng mọi quy tắc thử nghiệm Remote Config không ảnh hưởng đến người dùng bản phát hành và các giá trị mặc định thích hợp của máy chủ và trong ứng dụng được phân phối trong ứng dụng của bạn.

  • Cân nhắc định cấu hình một tham số minimum_version trong Remote Config để bạn có thể nhắc hoặc yêu cầu người dùng cập nhật ứng dụng nếu các phiên bản cũ không tương thích hoặc không được dùng nữa.