Thêm Cloud Firestore và Xác thực vào ứng dụng Google AI Studio

Chế độ Build (Xây dựng) trong Google AI Studio có thể tự động thiết lập và tích hợp Cloud FirestoreFirebase Authentication vào các ứng dụng web, giúp bạn dễ dàng xây dựng các ứng dụng có bộ nhớ dữ liệu liên tục và quy trình đăng nhập an toàn. Chỉ với một lời nhắc và vài cú nhấp chuột, bạn có thể cho phép tác nhân Google AI Studio thiết lập một dự án Firebase, kết nối ứng dụng của bạn với dự án đó và tạo tất cả mã Cloud FirestoreAuthentication ngay trong ứng dụng của bạn.

Tổng quan: Thêm một phần phụ trợ vào ứng dụng Google AI Studio

  1. Mô tả ý tưởng của bạn: Tạo một ứng dụng mới trong Google AI Studio và mô tả một tính năng yêu cầu phải có cơ sở dữ liệu hoặc xác thực. Ví dụ: bạn có thể nhập câu lệnh: Build a shared to-do list app using Firebase as a backend.

  2. Bật tính năng tích hợp với Firebase: Trong thẻ xuất hiện, bạn có thể tuỳ chỉnh chế độ thiết lập:

    • Chọn một vị trí (không bắt buộc): Chọn vị trí cho cơ sở dữ liệu và ứng dụng của bạn bằng cách sử dụng trình đơn thả xuống vị trí.
    • Chọn một dự án (không bắt buộc): Nhấp vào biểu tượng Cài đặt , chọn dự án Google Cloud mà bạn muốn sử dụng, rồi nhấp vào Lưu.
    • Xác nhận lựa chọn: Để tiếp tục, hãy nhấp vào nút Bật Firebase.

    Sau đó, tác nhân sẽ tự động kết nối ứng dụng của bạn với dự án Firebase và tạo mã Cloud FirestoreAuthentication cần thiết, bao gồm cả tệp /src/lib/firebase.ts và tệp firestore.rules.

  3. Triển khai: Khi đã sẵn sàng, hãy dùng lựa chọn Chia sẻ > Xuất bản để triển khai ứng dụng web của bạn lên Cloud Run. Ứng dụng của bạn sẽ tự động triển khai vào cùng một dự án mà bạn đã chọn trong quá trình thiết lập.

Tìm hiểu về hạn mức dùng chung cho Cloud Firestore

Tất cả cơ sở dữ liệu Cloud Firestore do tác nhân Google AI Studio cung cấp đều được đặt trong cùng một "nhóm" cơ sở dữ liệu trong dự án Firebase của bạn. Tất cả các loại này đều có những đặc điểm sau:

  • Hạn mức dùng chung: Tất cả cơ sở dữ liệu trong nhóm đều dùng chung một hạn mức sử dụng (xem chi tiết bên dưới).
  • Không cần có tài khoản Cloud Billing: Bạn có thể tạo và kiểm thử ứng dụng mà không cần thêm thông tin thanh toán. Xem thông tin chi tiết bên dưới về việc thêm thông tin thanh toán (không bắt buộc).
  • Đặt lại hằng ngày: Nếu bạn đạt đến hạn mức hằng ngày (ví dụ: 50.000 lượt đọc/ngày), dịch vụ sẽ tạm dừng cho tất cả các cơ sở dữ liệu trong nhóm và tiếp tục vào ngày hôm sau vào khoảng nửa đêm theo Giờ Thái Bình Dương.

Các cơ sở dữ liệu Cloud Firestore trong nhóm hạn mức dùng chung có các giới hạn sau:

Chỉ số Hạn ngạch dung lượng
Dữ liệu đã lưu trữ Tổng cộng 1 GiB
Dữ liệu truyền ra khỏi mạng 10 GiB mỗi tháng
Đơn vị đo 40.000 lượt ghi mỗi ngày
Đơn vị đã đọc 50.000 lượt đọc mỗi ngày
Đơn vị cập nhật theo thời gian thực 50.000 lượt cập nhật mỗi ngày

(Không bắt buộc) Thêm thông tin thanh toán để có hạn mức Cloud Firestore cao hơn

Nếu ứng dụng của bạn được nhiều người dùng biết đến và bạn cần vượt quá hạn mức miễn phí cho Cloud Firestore, bạn có thể nâng cấp dự án của mình lên gói giá Blaze (trả tiền theo mức dùng).

  1. Thêm thông tin thanh toán (nếu bạn chưa thêm): Chuyển đến bảng điều khiển Firebase rồi liên kết một tài khoản thanh toán với dự án của bạn.

  2. Nâng cấp cơ sở dữ liệu: Theo mặc định, các cơ sở dữ liệu Cloud Firestore do tác nhân Google AI Studio tạo sẽ tiếp tục sử dụng hạn mức dùng chung ngay cả sau khi bạn nâng cấp gói giá. Để bật tính năng mở rộng có tính phí đầy đủ cho một cơ sở dữ liệu cụ thể, bạn phải di chuyển cơ sở dữ liệu đó ra khỏi nhóm theo cách thủ công bằng cách sử dụng lệnh curl.

    • PROJECT_ID : Mã dự án Firebase. Bạn có thể tìm thấy mã này trong phần Cài đặt > Chung trên trang của bảng điều khiển Firebase.

    • DATABASE_ID : Mã nhận dạng cơ sở dữ liệu Cloud Firestore, mã này sẽ khớp với mã nhận dạng ứng dụng của bạn. Tìm mã cơ sở dữ liệu này trong bảng điều khiển Firebase bằng cách chuyển đến trang Cơ sở dữ liệu và bộ nhớ > Firestore, sau đó tìm trong cột Tên.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/DATABASE_ID?updateMask=free_tier_limited" \
    -d '{"free_tier_limited": false}'
    

Xác minh quá trình nâng cấp cơ sở dữ liệu

Thay đổi để tắt hạn mức dùng chung và bật tính năng trả tiền theo mức dùng cho cơ sở dữ liệu của bạn sẽ có hiệu lực sau vài phút. Bạn có thể xác minh thay đổi bằng một trong các cách sau:

  • Kiểm thử ứng dụng (Nên dùng): Cách đáng tin cậy nhất để xác nhận việc nâng cấp là sử dụng ứng dụng của bạn. Thực hiện Cloud Firestore thao tác trước đây vượt quá hạn mức hằng ngày không mất phí (ví dụ: vượt quá ngưỡng Cloud Firestore của phiên bản Enterprise là 50.000 đơn vị đọc hoặc 40.000 đơn vị ghi). Giờ đây, các thao tác này sẽ thành công mà không gặp lỗi RESOURCE_EXHAUSTED.

  • Kiểm tra trạng thái cơ sở dữ liệu thông qua API: Bạn có thể dùng yêu cầu curl GET để tìm nạp thông tin chi tiết hiện tại về cơ sở dữ liệu:

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/DATABASE_ID"
    

    Kiểm tra phản hồi JSON. Cơ sở dữ liệu được nâng cấp thành công và không còn bị giới hạn nếu trường freeTierLimited không có trong phản hồi.

    Tìm hiểu về freeTier so với freeTierLimited: Bạn có thể vẫn thấy "freeTier": true trong câu trả lời GET. Trường này tách biệt với chế độ cài đặt freeTierLimited mà bạn đã thay đổi. "freeTier": true có liên quan đến nguồn gốc của cơ sở dữ liệu và khả năng sử dụng cấp miễn phí. Điều này không có nghĩa là giới hạn hằng ngày vẫn được áp dụng sau khi bạn đặt freeTierLimited thành false. Việc vô hiệu hoá thành công các giới hạn được biểu thị bằng việc không có freeTierLimited trong phản hồi GET.

Nếu ứng dụng của bạn vẫn gặp lỗi giới hạn hằng ngày sau khi đợi vài phút và một yêu cầu GET cho thấy trường freeTierLimited thực sự không có, hãy đảm bảo tài khoản thanh toán của dự án ở trạng thái tốt.

Security Rules lượt tạo

Tác nhân Google AI Studio sẽ tự động tạo Firebase Security Rules dựa trên logic của ứng dụng. Những Security Rules này được thiết kế để "từ chối theo mặc định", nghĩa là người dùng cuối của ứng dụng chỉ có thể truy cập vào dữ liệu mà họ sở hữu.

Xin lưu ý rằng nếu bạn điều chỉnh Security Rules theo cách thủ công ngay trong bảng điều khiển Firebase, thì tác nhân Google AI Studio sẽ không biết về những thay đổi này và những thay đổi đó sẽ bị ghi đè trong các lần lặp lại ứng dụng tiếp theo. Bạn nên sử dụng tác nhân Google AI Studio để điều chỉnh Firebase Security Rules nhằm đảm bảo các thay đổi của bạn được giữ nguyên và phù hợp với logic của ứng dụng.

Sử dụng dự án hiện có

Khi bật tính năng tích hợp Firebase lần đầu tiên, bạn có thể chọn một dự án Google Cloud hiện có mà bạn sở hữu (không bắt buộc):

  1. Trong thẻ bật lên, hãy nhấp vào biểu tượng Cài đặt .
  2. Chọn dự án của bạn, rồi nhấp vào Lưu.

Khi lặp lại trên ứng dụng của mình, bạn cũng có thể hướng dẫn tác nhân sử dụng một dự án khác bằng một câu lệnh như:

Add Firestore to this app using project PROJECT_ID.

Khi bạn chọn một dự án, những thao tác sau sẽ xảy ra:

  • Một cơ sở dữ liệu Cloud Firestore mới sẽ được cung cấp cho dự án đó bằng hạn mức dùng chung.
  • Firebase Authentication sẽ được thiết lập bằng tính năng Đăng nhập bằng Google.
  • Một tài khoản dịch vụ sẽ được cấp quyền truy cập vào cơ sở dữ liệu Cloud Firestore của bạn. Để cho phép quyền truy cập của quản trị viên từ Google AI Studio, một tài khoản dịch vụ mới có tên là ais-sandbox@PROJECT_ID.iam.gservice.com sẽ được cấp quyền truy cập vào cơ sở dữ liệu Cloud Firestore của bạn. Tài khoản này chỉ liên kết với các ứng dụng Google AI Studio của bạn.
  • Hạn chế: Nếu dự án Firebase đã có một cơ sở dữ liệu Cloud Firestore, thì tác nhân sẽ không thể thêm một cơ sở dữ liệu khác. Bạn cần chọn một dự án khác hoặc tạo một dự án trống mới để sử dụng.

Sử dụng bảng điều khiển Firebase

Bạn có thể xem dữ liệu và chế độ cài đặt của ứng dụng trong bảng điều khiển Firebase. Sau đây là cách truy cập vào dự án Firebase được liên kết với Google AI Studio:

  1. Chuyển đến bảng điều khiển Firebase rồi chọn dự án có nhãn AI Studio.

  2. Trong ngăn điều hướng bên trái, hãy khám phá các dịch vụ đã bật trong dự án của bạn:

    • Để xem và chỉnh sửa dữ liệu Cloud Firestore đã lưu trữ, hãy chuyển đến phần Cơ sở dữ liệu và bộ nhớ > Firestore.
    • Để xem hoặc định cấu hình chế độ cài đặt và dữ liệu Authentication, hãy chuyển đến phần Bảo mật > Xác thực.

Khắc phục sự cố và câu hỏi thường gặp

Tìm câu trả lời cho những câu hỏi thường gặp và tìm hiểu cách giải quyết vấn đề khi tích hợp Firebase với ứng dụng Google AI Studio của bạn.

Làm cách nào để chọn Google Cloud / dự án và vị trí Firebase của tôi?

Khi yêu cầu một phần phụ trợ Firebase cho ứng dụng, bạn có thể chọn vị trí và dự án trong thẻ xuất hiện (không bắt buộc):

  • Chọn một vị trí (không bắt buộc): Chọn vị trí cho cơ sở dữ liệu và ứng dụng của bạn bằng cách sử dụng trình đơn thả xuống vị trí.
  • Chọn một dự án (không bắt buộc): Nhấp vào biểu tượng Cài đặt , chọn dự án Google Cloud mà bạn muốn sử dụng, rồi nhấp vào Lưu.

Hãy ghi nhớ những điều sau:

  • Vị trí của cơ sở dữ liệu là cố định: Sau khi chọn một vị trí cho cơ sở dữ liệu, bạn sẽ không thể thay đổi vị trí đó cho dự án. Lựa chọn này sẽ được dùng làm lựa chọn mặc định cho các dịch vụ phụ trợ khác.
  • Tính nhất quán của dự án: Để đảm bảo quá trình tích hợp diễn ra liền mạch, Google AI Studio sẽ tự động sử dụng cùng một dự án cho cả phần phụ trợ và quá trình triển khai của bạn. Bạn không thể sử dụng các dự án khác nhau cho các dịch vụ khác nhau trong cùng một ứng dụng.

Những phương thức xác thực nào được hỗ trợ?

Tác nhân Google AI Studio thiết lập tính năng Đăng nhập bằng Google khi bạn yêu cầu thiết lập Authentication hoặc màn hình đăng nhập. Sau đây là cách thêm các phương thức đăng nhập khác vào ứng dụng của bạn:

  1. Trong bảng điều khiển Firebase, hãy chuyển đến trang Bảo mật > Xác thực > Phương thức đăng nhập rồi định cấu hình mọi phương thức đăng nhập mà bạn muốn.

  2. Quay lại Google AI Studio, hãy yêu cầu tác nhân Google AI Studio hỗ trợ cập nhật cơ sở mã của bạn bằng phương thức đăng nhập mới.

Tôi có thể tạo ứng dụng di động (chẳng hạn như Android hoặc iOS) bằng Google AI Studio không?

Hiện tại, tác nhân Google AI Studio chỉ có thể tạo ứng dụng web. Tìm hiểu thêm về những nội dung được hỗ trợ trong Google AI Studiotài liệu về tác nhân.

Tuy nhiên, xin lưu ý rằng giống như mọi ứng dụng web, các ứng dụng do Google AI Studio tạo có thể được truy cập dưới dạng ứng dụng web dành cho di động từ các trình duyệt được cài đặt trên thiết bị di động.

Tệp firebase-blueprint.json là gì?

Đây là một tệp trung gian được tác nhân Google AI Studio dùng để hiểu cơ sở mã của ứng dụng. Đừng sửa đổi tệp này theo cách thủ công vì việc này có thể khiến tác nhân tạo ra mã không chính xác hoặc Security Rules không an toàn.

Tôi nên làm gì nếu gặp lỗi "Vượt quá hạn mức"?

Đạt đến hạn mức Cloud Firestore có nghĩa là ứng dụng của bạn đã đạt đến giới hạn sử dụng hằng ngày cho nhóm hạn mức dùng chung Cloud Firestore của cơ sở dữ liệu. Có hai cách để giải quyết vấn đề này:

  • Cách 1: Chờ: Hạn mức được đặt lại hằng ngày vào khoảng nửa đêm theo giờ Thái Bình Dương.
  • Cách 2: Nâng cấp: Nâng cấp lên gói giá Blaze (trả tiền theo mức dùng).
    • Nếu Google AI Studio tác nhân thiết lập Cloud Firestore cho bạn, thì bạn phải sử dụng lệnh curl được mô tả trong phần Thêm thông tin thanh toán để nhận thêm hạn mức Cloud Firestore để chuyển cơ sở dữ liệu của bạn sang trạng thái trả phí thông thường. Nếu bạn thiết lập Cloud Firestore theo cách thủ công, thì không cần chạy lệnh curl.

Tôi nên làm gì nếu gặp lỗi "Thiếu hoặc không đủ quyền"?

Lỗi này xảy ra khi ứng dụng của bạn cố gắng đọc hoặc ghi dữ liệu vào cơ sở dữ liệu Cloud Firestore, nhưng yêu cầu bị Security Rules từ chối. Điều này cho biết Security Rules không cho phép thao tác đã thử dựa trên trạng thái xác thực hoặc đường dẫn dữ liệu hiện tại. Nhấp vào nút Khắc phục lỗi để nhắc tác nhân Google AI Studio cố gắng sửa Security Rules.

Điều gì sẽ xảy ra với phần phụ trợ Firebase của tôi khi tôi xoá ứng dụng Google AI Studio?

Việc xoá ứng dụng của bạn trong Google AI Studio không tự động xoá dự án Firebase, cơ sở dữ liệu Cloud Firestore hoặc cấu hình Firebase Authentication được kết nối.

Nếu đã thêm một phần phụ trợ Firebase, bạn phải chuyển đến bảng điều khiển Firebase theo cách thủ công và xoá dự án hoặc dọn dẹp các tài nguyên riêng lẻ (chẳng hạn như phiên bản cơ sở dữ liệu Cloud Firestore và nhà cung cấp Authentication) để đảm bảo xoá tất cả dữ liệu và cấu hình.

Tác nhân Google AI Studio có thể xoá hoặc chỉnh sửa dữ liệu trong cơ sở dữ liệu Cloud Firestore của tôi không?

Tác nhân Google AI Studio được thiết kế để giúp cung cấp các tài nguyên phụ trợ cần thiết và tạo mã cũng như Security Rules. Mặc dù bản thân tác nhân không thể trực tiếp xoá, chỉnh sửa hoặc thao tác với các mục dữ liệu trong cơ sở dữ liệu Cloud Firestore của bạn, nhưng tác nhân có thể ghi mã vào ứng dụng của bạn để thực hiện những hành động này. Để thực hiện các tác vụ quản lý dữ liệu, chẳng hạn như xoá các mục, hãy chuyển đến trang Cơ sở dữ liệu và bộ nhớ > Firestore trong bảng điều khiển Firebase.

Tôi thuộc một tổ chức sử dụng Google Cloud; tôi có thể kết nối ứng dụng Google AI Studio của mình với một dự án hiện có trong môi trường Google Cloud của tổ chức không?

Có. Đảm bảo dự án Firebase của bạn nằm trong thư mục Google Cloudcủa tổ chức, sau đó kết nối dự án bằng một trong các phương thức sau:

  • Trong quá trình bật: Khi bạn bật tính năng tích hợp Firebase lần đầu tiên trong Google AI Studio, hãy chọn dự án hiện có của bạn trong thẻ xuất hiện. Nhấp vào biểu tượng Cài đặt , chọn dự án của bạn, rồi nhấp vào Lưu.
  • Trong quá trình lặp lại: Nếu đã bật Firebase hoặc muốn chuyển đổi dự án sau này, bạn có thể hướng dẫn tác nhân sử dụng dự án hiện có bằng một câu lệnh như:

      Add Firestore to this app using project PROJECT_ID.
    

Tại sao tôi không tìm thấy một số tài liệu trong bảng điều khiển Firebase?

Khi lưu dữ liệu vào một đường dẫn lồng nhau (chẳng hạn như /users/user1/messages/msg1) mà không tạo tài liệu mẹ (user1) trước, tác nhân AI Studio sẽ tạo ra cái gọi là tài liệu mẹ không tồn tại. Những tài liệu này không xuất hiện trong bảng điều khiển Firebase, điều này có thể khiến bạn khó tìm thấy chúng khi duyệt qua cơ sở dữ liệu Cloud Firestore. Mặc dù điều này không ảnh hưởng đến cách ứng dụng của bạn chạy, nhưng bạn thường có thể mô tả vấn đề cho tác nhân AI Studio để nhắc tác nhân này tạo các tài liệu mẹ bị thiếu.

Để biết thêm thông tin, hãy xem phần Tài liệu mẹ không tồn tại.

Tôi có thể chọn vị trí cho cơ sở dữ liệu Cloud Firestore của mình không?

Có. Khi bật chế độ tích hợp Firebase lần đầu tiên trong Google AI Studio, bạn có thể chọn vị trí cho cơ sở dữ liệu Cloud Firestore.

Xin lưu ý rằng vị trí bạn chọn sẽ áp dụng cho tất cả Cloud Firestorecác cơ sở dữ liệu mà tác nhân Google AI Studio tạo trong dự án Firebase đó. Sau khi thiết lập, bạn không thể thay đổi vị trí này cho các cơ sở dữ liệu đó.

Google sử dụng dữ liệu của tôi (ví dụ: mã và câu lệnh) trong Google AI Studio như thế nào?

Hãy tham khảo Điều khoản dịch vụ bổ sung của Gemini API để biết thông tin chi tiết về cách dữ liệu của bạn được sử dụng.

Tôi nhận được email từ Google Cloud về "khoá API công khai của Google cho dự án Google Cloud". Việc bạn cần làm

Nếu bạn nhận được email từ Google Cloud về "khoá API công khai của Google cho dự án Google Cloud" và khoá API được liệt kê trong email là khoá API Firebase của bạn, hãy đảm bảo rằng khoá API đó đáp ứng các yêu cầu sau để có thể đưa vào mã hoặc tệp cấu hình một cách an toàn. Bạn có thể xác minh những thông tin sau trong 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.

Ngoài ra, hãy đảm bảo rằng bạn đang sử dụng Firebase Security RulesApp Check theo đề xuất cho các sản phẩm của Firebase mà bạn sử dụng.

Bạn có thể tìm hiểu thông tin chi tiết về khoá API cho Firebase và xem danh sách các câu hỏi thường gặp trong phần Tìm hiểu về cách sử dụng và quản lý khoá API cho Firebase