โปรเจ็กต์ 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 ไม่ได้ทั้งหมด) ดูข้อมูลเพิ่มเติมได้ในคำถามที่พบบ่อยนี้
ไปที่คอนโซล Firebase
ลงชื่อเข้าใช้ด้วยบัญชี Google เดียวกันกับที่ให้คุณเข้าถึงโปรเจ็กต์ Google Cloud ที่มีอยู่
คลิกสร้างโปรเจ็กต์
คลิกลิงก์มีโปรเจ็กต์ Google Cloud อยู่แล้วใช่ไหมที่ด้านล่างของหน้า
ในช่องข้อความ ให้เริ่มป้อนรหัสโปรเจ็กต์ของโปรเจ็กต์ที่มีอยู่ แล้วเลือกโปรเจ็กต์จากรายการที่แสดง
คลิกเปิดโปรเจ็กต์
ยอมรับข้อกำหนดของ Firebase หากได้รับข้อความแจ้ง
ทําตามวิธีการบนหน้าจอเพื่อ "เพิ่ม Firebase" และตั้งค่าโปรเจ็กต์ Firebase
โปรดทราบว่าการเปิดใช้ Google Analytics เป็นตัวเลือก
ติดตั้ง Firebase CLI หากยังไม่ได้ดำเนินการ
เข้าสู่ระบบด้วยบัญชี Google เดียวกันกับที่อนุญาตให้คุณเข้าถึงโปรเจ็กต์ Google Cloud ที่มีอยู่
เรียกใช้คำสั่งต่อไปนี้
firebase projects:addfirebase
เมื่อได้รับข้อความแจ้ง ให้เลือกโปรเจ็กต์ Google Cloud ที่มีอยู่จากรายการที่แสดง
เปิดใช้ Firebase Management API ในโปรเจ็กต์ Google Cloud ที่มีอยู่
สร้างโทเค็นการเข้าถึง API
เปิดใช้บริการ Firebase สําหรับโปรเจ็กต์โดยเรียกใช้
projects.addFirebase
โปรดทราบว่าคุณจะต้องมีชื่อทรัพยากรของโปรเจ็กต์เพื่อเรียกใช้การดําเนินการนี้
ดูวิธีการโดยละเอียดได้ที่หัวข้อเพิ่มบริการ Firebase ลงในโปรเจ็กต์ในคู่มือ Firebase "ตั้งค่าและจัดการโปรเจ็กต์ Firebase โดยใช้ Management REST API" โปรดทำตามวิธีการทั้งหมดในส่วนก่อนเริ่มต้นของคู่มือดังกล่าว
เปิดใช้ Firebase Management API (
firebase.googleapis.com
) ในโปรเจ็กต์ Google Cloud ที่มีอยู่เปิดใช้บริการ Firebase สําหรับโปรเจ็กต์โดยใช้แหล่งข้อมูล
google_firebase_project
ดูข้อมูลโดยละเอียดเกี่ยวกับการใช้ Firebase และ Terraform ได้ที่หัวข้อเริ่มต้นใช้งาน Terraform และ Firebase
คำถามที่พบบ่อยและการแก้ปัญหา
ฉันต้องยอมรับข้อกำหนดในการให้บริการของ Firebase เพื่อเริ่มใช้ Firebase ใช่ไหม
หากต้องการเข้าถึงและใช้ความสามารถทั้งหมดของ Firebase ในโปรเจ็กต์ Google Cloud คุณต้องยอมรับข้อกำหนดในการให้บริการของ Firebase นอกจากนี้ คุณยังต้องยอมรับข้อกําหนดของ Firebase เพื่อ "เพิ่ม Firebase" ลงในโปรเจ็กต์ Google Cloud ที่มีอยู่ด้วย
คุณจะต้องยอมรับข้อกําหนดของ Firebase เพียงครั้งเดียวสําหรับบัญชี Google ไม่ว่าจะมีสิทธิ์เข้าถึงโปรเจ็กต์กี่โปรเจ็กต์ก็ตาม การยอมรับข้อกำหนดหมายความว่าคุณยอมรับข้อกำหนดดังกล่าวสำหรับบัญชี Google ของคุณเท่านั้น การยอมรับไม่ได้อยู่ที่ระดับโปรเจ็กต์สำหรับสมาชิกโปรเจ็กต์ทุกคน
คุณสามารถยอมรับข้อกําหนดของ Firebase ผ่านคอนโซล Firebase โดยใช้ตัวเลือกใดก็ได้ต่อไปนี้ ยอมรับข้อกำหนดเมื่อได้รับข้อความแจ้ง
สร้างโปรเจ็กต์ Firebase ใหม่โดยใช้คอนโซล Firebase
เปิดโปรเจ็กต์ Firebase ที่มีอยู่ในคอนโซล Firebase (เช่น มีคนเชิญให้คุณเป็นสมาชิกโปรเจ็กต์ (หรือก็คือผู้ใช้หลัก) ในโปรเจ็กต์)
เปิด Google Cloud ที่มีอยู่ในคอนโซล Firebase แล้ว"เพิ่ม Firebase"
สิทธิ์ใดบ้างที่จําเป็นต่อ "การเพิ่ม Firebase"
หากต้องการ "เพิ่ม Firebase" ลงในโปรเจ็กต์ Google Cloud ที่มีอยู่ สมาชิกโปรเจ็กต์ (กล่าวคือผู้ใช้หลัก) ต้องมีสิทธิ์ IAM ต่อไปนี้
firebase.projects.update
resourcemanager.projects.get
serviceusage.services.enable
serviceusage.services.get
บทบาท IAM ของผู้แก้ไขและเจ้าของจะมีสิทธิ์เหล่านี้โดยค่าเริ่มต้น
การเพิ่มป้ายกํากับ firebase:enabled
เพียงพอต่อการเพิ่ม Firebase ไหม
โปรเจ็กต์ Firebase ทั้งหมดจะมีป้ายกํากับ firebase:enabled
ในหน้าป้ายกํากับ ของคอนโซล Google Cloud
อย่างไรก็ตาม การเพิ่มป้ายกำกับ firebase:enabled
ลงในรายการป้ายกำกับโปรเจ็กต์ด้วยตนเองจะไม่เปิดใช้การกำหนดค่าและบริการเฉพาะ Firebase สำหรับโปรเจ็กต์ Google Cloud โดยคุณต้องเพิ่ม Firebase โดยใช้คอนโซล Firebase (หรือสำหรับกรณีการใช้งานขั้นสูง ให้ใช้ Firebase CLI, Firebase Management REST API หรือ Terraform)
จะเกิดอะไรขึ้นเมื่อคุณ "เพิ่ม Firebase" ลงในโปรเจ็กต์ Google Cloud ที่มีอยู่
โปรเจ็กต์ 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 ออก" จากโปรเจ็กต์ได้ไหม
หลังจาก "เพิ่ม Firebase" ลงในโปรเจ็กต์ Google Cloud ที่มีอยู่แล้ว คุณจะยกเลิกไม่ได้ (กล่าวคือ คุณจะนํา Firebase ออกจากโปรเจ็กต์ Google Cloud ไม่ได้ทั้งหมด)
กระบวนการ "เพิ่ม Firebase" จะเปิดใช้ API และบริการแบ็กเอนด์ที่อาจใช้กับฟีเจอร์อื่นๆ ของ Google Cloud การปิดใช้บริการที่เปิดใช้ทั้งหมดเหล่านี้อาจก่อให้เกิดผลลัพธ์ที่ไม่คาดคิดและไม่ได้ตั้งใจเนื่องจากความเกี่ยวข้อง
อย่างไรก็ตาม หากต้องการ คุณสามารถปิดใช้ API ทั้งหมดด้วยตนเองและลบป้ายกํากับ คีย์ API และบัญชีบริการที่เปิดใช้และสร้างโดยอัตโนมัติเมื่อคุณ "เพิ่ม Firebase"
"การเพิ่ม Firebase" ถูกบล็อกสำหรับโปรเจ็กต์ Google Cloud ที่มีอยู่ได้ไหม
แม้ว่าคุณจะบล็อก "การเพิ่ม Firebase" ลงในโปรเจ็กต์ Google Cloud ที่มีอยู่ไม่ได้ แต่คุณก็ทําสิ่งต่อไปนี้ได้
จำกัดสมาชิกโปรเจ็กต์ (หรือผู้ที่มีสิทธิ์) ที่มีสิทธิ์ IAM firebase.projects.update
ซึ่งจําเป็นสําหรับ "เพิ่ม Firebase"
คุณสามารถใช้นโยบายการปฏิเสธของ IAM เพื่อทำสิ่งต่างๆ เหล่านี้ได้อย่างมีประสิทธิภาพ
ขั้นตอนถัดไป
ดูข้อมูลเพิ่มเติมเกี่ยวกับโปรเจ็กต์ Firebase ได้จากแหล่งข้อมูลต่อไปนี้
ทําความเข้าใจโปรเจ็กต์ Firebase - ให้ภาพรวมคร่าวๆ ของแนวคิดสําคัญหลายประการเกี่ยวกับโปรเจ็กต์ Firebase รวมถึงความสัมพันธ์กับ Google Cloud และลําดับชั้นพื้นฐานของโปรเจ็กต์ ตลอดจนแอปและทรัพยากรของโปรเจ็กต์
แนวทางปฏิบัติแนะนำทั่วไปสำหรับการตั้งค่าโปรเจ็กต์ Firebase - ระบุแนวทางปฏิบัติแนะนำระดับสูงทั่วไปสำหรับการตั้งค่าโปรเจ็กต์ Firebase และการลงทะเบียนแอปกับโปรเจ็กต์เพื่อให้คุณมีเวิร์กโฟลว์การพัฒนาที่ชัดเจนซึ่งใช้สภาพแวดล้อมที่แตกต่างกัน
เริ่มต้นใช้งาน Firebase ในแอปบนอุปกรณ์เคลื่อนที่และเว็บโดยลงทะเบียนแอปกับโปรเจ็กต์ Firebase และเชื่อมต่อแอปกับ Firebase ดังนี้ iOS+ | Android | เว็บ | Flutter | Unity | C++