เพิ่ม Cloud Firestore และการตรวจสอบสิทธิ์ลงในแอป Google AI Studio

โหมดสร้างใน Google AI Studio สามารถตั้งค่าและผสานรวม Cloud Firestore และ Firebase Authentication เข้ากับเว็บแอปโดยอัตโนมัติ ซึ่งช่วยให้สร้างแอปที่มี พื้นที่เก็บข้อมูลถาวรและขั้นตอนการเข้าสู่ระบบที่ปลอดภัยได้ง่ายขึ้น เพียงแค่ใช้พรอมต์เดียวและคลิกไม่กี่ครั้ง คุณก็สามารถมอบสิทธิ์ให้เอเจนต์ Google AI Studio ตั้งค่าโปรเจ็กต์ Firebase เชื่อมต่อแอปกับโปรเจ็กต์นั้น และสร้างโค้ดทั้งหมดของ Cloud Firestore และ Authentication ในแอปได้โดยตรง

ภาพรวม: เพิ่มแบ็กเอนด์ลงในแอป Google AI Studio

  1. อธิบายไอเดียของคุณ: สร้างแอปใหม่ใน Google AI Studio และอธิบาย ฟีเจอร์ที่ต้องใช้ฐานข้อมูลหรือการตรวจสอบสิทธิ์ เช่น คุณอาจป้อนพรอมต์ต่อไปนี้ Build a shared to-do list app using Firebase as a backend.

  2. เปิดใช้การผสานรวม Firebase: เมื่อตัวแทนแจ้ง ให้เปิดใช้ Firebase เลือกสถานที่ตั้งสำหรับโปรเจ็กต์ และยอมรับข้อกำหนดของ Firebase จากนั้นเอเจนต์จะเชื่อมต่อแอปกับโปรเจ็กต์ Firebase โดยอัตโนมัติ และสร้างโค้ด Cloud Firestore และ Authentication ที่จำเป็นสำหรับแอป รวมถึงไฟล์ /src/lib/firebase.ts และไฟล์ firestore.rules

  3. ติดตั้งใช้งาน: เมื่อพร้อมแล้ว ให้ใช้ตัวเลือกแชร์ > เผยแพร่เพื่อติดตั้งใช้งาน เว็บแอปไปยัง Cloud Run

    เสมอ

ทำความเข้าใจโควต้าที่ใช้ร่วมกันสำหรับ Cloud Firestore

Cloud Firestore ฐานข้อมูลทั้งหมดที่จัดสรรโดยเอเจนต์ Google AI Studio จะอยู่ใน "กลุ่ม" ฐานข้อมูลเดียวกันในโปรเจ็กต์ Firebase โดยทั้งหมดมีลักษณะดังนี้

  • โควต้าที่ใช้ร่วมกัน: ฐานข้อมูลทั้งหมดในกลุ่มจะใช้โควต้าการใช้งานร่วมกัน (ดูรายละเอียดด้านล่าง)
  • ไม่จำเป็นต้องมีCloud Billingบัญชี: คุณสร้างและทดสอบแอปได้ โดยไม่ต้องเพิ่มการเรียกเก็บเงิน ดูรายละเอียดด้านล่างเกี่ยวกับการเพิ่มการเรียกเก็บเงินโดยไม่บังคับ
  • การรีเซ็ตรายวัน: หากคุณใช้โควต้าประจำวันจนถึงขีดจำกัด (เช่น อ่าน 50,000 ครั้ง/วัน) บริการจะหยุดชั่วคราวสำหรับฐานข้อมูลทั้งหมดภายในกลุ่มและจะกลับมาทำงานอีกครั้ง ในวันถัดไปเวลาประมาณเที่ยงคืนตามเวลาเขตแปซิฟิก

ฐานข้อมูล Cloud Firestore ในกลุ่มโควต้าที่ใช้ร่วมกันจะมีขีดจำกัดต่อไปนี้

เมตริก โควต้า
ข้อมูลที่จัดเก็บ รวม 1 GiB
ข้อมูลขาออกของเครือข่าย 10 GiB ต่อเดือน
เขียนหน่วย การเขียน 40,000 รายการต่อวัน
อ่านหน่วย การอ่าน 50,000 ครั้งต่อวัน
หน่วยการอัปเดตแบบเรียลไทม์ อัปเดต 50,000 รายการต่อวัน
เท่านั้น

(ไม่บังคับ) เพิ่มการเรียกเก็บเงินเพื่อรับโควต้า Cloud Firestore เพิ่มเติม

หากแอปของคุณได้รับความนิยมและคุณต้องการใช้บริการCloud Firestoreเกินขีดจำกัดแบบไม่เสียค่าใช้จ่าย คุณสามารถอัปเกรดโปรเจ็กต์เป็นแพ็กเกจราคา Blaze แบบจ่ายเมื่อใช้ได้

  1. เพิ่มการเรียกเก็บเงิน (หากยังไม่ได้ดำเนินการ): ไปที่ Firebase คอนโซล แล้วลิงก์บัญชีสำหรับการเรียกเก็บเงินกับโปรเจ็กต์

  2. อัปเกรดฐานข้อมูล: โดยค่าเริ่มต้น Cloud Firestore ฐานข้อมูลที่สร้างโดยเอเจนต์ Google AI Studioจะยังคงใช้โควต้าที่แชร์แม้หลังจากที่คุณ อัปเกรดแพ็กเกจราคาแล้วก็ตาม หากต้องการเปิดใช้การปรับขนาดแบบชำระเงินเต็มรูปแบบสำหรับฐานข้อมูลที่เฉพาะเจาะจง คุณต้องย้ายฐานข้อมูลออกจากกลุ่มด้วยตนเองโดยใช้คำสั่ง curl

    • PROJECT_ID : รหัสโปรเจ็กต์ Firebase ค้นหารหัสนี้ได้ใน การตั้งค่าโปรเจ็กต์ ของคอนโซล Firebase

    • DATABASE_ID : รหัสฐานข้อมูล Cloud Firestore ซึ่งจะตรงกับรหัสแอปเพล็ตของคุณ ค้นหารหัสฐานข้อมูลนี้ในคอลัมน์ชื่อในหน้าฐานข้อมูล Cloud Firestore ในคอนโซล Firebase

    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}'
    

การสร้าง Security Rules รายการ

เอเจนต์ Google AI Studio จะสร้าง Firebase Security Rules โดยอัตโนมัติตามตรรกะของแอป Security Rules เหล่านี้ออกแบบมาให้เป็น "ปฏิเสธโดยค่าเริ่มต้น" ซึ่งหมายความว่า ผู้ใช้ปลายทางของแอปจะเข้าถึงได้เฉพาะข้อมูลที่เป็นของตนเอง

โปรดทราบว่าหากคุณปรับ Security Rules ด้วยตนเองในคอนโซล Firebase โดยตรง เอเจนต์ Google AI Studio จะไม่ทราบการเปลี่ยนแปลง และระบบจะเขียนทับการเปลี่ยนแปลงดังกล่าวในระหว่างการทำซ้ำแอปในภายหลัง เราขอแนะนำให้ ใช้เอเจนต์ Google AI Studio เพื่อปรับ Firebase Security Rules เพื่อให้มั่นใจว่า การเปลี่ยนแปลงของคุณจะได้รับการเก็บรักษาและสอดคล้องกับตรรกะของแอป

ใช้โปรเจ็กต์ที่มีอยู่

นอกจากนี้ คุณยังขอให้Google AI Studioตัวแทนจัดสรร Cloud FirestoreลงในGoogle Cloudโปรเจ็กต์ที่มีอยู่ซึ่งคุณเป็นเจ้าของได้ด้วย สั่ง ให้เอเจนต์ใช้โปรเจ็กต์ที่มีอยู่ด้วยพรอมต์ เช่น

Add Firestore to this app using project PROJECT_ID.
  • ระบบจะจัดสรรฐานข้อมูล Cloud Firestore ใหม่ลงในโปรเจ็กต์นั้น โดยใช้โควต้าที่แชร์
  • Firebase Authentication จะได้รับการกำหนดค่าด้วย Google Sign-In
  • บัญชีบริการจะได้รับสิทธิ์เข้าถึงฐานข้อมูล Cloud Firestore หากต้องการอนุญาตให้ผู้ดูแลระบบเข้าถึงจาก Google AI Studio ระบบจะให้สิทธิ์บัญชีบริการใหม่ ชื่อ ais-sandbox@PROJECT_ID.iam.gservice.com ในการเข้าถึงฐานข้อมูล Cloud Firestore ของคุณ บัญชีนี้เชื่อมโยงกับแอป Google AI Studio ของคุณเท่านั้น
  • ข้อจำกัด: หากโปรเจ็กต์ Firebase มีฐานข้อมูล Cloud Firestore อยู่แล้ว ตัวแทนจะเพิ่มฐานข้อมูลอื่นไม่ได้ คุณจะต้อง สร้างโปรเจ็กต์ใหม่ที่ว่างเปล่าเพื่อใช้งาน

ใช้คอนโซล Firebase

คุณดูข้อมูลและการตั้งค่าของแอปได้ในFirebaseคอนโซล หากต้องการเข้าถึง โปรเจ็กต์ที่เชื่อมโยงกับ Google AI Studio ให้ทำตามขั้นตอนต่อไปนี้

  1. ไปที่คอนโซล Firebase แล้ว เลือกโปรเจ็กต์ที่มีป้ายกำกับว่า AI Studio

  2. ในแผงการนำทางด้านซ้าย ให้คลิกสร้าง > Cloud Firestore ฐานข้อมูลเพื่อดูและแก้ไขข้อมูลใน Cloud Firestore หรือคลิกสร้าง > Authentication เพื่อกำหนดค่าการตั้งค่าและข้อมูล Authentication

การแก้ปัญหาและคำถามที่พบบ่อย

ค้นหาคำตอบสำหรับคำถามที่พบบ่อยและดูวิธีแก้ไขปัญหาเมื่อ ผสานรวม Firebase กับGoogle AI Studioแอป

ระบบเลือกโปรเจ็กต์ Google Cloud / Firebase ของฉันอย่างไร

เมื่อใช้ฟีเจอร์เพิ่มแบ็กเอนด์ Firebase Google AI Studioเอเจนต์ จะเลือกโปรเจ็กต์ Firebase ที่จะใช้สําหรับบริการแบ็กเอนด์ของแอปโดยอัตโนมัติ (Cloud Firestore และ Firebase Authentication)

หากต้องการใช้โปรเจ็กต์ที่เฉพาะเจาะจงแทน คุณสามารถสั่งให้ตัวแทนทำเช่นนั้นได้ด้วยพรอมต์ เช่น

Use project PROJECT_ID for the Firebase backend.

หากต่อมาคุณตัดสินใจที่จะเผยแพร่แอปไปยัง Cloud Run คุณควรใช้โปรเจ็กต์เดียวกันนี้ต่อไป การเลือกโปรเจ็กต์อื่นจะทำให้เกิด ข้อผิดพลาดเนื่องจากจะไม่ตรงกับโปรเจ็กต์ที่ใช้สำหรับแบ็กเอนด์

รองรับวิธีการตรวจสอบสิทธิ์ใดบ้าง

Google AI Studio Agent จะตั้งค่าการลงชื่อเข้าใช้ด้วย Google เมื่อคุณใช้ฟีเจอร์เพิ่มแบ็กเอนด์ Firebase หากต้องการตั้งค่าวิธีการเพิ่มเติม ให้เปิดใช้ในคอนโซล Firebase และขอความช่วยเหลือจากตัวแทน Google AI Studio ในการอัปเดตโค้ดเบส

ฉันจะสร้างแอปบนอุปกรณ์เคลื่อนที่ (เช่น Android หรือ iOS) ด้วย Google AI Studio ได้ไหม

ปัจจุบันเอเจนต์ Google AI Studio สร้างได้เฉพาะเว็บแอป ดูข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่รองรับได้ใน เอกสารประกอบของเอเจนต์ Google AI Studio

โปรดทราบว่าแอปที่สร้างโดย Google AI Studio จะเข้าถึงได้ในรูปแบบเว็บแอปบนมือถือจากเบราว์เซอร์ที่ติดตั้ง ในอุปกรณ์เคลื่อนที่ เช่นเดียวกับเว็บแอปอื่นๆ

ไฟล์ firebase-blueprint.json คืออะไร

นี่คือไฟล์ระดับกลางที่ใช้โดย Agent Google AI Studio เพื่อทำความเข้าใจ ฐานโค้ดของแอป อย่าแก้ไขไฟล์นี้ด้วยตนเอง เนื่องจากอาจทำให้เอเจนต์ สร้างโค้ดที่ไม่ถูกต้องหรือ Security Rules ที่ไม่ปลอดภัย

ฉันควรทำอย่างไรหากได้รับข้อผิดพลาด "เกินโควต้า"

การใช้งานถึงCloud Firestoreโควต้าหมายความว่าแอปของคุณใช้ถึงขีดจำกัดการใช้งานรายวันสำหรับกลุ่มโควต้าที่แชร์ของฐานข้อมูล Cloud Firestore คุณแก้ไขปัญหานี้ได้ 2 วิธีดังนี้

  • ตัวเลือกที่ 1: รอ: โควต้าจะรีเซ็ตทุกวันประมาณเที่ยงคืนตามเวลาเขตแปซิฟิก
  • ตัวเลือกที่ 2: อัปเกรด: อัปเกรดเป็นแพ็กเกจราคา Blaze แบบจ่ายเมื่อใช้

ฉันควรทำอย่างไรหากได้รับข้อผิดพลาด "ไม่มีสิทธิ์หรือมีสิทธิ์ไม่เพียงพอ"

ข้อผิดพลาดนี้เกิดขึ้นเมื่อแอปพยายามอ่านหรือเขียนข้อมูลลงในฐานข้อมูล Cloud Firestore แต่คำขอถูกปฏิเสธโดย Security Rules ซึ่งบ่งชี้ว่า Security Rules ไม่อนุญาตการดำเนินการที่พยายามทำตามสถานะการตรวจสอบสิทธิ์หรือเส้นทางข้อมูลปัจจุบัน คลิกปุ่มแก้ไขข้อผิดพลาดเพื่อแจ้งให้เอเจนต์ Google AI Studio พยายามแก้ไข Security Rules

จะเกิดอะไรขึ้นกับแบ็กเอนด์ Firebase เมื่อฉันลบแอป Google AI Studio

การลบแอปพลิเคชันใน Google AI Studio ไม่ได้เป็นการลบโปรเจ็กต์ Firebase ที่เชื่อมต่อ Cloud Firestore ฐานข้อมูล หรือFirebase Authentication การกำหนดค่าโดยอัตโนมัติ

หากเพิ่มแบ็กเอนด์ Firebase คุณต้องไปที่Firebaseคอนโซล ด้วยตนเองและลบโปรเจ็กต์หรือล้างทรัพยากรแต่ละรายการ (เช่น อินสแตนซ์ฐานข้อมูล Cloud Firestore และผู้ให้บริการ Authentication) เพื่อให้แน่ใจว่าระบบได้นำข้อมูลและการกำหนดค่าทั้งหมดออกแล้ว

ตัวแทน Google AI Studio ลบหรือแก้ไขข้อมูลในฐานข้อมูล Cloud Firestore ของฉันได้ไหม

Google AI Studioเอเจนต์ได้รับการออกแบบมาเพื่อช่วยจัดสรรทรัพยากรแบ็กเอนด์ที่จำเป็น และสร้างโค้ดและ Security Rules แม้ว่าเอเจนต์จะลบ แก้ไข หรือจัดการรายการข้อมูลภายในฐานข้อมูล Cloud Firestore โดยตรงไม่ได้ แต่ก็สามารถเขียนโค้ดลงในแอปเพล็ตที่ออกแบบมาเพื่อดำเนินการเหล่านี้ได้ หากต้องการดำเนินการจัดการข้อมูล เช่น ลบรายการ ให้ไปที่หน้าฐานข้อมูล Cloud Firestore ในคอนโซล Firebase

ฉันอยู่ในองค์กรที่ใช้ Google Cloud ฉันจะเชื่อมต่อแอป Google AI Studio กับโปรเจ็กต์ที่มีอยู่ภายในสภาพแวดล้อม Google Cloud ขององค์กรได้ไหม

ตรวจสอบว่าโปรเจ็กต์ Firebase อยู่ภายในGoogle Cloud โฟลเดอร์องค์กรที่เฉพาะเจาะจง

  1. สร้างโปรเจ็กต์ Firebase ด้วยตนเองล่วงหน้า

  2. เมื่อตั้งค่าแบ็กเอนด์ Firebase ใน Google AI Studio ให้แจ้งตัวแทนให้ใช้โปรเจ็กต์ที่มีอยู่

    Add Firestore to this app using project PROJECT_ID.
    

เหตุใดฉันจึงไม่เห็นเอกสารบางอย่างในคอนโซล Firebase

เมื่อ Agent ของ AI Studio บันทึกข้อมูลไปยังเส้นทางที่ซ้อนกัน (เช่น /users/user1/messages/msg1) โดยไม่ได้สร้างเอกสารระดับบนสุด (user1) ก่อน ระบบจะสร้างสิ่งที่เรียกว่าเอกสารระดับบนสุดที่ไม่มีอยู่ เอกสารเหล่านี้จะไม่แสดงในคอนโซล Firebase ซึ่งอาจทำให้ค้นหาได้ยากเมื่อเรียกดูฐานข้อมูล Cloud Firestore แม้ว่าการดำเนินการนี้จะไม่ส่งผลต่อวิธีที่แอปทำงาน แต่คุณมักจะอธิบายปัญหาให้ตัวแทน AI Studio เพื่อแจ้งให้สร้างเอกสารหลักที่ขาดหายไปได้

ดูรายละเอียดเพิ่มเติมได้ที่ เอกสารหลักที่ไม่มีอยู่

Google ใช้ข้อมูลของฉัน (เช่น โค้ดและพรอมต์) ใน Google AI Studio อย่างไร

โปรดดูรายละเอียดเกี่ยวกับวิธีที่ระบบใช้ข้อมูลของคุณใน ข้อกำหนดในการให้บริการเพิ่มเติมของ Gemini API

เราได้รับอีเมลจาก Google Cloud เกี่ยวกับ "คีย์ API ของ Google ที่เข้าถึงได้แบบสาธารณะสำหรับโปรเจ็กต์ Google Cloud ของคุณ" สิ่งที่ต้องทำ

หากคุณได้รับอีเมลจาก Google Cloud เกี่ยวกับ "คีย์ API ของ Google ที่เข้าถึงได้แบบสาธารณะสำหรับโปรเจ็กต์ Google Cloud ของคุณ" และคีย์ API ที่ระบุไว้ในอีเมลคือคีย์ API ของ Firebase โปรดตรวจสอบว่าคีย์ API เป็นไปตามข้อกำหนดต่อไปนี้เพื่อให้รวมไว้ในโค้ดหรือไฟล์การกำหนดค่าได้อย่างปลอดภัย คุณสามารถยืนยันข้อมูลต่อไปนี้ได้ในแผง API และบริการ > ข้อมูลเข้าสู่ระบบ ในคอนโซล Google Cloud

  • ซึ่งเป็นคีย์ API ที่คุณใช้สำหรับแอป Firebase และเฉพาะสำหรับบริการ Firebase โดยปกติแล้วคีย์เหล่านี้จะเรียกว่า Browser key (auto created by Firebase) หรือ Android key (auto created by Firebase) หรือ iOS key (auto created by Firebase)
  • โดยมี API ที่เกี่ยวข้องกับ Firebase ที่จำเป็น ทั้งหมดรวมอยู่ในรายการที่อนุญาตของ "ข้อจำกัด API" ของคีย์
  • ไม่มี API อื่นๆ ในรายการที่อนุญาต "ข้อจำกัด API" โดยเฉพาะอย่างยิ่ง รายการไม่ควร มีGenerative Language API

นอกจากนี้ โปรดตรวจสอบว่าคุณใช้ Firebase Security Rules และ App Check ตามที่แนะนำ สำหรับผลิตภัณฑ์ Firebase ที่คุณใช้

คุณดูรายละเอียดเกี่ยวกับคีย์ API สำหรับ Firebase และดูรายการคำถามที่พบบ่อยได้ใน ดูข้อมูลเกี่ยวกับการใช้และการจัดการคีย์ API สำหรับ Firebase