เริ่มต้นใช้งาน Firebase ด้วยโปรเจ็กต์ Google Cloud ที่มีอยู่

โปรเจ็กต์ Firebase คือโปรเจ็กต์ Google Cloud ที่เปิดใช้การกำหนดค่าและบริการบางอย่างเฉพาะ Firebase ซึ่งโดยทั่วไปเรียกว่า "การเพิ่ม Firebase" ลงในโปรเจ็กต์ Google Cloud หน้านี้จะอธิบายวิธี "เพิ่ม Firebase" พร้อมกับคําถามที่พบบ่อย (FAQ)

เมื่อคุณเพิ่ม Firebase ลงในโปรเจ็กต์ Google Cloud Firebase จะเปิดใช้ API หลายรายการโดยอัตโนมัติและสร้างบัญชีบริการเพื่อลดความซับซ้อนในการใช้บริการและอินเทอร์เฟซ Firebase ทั้งหมด นอกจากนี้ Firebase จะเพิ่มป้ายกํากับ firebase:enabled ลงในโปรเจ็กต์ของคุณภายในหน้าป้ายกํากับ ของคอนโซล Google Cloud ดูรายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่จะเกิดขึ้นเมื่อคุณ "เพิ่ม Firebase"

ความสัมพันธ์ระหว่างโปรเจ็กต์ Firebase กับโปรเจ็กต์ Google Cloud

เนื่องจากโปรเจ็กต์ Firebase เป็นโปรเจ็กต์ Google Cloud

  • คุณสามารถเข้าถึงและโต้ตอบกับโปรเจ็กต์ในคอนโซล Firebase รวมถึงในคอนโซล Google Cloud และคอนโซล Google APIs

  • คุณสามารถโต้ตอบกับโปรเจ็กต์ได้โดยใช้ Firebase CLI, gcloud CLI และทรัพยากร Terraform จาก Google

  • คุณใช้ผลิตภัณฑ์และ API จากทั้ง Firebase และ Google Cloud ในโปรเจ็กต์ได้

  • สิทธิ์และบทบาท IAM สำหรับโปรเจ็กต์จะแชร์ระหว่าง Firebase กับ Google Cloud สิทธิ์เข้าถึงที่สมาชิกโปรเจ็กต์ (หรือผู้ใช้หลัก) มีในโปรเจ็กต์ Google Cloud จะมีผลกับโปรเจ็กต์ Firebase ด้วย (และในทางกลับกัน)

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

  • ระบบจะแชร์ตัวระบุที่ไม่ซ้ำกันของโปรเจ็กต์ (เช่น หมายเลขโปรเจ็กต์และรหัสโปรเจ็กต์) กับ Firebase และ Google Cloud

  • ลําดับชั้นทรัพยากรที่ใช้กับโปรเจ็กต์ Google Cloud (เช่น องค์กร โฟลเดอร์ เป็นต้น) จะมีผลกับโปรเจ็กต์ Firebase ด้วย

  • การลบโปรเจ็กต์จะเป็นการลบโปรเจ็กต์ใน Firebase และ Google Cloud ด้วย

  • การลบหรือแก้ไขทรัพยากรหรือข้อมูลภายในโปรเจ็กต์จะมีผลกับทั้ง Firebase และ Google Cloud

วิธีเพิ่ม Firebase ไปยังโปรเจ็กต์ Google Cloud ที่มีอยู่

คุณ "เพิ่ม Firebase" ลงในโปรเจ็กต์ Google Cloud ที่มีอยู่ได้โดยใช้ตัวเลือกใดก็ได้ต่อไปนี้ ตรวจสอบว่าคุณมีสิทธิ์ที่จําเป็นในการเพิ่ม Firebase ลงในโปรเจ็กต์ Google Cloud

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

  1. ไปที่คอนโซล Firebase

  2. ลงชื่อเข้าใช้ด้วยบัญชี Google เดียวกันกับที่ให้คุณเข้าถึงโปรเจ็กต์ Google Cloud ที่มีอยู่

  3. คลิกสร้างโปรเจ็กต์

  4. คลิกลิงก์มีโปรเจ็กต์ Google Cloud อยู่แล้วใช่ไหมที่ด้านล่างของหน้า

  5. ในช่องข้อความ ให้เริ่มป้อนรหัสโปรเจ็กต์ของโปรเจ็กต์ที่มีอยู่ แล้วเลือกโปรเจ็กต์จากรายการที่แสดง

  6. คลิกเปิดโปรเจ็กต์

  7. ยอมรับข้อกำหนดของ Firebase หากได้รับข้อความแจ้ง

  8. ทําตามวิธีการบนหน้าจอเพื่อ "เพิ่ม Firebase" และตั้งค่าโปรเจ็กต์ Firebase

    โปรดทราบว่าการเปิดใช้ Google Analytics เป็นตัวเลือก

  1. ติดตั้ง Firebase CLI หากยังไม่ได้ดำเนินการ

  2. เข้าสู่ระบบด้วยบัญชี Google เดียวกันกับที่อนุญาตให้คุณเข้าถึงโปรเจ็กต์ Google Cloud ที่มีอยู่

  3. เรียกใช้คำสั่งต่อไปนี้

    firebase projects:addfirebase
  4. เมื่อได้รับข้อความแจ้ง ให้เลือกโปรเจ็กต์ Google Cloud ที่มีอยู่จากรายการที่แสดง

  1. เปิดใช้ Firebase Management API ในโปรเจ็กต์ Google Cloud ที่มีอยู่

  2. สร้างโทเค็นการเข้าถึง API

  3. เปิดใช้บริการ Firebase สําหรับโปรเจ็กต์โดยเรียกใช้ projects.addFirebase

    โปรดทราบว่าคุณจะต้องมีชื่อทรัพยากรของโปรเจ็กต์เพื่อเรียกใช้การดําเนินการนี้

ดูวิธีการโดยละเอียดได้ที่หัวข้อเพิ่มบริการ Firebase ลงในโปรเจ็กต์ในคู่มือ Firebase "ตั้งค่าและจัดการโปรเจ็กต์ Firebase โดยใช้ Management REST API" โปรดทำตามวิธีการทั้งหมดในส่วนก่อนเริ่มต้นของคู่มือดังกล่าว

  1. เปิดใช้ Firebase Management API (firebase.googleapis.com) ในโปรเจ็กต์ Google Cloud ที่มีอยู่

  2. เปิดใช้บริการ Firebase สําหรับโปรเจ็กต์โดยใช้แหล่งข้อมูล google_firebase_project

ดูข้อมูลโดยละเอียดเกี่ยวกับการใช้ Firebase และ Terraform ได้ที่หัวข้อเริ่มต้นใช้งาน Terraform และ Firebase

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

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

คุณจะต้องยอมรับข้อกําหนดของ Firebase เพียงครั้งเดียวสําหรับบัญชี Google ไม่ว่าจะมีสิทธิ์เข้าถึงโปรเจ็กต์กี่โปรเจ็กต์ก็ตาม การยอมรับข้อกำหนดหมายความว่าคุณยอมรับข้อกำหนดดังกล่าวสำหรับบัญชี Google ของคุณเท่านั้น การยอมรับไม่ได้อยู่ที่ระดับโปรเจ็กต์สำหรับสมาชิกโปรเจ็กต์ทุกคน

คุณสามารถยอมรับข้อกําหนดของ Firebase ผ่านคอนโซล Firebase โดยใช้ตัวเลือกใดก็ได้ต่อไปนี้ ยอมรับข้อกำหนดเมื่อได้รับข้อความแจ้ง

  • สร้างโปรเจ็กต์ Firebase ใหม่โดยใช้คอนโซล Firebase

  • เปิดโปรเจ็กต์ Firebase ที่มีอยู่ในคอนโซล Firebase (เช่น มีคนเชิญให้คุณเป็นสมาชิกโปรเจ็กต์ (หรือก็คือผู้ใช้หลัก) ในโปรเจ็กต์)

  • เปิด Google Cloud ที่มีอยู่ในคอนโซล Firebase แล้ว"เพิ่ม Firebase"

หากต้องการ "เพิ่ม Firebase" ลงในโปรเจ็กต์ Google Cloud ที่มีอยู่ สมาชิกโปรเจ็กต์ (กล่าวคือผู้ใช้หลัก) ต้องมีสิทธิ์ IAM ต่อไปนี้

  • firebase.projects.update
  • resourcemanager.projects.get
  • serviceusage.services.enable
  • serviceusage.services.get

บทบาท IAM ของผู้แก้ไขและเจ้าของจะมีสิทธิ์เหล่านี้โดยค่าเริ่มต้น

โปรเจ็กต์ Firebase ทั้งหมดจะมีป้ายกํากับ firebase:enabled ในหน้าป้ายกํากับ ของคอนโซล Google Cloud

อย่างไรก็ตาม การเพิ่มป้ายกำกับ firebase:enabled ลงในรายการป้ายกำกับโปรเจ็กต์ด้วยตนเองจะไม่เปิดใช้การกำหนดค่าและบริการเฉพาะ Firebase สำหรับโปรเจ็กต์ Google Cloud โดยคุณต้องเพิ่ม Firebase โดยใช้คอนโซล Firebase (หรือสำหรับกรณีการใช้งานขั้นสูง ให้ใช้ Firebase CLI, Firebase Management REST API หรือ Terraform)

โปรเจ็กต์ Firebase คือโปรเจ็กต์ Google Cloud ที่เปิดใช้การกำหนดค่าและบริการบางอย่างเฉพาะ Firebase ดังนั้นเมื่อคุณ "เพิ่ม Firebase" ลงในโปรเจ็กต์ Google Cloud ที่มีอยู่ Firebase จะดําเนินการต่อไปนี้เพื่อลดความซับซ้อนในการใช้บริการและอินเทอร์เฟซ Firebase ทั้งหมด

  • เพิ่มป้ายกํากับ firebase:enabled ในหน้าป้ายกํากับ ของคอนโซล Google Cloud

  • สร้างคีย์ API "เบราว์เซอร์" และจํากัดให้ใช้กับAPI ที่เกี่ยวข้องกับ Firebase โดยอัตโนมัติ

  • สร้างบัญชีบริการต่อไปนี้

    • service-PROJECT_NUMBER@gcp-sa-firebase.iam.gserviceaccount.com
    • firebase-adminsdk-random5chars@PROJECT_ID.iam.gserviceaccount.com
  • เปิดใช้ API ต่อไปนี้

    • App Engine Admin API
    • Cloud Pub/Sub API
    • Cloud Resource Manager API
    • Cloud Runtime Configuration API
    • Cloud Testing API
    • Firebase Cloud Messaging API
    • Firebase Dynamic Links API
    • Firebase Hosting API
    • Firebase Installations API
    • Firebase Management API
    • Firebase Remote Config API
    • Firebase Remote Config Realtime API
    • Firebase Rules API
    • Identity Toolkit API
    • Token Service API

หลังจาก "เพิ่ม Firebase" ลงในโปรเจ็กต์ Google Cloud ที่มีอยู่แล้ว คุณจะยกเลิกไม่ได้ (กล่าวคือ คุณจะนํา Firebase ออกจากโปรเจ็กต์ Google Cloud ไม่ได้ทั้งหมด)

กระบวนการ "เพิ่ม Firebase" จะเปิดใช้ API และบริการแบ็กเอนด์ที่อาจใช้กับฟีเจอร์อื่นๆ ของ Google Cloud การปิดใช้บริการที่เปิดใช้ทั้งหมดเหล่านี้อาจก่อให้เกิดผลลัพธ์ที่ไม่คาดคิดและไม่ได้ตั้งใจเนื่องจากความเกี่ยวข้อง

อย่างไรก็ตาม หากต้องการ คุณสามารถปิดใช้ API ทั้งหมดด้วยตนเองและลบป้ายกํากับ คีย์ API และบัญชีบริการที่เปิดใช้และสร้างโดยอัตโนมัติเมื่อคุณ "เพิ่ม Firebase"

แม้ว่าคุณจะบล็อก "การเพิ่ม Firebase" ลงในโปรเจ็กต์ Google Cloud ที่มีอยู่ไม่ได้ แต่คุณก็ทําสิ่งต่อไปนี้ได้

จำกัดสมาชิกโปรเจ็กต์ (หรือผู้ที่มีสิทธิ์) ที่มีสิทธิ์ IAM firebase.projects.update ซึ่งจําเป็นสําหรับ "เพิ่ม Firebase" คุณสามารถใช้นโยบายการปฏิเสธของ IAM เพื่อทำสิ่งต่างๆ เหล่านี้ได้อย่างมีประสิทธิภาพ

ขั้นตอนถัดไป

  • ดูข้อมูลเพิ่มเติมเกี่ยวกับโปรเจ็กต์ Firebase ได้จากแหล่งข้อมูลต่อไปนี้

    • ทําความเข้าใจโปรเจ็กต์ Firebase - ให้ภาพรวมคร่าวๆ ของแนวคิดสําคัญหลายประการเกี่ยวกับโปรเจ็กต์ Firebase รวมถึงความสัมพันธ์กับ Google Cloud และลําดับชั้นพื้นฐานของโปรเจ็กต์ ตลอดจนแอปและทรัพยากรของโปรเจ็กต์

    • แนวทางปฏิบัติแนะนำทั่วไปสำหรับการตั้งค่าโปรเจ็กต์ Firebase - ระบุแนวทางปฏิบัติแนะนำระดับสูงทั่วไปสำหรับการตั้งค่าโปรเจ็กต์ Firebase และการลงทะเบียนแอปกับโปรเจ็กต์เพื่อให้คุณมีเวิร์กโฟลว์การพัฒนาที่ชัดเจนซึ่งใช้สภาพแวดล้อมที่แตกต่างกัน

  • เริ่มต้นใช้งาน Firebase ในแอปบนอุปกรณ์เคลื่อนที่และเว็บโดยลงทะเบียนแอปกับโปรเจ็กต์ Firebase และเชื่อมต่อแอปกับ Firebase ดังนี้ iOS+ | Android | เว็บ | Flutter | Unity | C++