หากมีปัญหาอื่นๆ หรือไม่พบปัญหาของคุณตามที่ระบุไว้ด้านล่าง โปรดรายงานข้อบกพร่องหรือขอฟีเจอร์ และเข้าร่วมการอภิปราย Stack Overflow
โปรเจ็กต์ Firebase และแอป Firebase
โครงการ Firebase คืออะไร
โปรเจ็กต์ Firebase เป็นเอนทิตีระดับบนสุดสำหรับ Firebase ในโปรเจ็กต์ คุณจะลงทะเบียน Apple, Android หรือเว็บแอปได้ หลังจากลงทะเบียนแอปกับ Firebase แล้ว คุณจะเพิ่ม Firebase SDK เฉพาะผลิตภัณฑ์ลงในแอป เช่น Analytics, Cloud Firestore, Crashlytics หรือการกำหนดค่าระยะไกลได้
คุณควรลงทะเบียนตัวแปรของ Apple, Android และเว็บแอปภายในโปรเจ็กต์ Firebase เดียว คุณใช้โปรเจ็กต์ Firebase หลายโปรเจ็กต์เพื่อรองรับสภาพแวดล้อมต่างๆ ได้ เช่น การพัฒนา การทดลองใช้ และเวอร์ชันที่ใช้งานจริง
ต่อไปนี้เป็นแหล่งข้อมูลบางส่วนสำหรับดูข้อมูลเพิ่มเติมเกี่ยวกับโปรเจ็กต์ Firebase
- ทำความเข้าใจโปรเจ็กต์ Firebase - ให้ภาพรวมคร่าวๆ ของแนวคิดสำคัญต่างๆ เกี่ยวกับโปรเจ็กต์ Firebase รวมถึงความสัมพันธ์ของโปรเจ็กต์กับ Google Cloud และลำดับชั้นพื้นฐานของโปรเจ็กต์ รวมถึงแอปและทรัพยากรของโปรเจ็กต์
- แนวทางปฏิบัติแนะนำทั่วไปสำหรับการตั้งค่าโปรเจ็กต์ Firebase มอบแนวทางปฏิบัติแนะนำทั่วไปสำหรับการตั้งค่าโปรเจ็กต์ Firebase และการลงทะเบียนแอปกับโปรเจ็กต์ เพื่อให้คุณมีเวิร์กโฟลว์การพัฒนาที่ชัดเจนซึ่งใช้สภาพแวดล้อมที่แตกต่างกัน
โปรดทราบว่าสำหรับโปรเจ็กต์ Firebase ทั้งหมด Firebase จะเพิ่มป้ายกำกับ firebase:enabled
ภายในหน้าป้ายกำกับของโปรเจ็กต์ในคอนโซล Google Cloud โดยอัตโนมัติ ดูข้อมูลเพิ่มเติมเกี่ยวกับป้ายกำกับนี้ในคำถามที่พบบ่อย
องค์กร Google Cloud คืออะไร
องค์กร Google Cloud คือคอนเทนเนอร์สําหรับโปรเจ็กต์ Google Cloud (รวมถึงโปรเจ็กต์ Firebase) ลำดับชั้นนี้จะช่วยให้องค์กร การจัดการการเข้าถึง และการตรวจสอบโปรเจ็กต์ Google Cloud และ Firebase ดีขึ้นได้ ดูข้อมูลเพิ่มเติมได้ที่การสร้างและจัดการองค์กร
ฉันจะเพิ่ม Firebase ไปยังโปรเจ็กต์ Google Cloud ที่มีอยู่ได้อย่างไร
คุณอาจมีโปรเจ็กต์ Google Cloud เดิมที่จัดการผ่านคอนโซล Google Cloud หรือคอนโซล Google APIs
คุณเพิ่ม Firebase ไปยังโปรเจ็กต์ที่มีอยู่เหล่านี้ได้โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
- ใช้คอนโซล Firebase:
ในหน้า Landing Page ของคอนโซล Firebase ให้คลิกเพิ่มโปรเจ็กต์ จากนั้นเลือกโปรเจ็กต์ที่มีอยู่จากเมนูชื่อโปรเจ็กต์ - ใช้ตัวเลือกแบบเป็นโปรแกรม
- เรียกใช้ปลายทาง Firebase Management REST API
addFirebase
- เรียกใช้คำสั่ง Firebase CLI
firebase projects:addfirebase
- ใช้ Terraform
- เรียกใช้ปลายทาง Firebase Management REST API
เหตุใดโปรเจ็กต์ Google Cloud ของฉันจึงมีป้ายกํากับ firebase:enabled
ในหน้าป้ายกำกับของโปรเจ็กต์ในคอนโซล Google Cloud คุณอาจเห็นป้ายกำกับ firebase:enabled
(โดยเฉพาะ Key
ของ firebase
ที่มี Value
เท่ากับ enabled
)
Firebase เพิ่มป้ายกำกับนี้โดยอัตโนมัติเนื่องจากโปรเจ็กต์เป็นโปรเจ็กต์ Firebase ซึ่งหมายความว่าโปรเจ็กต์เปิดใช้การกำหนดค่าและบริการเฉพาะสำหรับ Firebase แล้ว ดูข้อมูลเพิ่มเติมเกี่ยวกับความสัมพันธ์ระหว่างโปรเจ็กต์ Firebase กับ Google Cloud
เราขอแนะนำว่าอย่าแก้ไขหรือลบป้ายกำกับนี้ Firebase และ Google Cloud ใช้ป้ายกำกับนี้เพื่อแสดงโปรเจ็กต์ Firebase ของคุณ (เช่น การใช้ ปลายทาง API ของ RESTprojects.list
หรือในเมนูภายในคอนโซล Firebase)
โปรดทราบว่าการเพิ่มป้ายกํากับนี้ลงในรายการป้ายกํากับโปรเจ็กต์ด้วยตนเองไม่ได้เปิดใช้การกําหนดค่าและบริการเฉพาะของ Firebase สําหรับโปรเจ็กต์ Google Cloud ซึ่งคุณต้องเพิ่ม Firebase ผ่านคอนโซล Firebase (หรือสำหรับ Use Case ขั้นสูงผ่าน Firebase Management REST API หรือ Firebase CLI)
เหตุใดโปรเจ็กต์ Firebase ของฉันจึงไม่ปรากฏในรายการโปรเจ็กต์ Firebase
คำถามที่พบบ่อยนี้ใช้ได้หากไม่เห็นโปรเจ็กต์ Firebase ในตำแหน่งต่อไปนี้
- ในรายการโปรเจ็กต์ที่คุณกำลังดูอยู่ภายในคอนโซล Firebase
- ในการตอบกลับจากการเรียกใช้ปลายทาง
projects.list
ของ REST API - ในการตอบสนองจากการเรียกใช้คำสั่ง Firebase CLI
firebase projects:list
ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้
- ก่อนอื่น ให้ลองเข้าถึงโปรเจ็กต์โดยไปที่ URL ของโปรเจ็กต์โดยตรง โดยใช้รูปแบบต่อไปนี้
https://console.firebase.google.com/project/PROJECT-ID/overview
- หากคุณเข้าถึงโปรเจ็กต์ไม่ได้หรือได้รับข้อผิดพลาดเกี่ยวกับสิทธิ์ ให้ตรวจสอบสิ่งต่อไปนี้
- ตรวจสอบว่าคุณลงชื่อเข้าใช้ Firebase โดยใช้บัญชี Google เดียวกันกับที่มีสิทธิ์เข้าถึงโปรเจ็กต์ คุณลงชื่อเข้าใช้และออกจากระบบคอนโซล Firebase ผ่านรูปโปรไฟล์บัญชีได้ที่มุมขวาบนของคอนโซล
- โปรดตรวจสอบว่าคุณดูโปรเจ็กต์ในคอนโซล Google Cloud ได้หรือไม่
- ตรวจสอบว่าโปรเจ็กต์มีป้ายกำกับ
firebase:enabled
ในหน้าป้ายกำกับของโปรเจ็กต์ในคอนโซล Google Cloud Firebase และ Google Cloud จะใช้ป้ายกำกับนี้เพื่อแสดงโปรเจ็กต์ Firebase หากไม่เห็นป้ายกำกับนี้ แต่มีการเปิดใช้ Firebase Management API สำหรับโปรเจ็กต์ ให้เพิ่มป้ายกำกับด้วยตนเอง (โดยเฉพาะKey
ของfirebase
ที่มีValue
เป็นenabled
) - ตรวจสอบว่าคุณได้รับบทบาท IAM พื้นฐานอย่างใดอย่างหนึ่ง (เจ้าของ ผู้แก้ไข ผู้ดู) หรือบทบาทที่มีสิทธิ์เกี่ยวกับ Firebase เช่น บทบาทที่กำหนดไว้ล่วงหน้าของ Firebase คุณดูบทบาทได้ในหน้า IAM ของคอนโซล Google Cloud
- หากโปรเจ็กต์เป็นขององค์กร Google Cloud คุณอาจต้องมีสิทธิ์เพิ่มเติมเพื่อดูโปรเจ็กต์ที่แสดงอยู่ในคอนโซล Firebase ติดต่อผู้ที่จัดการองค์กร Google Cloud เพื่อกำหนดบทบาทที่เหมาะสมให้คุณดูโปรเจ็กต์ เช่น บทบาทเบราว์เซอร์
หากขั้นตอนการแก้ปัญหาข้างต้นไม่สามารถช่วยให้คุณเห็นโปรเจ็กต์ในรายการโปรเจ็กต์ Firebase โปรดติดต่อทีมสนับสนุน Firebase
ฉันสามารถมีโปรเจ็กต์ได้กี่โปรเจ็กต์ต่อบัญชี
- แผนการตั้งราคา Spark - โควต้าของโปรเจ็กต์จํากัดไว้สำหรับโปรเจ็กต์จำนวนน้อย (โดยปกติจะมีจำนวนประมาณ 5-10 โปรเจ็กต์)
- แผนการตั้งราคา Blaze - โควต้าของโปรเจ็กต์ต่อบัญชีสำหรับการเรียกเก็บเงินใน Cloud จะเพิ่มขึ้นอย่างมากตราบใดที่บัญชีสำหรับการเรียกเก็บเงินใน Cloud ของคุณอยู่ในสถานะดี
นักพัฒนาซอฟต์แวร์ส่วนใหญ่ไม่ค่อยกังวลเรื่องขีดจำกัดโควต้าของโปรเจ็กต์ แต่หากจำเป็น คุณขอเพิ่มโควต้าโปรเจ็กต์ได้
โปรดทราบว่าการลบโปรเจ็กต์ที่สมบูรณ์ต้องใช้เวลา 30 วันและนับรวมในโควต้าของคุณจนกว่าโปรเจ็กต์จะถูกลบโดยสมบูรณ์
ฉันมีแอป Firebase ได้กี่แอปในโปรเจ็กต์ Firebase
โปรเจ็กต์ Firebase คือคอนเทนเนอร์สำหรับแอป Firebase ทั้งใน Apple, Android และเว็บ Firebase จำกัดจำนวนแอป Firebase ทั้งหมดภายในโปรเจ็กต์ Firebase ไว้ที่ 30 แอป
หลังจากที่ตัวเลขนี้ลดลง ประสิทธิภาพจะเริ่มลดลง (โดยเฉพาะสำหรับ Google Analytics) และในที่สุดเมื่อมีแอปจำนวนมากขึ้น ฟังก์ชันการทำงานของผลิตภัณฑ์บางอย่างจะหยุดทำงาน นอกจากนี้ หากคุณใช้ Google Sign-In เป็นผู้ให้บริการการตรวจสอบสิทธิ์ ระบบจะสร้างรหัสไคลเอ็นต์ OAuth 2.0 ที่สำคัญสำหรับแต่ละแอปในโปรเจ็กต์ โปรเจ็กต์เดียวมีรหัสไคลเอ็นต์ได้สูงสุด 30 รหัส
คุณควรตรวจสอบว่าแอป Firebase ทั้งหมดภายในโปรเจ็กต์ Firebase เดียว เป็นตัวแปรแพลตฟอร์มของแอปพลิเคชันเดียวกันจากมุมมองของผู้ใช้ปลายทาง เช่น หากคุณพัฒนาแอปพลิเคชันป้ายขาว แอปที่ติดป้ายกำกับอย่างอิสระแต่ละรายการควรมีโปรเจ็กต์ Firebase เป็นของตัวเอง แต่เวอร์ชัน Apple และ Android ของป้ายกำกับนั้นอาจอยู่ในโปรเจ็กต์เดียวกันได้ อ่านคำแนะนำโดยละเอียดเพิ่มเติมได้ในแนวทางปฏิบัติแนะนำทั่วไปสำหรับการตั้งค่าโปรเจ็กต์ Firebase
ในบางกรณีที่เกิดขึ้นไม่บ่อยนัก โปรเจ็กต์ของคุณต้องใช้แอปมากกว่า 30 รายการ คุณจะขอเพิ่มขีดจำกัดแอปได้ โปรเจ็กต์ต้องใช้แผนการตั้งราคา Blaze เพื่อส่งคำขอนี้ ไปที่คอนโซล Google Cloud เพื่อส่งคำขอและรับการประเมิน ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการโควต้าในเอกสารประกอบของ Google Cloud
จะเกิดอะไรขึ้นหากฉันติดแท็กโปรเจ็กต์ของฉันเป็นสภาพแวดล้อม "การใช้งานจริง"
ในคอนโซล Firebase คุณจะติดแท็กโปรเจ็กต์ Firebase ด้วยประเภทสภาพแวดล้อมได้ ไม่ว่าจะเป็นสภาพแวดล้อมเวอร์ชันที่ใช้งานจริงหรือไม่ระบุ (ไม่ใช่เวอร์ชันที่ใช้งานจริง)
การติดแท็กโปรเจ็กต์เป็นประเภทสภาพแวดล้อมจะไม่ส่งผลต่อวิธีการทำงานของโปรเจ็กต์ Firebase หรือฟีเจอร์ของโปรเจ็กต์ อย่างไรก็ตาม การติดแท็กช่วยให้คุณและทีมจัดการโปรเจ็กต์ Firebase ต่างๆ ได้ตลอดอายุการใช้งานของแอป
หากคุณติดแท็กโปรเจ็กต์เป็นสภาพแวดล้อมเวอร์ชันที่ใช้งานจริง เราจะเพิ่มแท็ก Prod สีสันสดใสลงในโปรเจ็กต์ในคอนโซล Firebase เพื่อเตือนคุณว่าการเปลี่ยนแปลงอาจส่งผลต่อแอปเวอร์ชันที่ใช้งานจริงที่เชื่อมโยง ในอนาคต เราอาจเพิ่มฟีเจอร์และการป้องกันอื่นๆ สําหรับโปรเจ็กต์ Firebase ที่ติดแท็กเป็นสภาพแวดล้อมที่ใช้งานจริง
หากต้องการเปลี่ยนประเภทสภาพแวดล้อมของโปรเจ็กต์ Firebase ให้ไปที่ settings การตั้งค่าโปรเจ็กต์ > ทั่วไป จากนั้นใน การ์ดโปรเจ็กต์ของคุณ ในส่วนสภาพแวดล้อม ให้คลิก edit เพื่อเปลี่ยนประเภทของสภาพแวดล้อม
ฉันจะหารหัสแอปสำหรับแอป Firebase ได้จากที่ใด
ในคอนโซล Firebase ให้ไปที่ settings การตั้งค่าโปรเจ็กต์ เลื่อนลงไปที่การ์ดแอปของคุณ แล้วคลิกแอป Firebase ที่ต้องการเพื่อดูข้อมูลของแอป รวมถึงรหัสแอป
ตัวอย่างค่ารหัสแอปมีดังนี้
-
แอป iOS ใน Firebase:
1:1234567890:ios:321abc456def7890
-
แอป Firebase บน Android:
1:1234567890:android:321abc456def7890
-
เว็บแอป Firebase:
1:1234567890:web:321abc456def7890
ข้อกำหนดเบื้องต้นสำหรับการลิงก์ Google Play / AdMob / Google Ads / BigQuery กับโปรเจ็กต์ Firebase หรือแอปของฉันมีอะไรบ้าง
- คุณต้องมีสิ่งต่อไปนี้สำหรับการลิงก์บัญชี Google Play
- บทบาท Firebase แบบใดแบบหนึ่งต่อไปนี้ ได้แก่ เจ้าของหรือผู้ดูแลระบบ Firebase
และ - ระดับการเข้าถึง Google Play ระดับใดระดับหนึ่งต่อไปนี้ ได้แก่ เจ้าของหรือผู้ดูแลบัญชี
- บทบาท Firebase แบบใดแบบหนึ่งต่อไปนี้ ได้แก่ เจ้าของหรือผู้ดูแลระบบ Firebase
- สำหรับการลิงก์แอป AdMob คุณต้องเป็นทั้งเจ้าของโปรเจ็กต์ Firebase และผู้ดูแลระบบ AdMob
- สำหรับการลิงก์บัญชี AdWords คุณต้องเป็นทั้งเจ้าของโปรเจ็กต์ Firebase และผู้ดูแลระบบ AdWords
- หากต้องการลิงก์โปรเจ็กต์ BigQuery คุณต้องเป็นเจ้าของโปรเจ็กต์ Firebase
ฉันควรใส่ประกาศโอเพนซอร์สใดบ้างในแอป
บนแพลตฟอร์ม Apple พ็อด Firebase จะมีไฟล์ NOTICES ซึ่งประกอบด้วยรายการที่เกี่ยวข้อง Firebase Android SDK มีผู้ช่วย Activity
สำหรับแสดงข้อมูลใบอนุญาต
สิทธิ์และการเข้าถึงโปรเจ็กต์ Firebase
ฉันจะมอบหมายบทบาทให้กับสมาชิกโปรเจ็กต์ เช่น บทบาทเจ้าของได้อย่างไร
หากต้องการจัดการบทบาทที่กำหนดให้กับสมาชิกโปรเจ็กต์แต่ละคน คุณต้องเป็นเจ้าของโปรเจ็กต์ Firebase (หรือได้รับบทบาทที่มีสิทธิ์ resourcemanager.projects.setIamPolicy
)
คุณสามารถมอบหมายและจัดการบทบาทได้ในส่วนต่อไปนี้
- คอนโซล Firebase มอบวิธีง่ายๆ ในการมอบหมายบทบาทให้แก่สมาชิกโปรเจ็กต์ในแท็บผู้ใช้และสิทธิ์ของ settings > การตั้งค่าโปรเจ็กต์ ในคอนโซล Firebase คุณจะมอบหมายบทบาทพื้นฐานใดก็ได้ (เจ้าของ ผู้แก้ไข ผู้ดู) บทบาทผู้ดูแลระบบ/ผู้ดู Firebase หรือบทบาทหมวดหมู่ผลิตภัณฑ์ที่กำหนดไว้ล่วงหน้าของ Firebase
- คอนโซล Google Cloud มีชุดเครื่องมือที่หลากหลายเพื่อมอบหมายบทบาทให้แก่สมาชิกโปรเจ็กต์ในหน้า IAM ใน Cloud Console คุณยังสร้างและจัดการบทบาทที่กำหนดเอง รวมถึงให้สิทธิ์เข้าถึงโปรเจ็กต์แก่บัญชีบริการได้อีกด้วย
โปรดทราบว่าในคอนโซล Google Cloud สมาชิกโปรเจ็กต์จะเรียกว่าผู้ใช้หลัก
หากเจ้าของโปรเจ็กต์ทำงานในนามของเจ้าของไม่ได้อีกต่อไป (เช่น บุคคลที่ออกจากบริษัท) และโปรเจ็กต์ไม่ได้รับการจัดการผ่านองค์กร Google Cloud (ดูย่อหน้าถัดไป) คุณติดต่อทีมสนับสนุนของ Firebase เพื่อมอบหมายเจ้าของชั่วคราวได้
โปรดทราบว่าหากโปรเจ็กต์ Firebase เป็นส่วนหนึ่งขององค์กร Google Cloud โปรเจ็กต์ดังกล่าวอาจไม่มีเจ้าของ หากไม่พบเจ้าของโปรเจ็กต์ Firebase โปรดติดต่อผู้ที่จัดการองค์กร Google Cloud ของคุณเพื่อกำหนดเจ้าของโปรเจ็กต์
ฉันจะหาเจ้าของโปรเจ็กต์ Firebase ได้อย่างไร
คุณดูสมาชิกโปรเจ็กต์และบทบาทได้ในตำแหน่งต่อไปนี้
- หากมีสิทธิ์เข้าถึงโปรเจ็กต์ในคอนโซล Firebase คุณจะดูรายชื่อสมาชิกโปรเจ็กต์รวมถึงเจ้าของได้ในหน้าผู้ใช้และสิทธิ์ของคอนโซล Firebase
- หากคุณไม่มีสิทธิ์เข้าถึงโปรเจ็กต์ในคอนโซล Firebase ให้ตรวจสอบว่าคุณมีสิทธิ์เข้าถึงโปรเจ็กต์ในคอนโซล Google Cloud หรือไม่ คุณดูรายชื่อสมาชิกโปรเจ็กต์และเจ้าของโปรเจ็กต์ได้ในหน้า IAM ของคอนโซล Google Cloud
หากเจ้าของโปรเจ็กต์ไม่สามารถทำงานของเจ้าของได้อีกต่อไป (เช่น บุคคลที่ออกจากบริษัท) และโปรเจ็กต์ของคุณไม่ได้มีการจัดการผ่านองค์กร Google Cloud (ดูย่อหน้าถัดไป) คุณติดต่อทีมสนับสนุนของ Firebase เพื่อมอบหมายเจ้าของชั่วคราวได้
โปรดทราบว่าหากโปรเจ็กต์ Firebase เป็นส่วนหนึ่งขององค์กร Google Cloud โปรเจ็กต์ดังกล่าวอาจไม่มีเจ้าของ ผู้ที่จัดการองค์กร Google Cloud ของคุณจะสามารถทำงานหลายอย่างที่เจ้าของทำได้ แต่หากต้องการดำเนินงานหลายอย่างที่เจาะจงเจ้าของ (เช่น มอบหมายบทบาทหรือจัดการพร็อพเพอร์ตี้ Google Analytics) ผู้ดูแลระบบอาจต้องมอบหมายบทบาทเจ้าของจริงให้ตนเองเพื่อดำเนินงานเหล่านั้น หากไม่พบเจ้าของโปรเจ็กต์ Firebase โปรดติดต่อผู้ที่จัดการองค์กร Google Cloud เพื่อมอบหมายเจ้าของโปรเจ็กต์
เหตุใดฉันจึงควรกำหนดบทบาทเจ้าของให้กับสมาชิกโปรเจ็กต์
โปรเจ็กต์ Firebase ต้องมีเจ้าของเพื่อให้จัดการโปรเจ็กต์ Firebase ได้อย่างเหมาะสม เจ้าของโปรเจ็กต์คือบุคคลที่สามารถดำเนินการดูแลระบบที่สำคัญๆ ได้หลายอย่าง (เช่น การมอบหมายบทบาทและจัดการพร็อพเพอร์ตี้ Google Analytics) และทีมสนับสนุนของ Firebase จะดำเนินการตามคำขอของผู้ดูแลระบบจากเจ้าของโปรเจ็กต์ที่สาธิตเท่านั้น
หลังจากตั้งค่าเจ้าของสำหรับโปรเจ็กต์ Firebase แล้ว คุณควรอัปเดตการมอบหมายเหล่านั้นให้เป็นปัจจุบันอยู่เสมอ
โปรดทราบว่าหากโปรเจ็กต์ Firebase เป็นส่วนหนึ่งขององค์กร Google Cloud ผู้ที่จัดการองค์กร Google Cloud ของคุณจะดำเนินงานหลายอย่างที่เจ้าของทำได้ อย่างไรก็ตาม สำหรับงานที่เจาะจงเจ้าของหลายอย่าง (เช่น การมอบหมายบทบาทหรือจัดการพร็อพเพอร์ตี้ Google Analytics) ผู้ดูแลระบบอาจต้องมอบหมายบทบาทเจ้าของจริงให้กับตนเองเพื่อดำเนินงานเหล่านั้น
ฉันไม่คิดว่าตัวเองมีโปรเจ็กต์ Firebase แต่ได้รับอีเมลเกี่ยวกับโปรเจ็กต์ ฉันจะเข้าถึงโปรเจ็กต์นี้ได้อย่างไร
อีเมลที่คุณได้รับควรมีลิงก์เพื่อเปิดโปรเจ็กต์ Firebase การคลิกลิงก์ในอีเมลควรเปิดโปรเจ็กต์ในคอนโซล Firebase
หากคุณเปิดโปรเจ็กต์ในลิงก์ไม่ได้ ให้ตรวจสอบว่าคุณได้ลงชื่อเข้าใช้ Firebase โดยใช้บัญชี Google เดียวกันกับที่ได้รับอีเมลเกี่ยวกับโปรเจ็กต์นั้น คุณลงชื่อเข้าใช้และออกจากระบบคอนโซล Firebase ได้ผ่านรูปโปรไฟล์บัญชีที่มุมขวาบนของคอนโซล
โปรดทราบว่าหากเป็นผู้ดูแลระบบขององค์กร Google Cloud คุณอาจได้รับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงในโปรเจ็กต์ Firebase ภายในองค์กร อย่างไรก็ตาม คุณอาจมีสิทธิ์ไม่เพียงพอที่จะเปิดโปรเจ็กต์ Firebase ในกรณีเหล่านี้ วิธีแก้ไขที่ง่ายที่สุดคือการกำหนดบทบาทเจ้าของจริงให้แก่ตนเองเพื่อเปิดโปรเจ็กต์และดำเนินการที่จำเป็น ดูข้อมูลเพิ่มเติมเกี่ยวกับสาเหตุและเวลาในการมอบหมายบทบาทเจ้าของ
แพลตฟอร์มและเฟรมเวิร์ก
ไปที่หน้าการแก้ปัญหาเฉพาะแพลตฟอร์มและหน้าคำถามที่พบบ่อยเพื่อดูเคล็ดลับและคำตอบที่มีประโยชน์สำหรับคำถามที่พบบ่อยเพิ่มเติม
คอนโซล Firebase
เบราว์เซอร์ที่รองรับการเข้าถึงคอนโซล Firebase มีอะไรบ้าง
คุณเข้าถึงคอนโซล Firebase ได้จากเบราว์เซอร์ในเดสก์ท็อปยอดนิยมเวอร์ชันล่าสุด เช่น Chrome, Firefox, Safari และ Edge ขณะนี้เบราว์เซอร์ในอุปกรณ์เคลื่อนที่ยังไม่ได้รับการรองรับอย่างเต็มรูปแบบ
ฉันโหลดคอนโซล Firebase ได้ แต่ทำไมฉันจึงไม่เห็นหรือเข้าถึงโปรเจ็กต์ Firebase ไม่ได้
คำถามที่พบบ่อยนี้จะใช้ได้หากคุณพบปัญหาข้อใดข้อหนึ่งต่อไปนี้
- คอนโซล Firebase จะแสดงหน้าข้อผิดพลาดที่ระบุว่าอาจไม่มีโปรเจ็กต์อยู่หรือคุณไม่มีสิทธิ์เข้าถึงโปรเจ็กต์
- คอนโซล Firebase จะไม่แสดงโปรเจ็กต์ แม้ว่าคุณจะป้อนรหัสโปรเจ็กต์หรือชื่อโปรเจ็กต์ของโปรเจ็กต์นั้นในช่องค้นหาของคอนโซลก็ตาม
ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้
- ก่อนอื่น ให้ลองเข้าถึงโปรเจ็กต์โดยไปที่ URL ของโปรเจ็กต์โดยตรง โดยใช้รูปแบบต่อไปนี้
https://console.firebase.google.com/project/PROJECT-ID/overview
- หากยังเข้าถึงโปรเจ็กต์ไม่ได้หรือได้รับข้อผิดพลาดเกี่ยวกับสิทธิ์ ให้ตรวจสอบสิ่งต่อไปนี้
- ตรวจสอบว่าคุณลงชื่อเข้าใช้ Firebase โดยใช้บัญชี Google เดียวกันกับที่มีสิทธิ์เข้าถึงโปรเจ็กต์ คุณลงชื่อเข้าใช้และออกจากระบบคอนโซล Firebase ผ่านรูปโปรไฟล์บัญชีได้ที่มุมขวาบนของคอนโซล
- ตรวจสอบว่าเปิดใช้ Firebase Management API สำหรับโปรเจ็กต์แล้ว
- ตรวจสอบว่าคุณได้รับบทบาท IAM พื้นฐานอย่างใดอย่างหนึ่ง (เจ้าของ ผู้แก้ไข ผู้ดู) หรือบทบาทที่มีสิทธิ์เกี่ยวกับ Firebase เช่น บทบาทที่กำหนดไว้ล่วงหน้าของ Firebase คุณดูบทบาทได้ในหน้า IAM ของคอนโซล Google Cloud
- หากโปรเจ็กต์เป็นขององค์กร Google Cloud คุณอาจต้องมีสิทธิ์เพิ่มเติมเพื่อดูโปรเจ็กต์ที่แสดงอยู่ในคอนโซล Firebase ติดต่อผู้ที่จัดการองค์กร Google Cloud เพื่อกำหนดบทบาทที่เหมาะสมให้คุณดูโปรเจ็กต์ เช่น บทบาทเบราว์เซอร์
หากขั้นตอนการแก้ปัญหาข้างต้นไม่สามารถค้นหาหรือเข้าถึงโปรเจ็กต์ได้ โปรดติดต่อทีมสนับสนุนของ Firebase
เหตุใดคอนโซล Firebase จึงไม่โหลดให้ฉัน
คำถามที่พบบ่อยนี้สามารถใช้ได้หากคุณพบปัญหาใดๆ ต่อไปนี้
- หน้าในคอนโซล Firebase โหลดไม่เสร็จ
- ข้อมูลภายในหน้าเว็บไม่โหลดตามที่คาดไว้
- คุณได้รับข้อความแสดงข้อผิดพลาดของเบราว์เซอร์เมื่อโหลดคอนโซล Firebase
ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้
- ตรวจสอบแถวคอนโซลของแดชบอร์ดสถานะ Firebase เพื่อดูการหยุดชะงักของบริการที่อาจเกิดขึ้น
- ตรวจสอบว่าคุณใช้เบราว์เซอร์ที่รองรับ
- ลองโหลดคอนโซล Firebase ในหน้าต่างที่ไม่ระบุตัวตนหรือหน้าต่างส่วนตัว
- ปิดใช้ส่วนขยายทั้งหมดของเบราว์เซอร์
- ตรวจสอบว่าตัวบล็อกโฆษณา โปรแกรมป้องกันไวรัส พร็อกซี ไฟร์วอลล์ หรือซอฟต์แวร์อื่นๆ ไม่ได้บล็อกการเชื่อมต่อเครือข่าย
- ลองโหลดคอนโซล Firebase โดยใช้เครือข่ายหรืออุปกรณ์อื่น
- หากใช้ Chrome ให้ตรวจหาข้อผิดพลาดในคอนโซลเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์
หากขั้นตอนการแก้ปัญหาข้างต้นแก้ปัญหาไม่ได้ โปรดติดต่อทีมสนับสนุนของ Firebase
ระบบกำหนดภาษาของคอนโซล Firebase อย่างไร
การตั้งค่าภาษาสำหรับคอนโซล Firebase จะอิงตามภาษาที่คุณเลือกในการตั้งค่าบัญชี Google
หากต้องการเปลี่ยนการตั้งค่าภาษา โปรดดูเปลี่ยนภาษา
คอนโซล Firebase รองรับภาษาต่อไปนี้
- อังกฤษ
- โปรตุเกส (บราซิล)
- ฝรั่งเศส
- เยอรมัน
- อินโดนีเซีย
- ญี่ปุ่น
- เกาหลี
- รัสเซีย
- ภาษาจีนตัวย่อ
- สเปน
- ภาษาจีนตัวเต็ม
คอนโซล Firebase รองรับบทบาทและสิทธิ์ใดบ้าง
คอนโซล Firebase และคอนโซล Google Cloud จะใช้บทบาทและสิทธิ์พื้นฐานเดียวกัน ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาทและสิทธิ์ในเอกสารประกอบ Firebase IAM
Firebase รองรับบทบาทพื้นฐาน (พื้นฐาน) ของเจ้าของ ผู้แก้ไข และผู้ดู ดังนี้
- เจ้าของโปรเจ็กต์สามารถเพิ่มสมาชิกคนอื่นๆ ในโปรเจ็กต์ ตั้งค่าการผสานรวม (การลิงก์โปรเจ็กต์ไปยังบริการต่างๆ เช่น BigQuery หรือ Slack) และมีสิทธิ์แก้ไขโปรเจ็กต์ได้โดยสมบูรณ์
- โปรเจ็กต์ผู้แก้ไขมีสิทธิ์แก้ไขโปรเจ็กต์โดยสมบูรณ์
- โปรเจ็กต์ Viewer มีสิทธิ์เข้าถึงแบบอ่านสำหรับโปรเจ็กต์เท่านั้น โปรดทราบว่าปัจจุบันคอนโซล Firebase ไม่ได้ซ่อน/ปิดใช้การควบคุม UI จากผู้ดูโปรเจ็กต์ แต่การดำเนินการเหล่านี้จะไม่ล้มเหลวสำหรับสมาชิกโปรเจ็กต์ที่ได้รับมอบหมายบทบาทผู้ดู
Firebase ยังรองรับรายการต่อไปนี้ด้วย
- บทบาทที่กําหนดไว้ล่วงหน้าของ Firebase — บทบาทเฉพาะ Firebase ที่มีการดูแลจัดการซึ่งเปิดใช้การควบคุมการเข้าถึงแบบละเอียดกว่าบทบาทพื้นฐานของเจ้าของ ผู้แก้ไข และผู้ดู
- บทบาทที่กำหนดเอง — บทบาท IAM ที่กำหนดเองทั้งหมดซึ่งคุณสร้างเพื่อปรับแต่งชุดสิทธิ์ที่เป็นไปตามข้อกำหนดเฉพาะขององค์กร
ราคา
ผลิตภัณฑ์ใดบ้างที่ได้รับการชำระเงิน แคมเปญใดไม่มีค่าใช้จ่าย
ผลิตภัณฑ์โครงสร้างพื้นฐานแบบมีค่าใช้จ่ายของ Firebase ได้แก่ Realtime Database, Cloud Storage for Firebase, Cloud Functions, Hosting, Test Lab และการตรวจสอบสิทธิ์ทางโทรศัพท์ เรามีฟีเจอร์ทั้งหมดให้ใช้ในระดับที่ไม่มีค่าใช้จ่าย
Firebase ยังมีผลิตภัณฑ์ที่ไม่มีค่าใช้จ่ายอีกมากมาย ซึ่งได้แก่ Analytics, Cloud Messaging, เครื่องมือเขียนการแจ้งเตือน, การกำหนดค่าระยะไกล, การจัดทำดัชนีแอป, ลิงก์แบบไดนามิก และรายงานข้อขัดข้อง การใช้ผลิตภัณฑ์เหล่านี้ขึ้นอยู่กับนโยบายควบคุมการเข้าชมของผลิตภัณฑ์เท่านั้น (เช่น โควต้า การเข้าถึงที่เป็นธรรม และการปกป้องบริการอื่นๆ) ในทุกแพ็กเกจ รวมถึงแพ็กเกจ Spark ที่ไม่มีค่าใช้จ่าย นอกจากนี้ ฟีเจอร์การตรวจสอบสิทธิ์ทั้งหมดที่นอกเหนือจากการตรวจสอบสิทธิ์ทางโทรศัพท์นั้นไม่มีค่าใช้จ่าย
Firebase มอบเครดิตช่วงทดลองใช้โดยไม่มีค่าใช้จ่ายสำหรับผลิตภัณฑ์แบบชำระเงินไหม
คุณสามารถใช้บริการที่มีค่าใช้จ่ายของ Firebase ในส่วนช่วงทดลองใช้ฟรีของ Google Cloud ผู้ใช้ Google Cloud และ Firebase รายใหม่จะได้รับสิทธิประโยชน์จากช่วงทดลองใช้ 90 วัน ซึ่งรวมเครดิตการเรียกเก็บเงินใน Cloud ฟรีมูลค่า $300 เพื่อใช้สำรวจและประเมิน ผลิตภัณฑ์และบริการของ Google Cloud และ Firebase
ในระหว่างช่วงทดลองใช้ Google Cloud ฟรี คุณจะได้รับบัญชีสำหรับการเรียกเก็บเงินใน Cloud แบบทดลองใช้ฟรี โปรเจ็กต์ Firebase ที่ใช้บัญชีสำหรับการเรียกเก็บเงินดังกล่าวจะใช้แผนการตั้งราคา Blaze ในช่วงทดลองใช้ฟรี
แต่ไม่ต้องกังวล การตั้งค่าบัญชีการเรียกเก็บเงินใน Cloud ของช่วงทดลองใช้ฟรีนี้ไม่ได้เรียกเก็บเงินจากคุณ ระบบจะไม่เรียกเก็บเงินจากคุณ เว้นแต่คุณจะเปิดใช้การเรียกเก็บเงินอย่างชัดแจ้งโดยการอัปเกรดบัญชีสำหรับการเรียกเก็บเงินใน Cloud ของช่วงทดลองใช้ฟรีเป็นบัญชีแบบชำระเงิน คุณสามารถอัปเกรดเป็นบัญชีแบบชำระเงินได้ตลอดเวลาในระหว่างช่วงทดลองใช้ หลังจากอัปเกรดแล้ว คุณจะใช้เครดิตที่เหลืออยู่ได้ (ภายในระยะเวลา 90 วัน)
เมื่อช่วงทดลองใช้ฟรีหมดอายุ คุณจะต้องดาวน์เกรดโปรเจ็กต์เป็นแผนการตั้งราคาของ Spark หรือตั้งค่าแผนการตั้งราคาของ Blaze ในคอนโซล Firebase เพื่อใช้โปรเจ็กต์ Firebase ต่อไป
ดูข้อมูลเพิ่มเติมเกี่ยวกับช่วงทดลองใช้ฟรีของ Google Cloud
ฉันจะทราบได้อย่างไรว่าแผนการตั้งราคาใดเหมาะกับฉัน
แผนการตั้งราคา Spark
แพ็กเกจ Spark ของเราเป็นฟีเจอร์ที่ยอดเยี่ยมในการพัฒนาแอปโดยไม่มีค่าใช้จ่าย คุณจะได้รับฟีเจอร์ Firebase ทั้งหมดที่ไม่เสียค่าใช้จ่าย (Analytics, เครื่องมือการเขียนการแจ้งเตือน, Crashlytics และอื่นๆ) และฟีเจอร์โครงสร้างพื้นฐานแบบชำระเงินมากมาย อย่างไรก็ตาม หากคุณใช้ทรัพยากรของแพ็กเกจ Spark เกินใน 1 เดือนปฏิทิน แอปจะปิดไปในช่วงเวลาที่เหลือของเดือนนั้น นอกจากนี้ ฟีเจอร์ของ Google Cloud จะใช้งานไม่ได้เมื่อใช้แพ็กเกจ Spark ด้วย
แผนการตั้งราคา Blaze
แพ็กเกจ Blaze ของเราออกแบบมาสำหรับแอปเวอร์ชันที่ใช้งานจริง แพ็กเกจ Blaze ยังช่วยให้คุณขยายแอปด้วยฟีเจอร์แบบชำระเงินของ Google Cloud ได้อีกด้วย คุณจะชำระค่าบริการตามทรัพยากรที่ใช้เท่านั้น ซึ่งทำให้ปรับขนาดตามความต้องการได้ เรามุ่งมั่นที่จะทำให้ราคาแพ็กเกจ Blaze ของเราแข่งขันกับผู้ให้บริการระบบคลาวด์ชั้นนำของอุตสาหกรรมได้
ฉันจะตรวจสอบการใช้งานและการเรียกเก็บเงินได้อย่างไร
คุณติดตามการใช้งานทรัพยากรของโปรเจ็กต์ได้ในคอนโซล Firebase บนหน้าแดชบอร์ดใดก็ได้ต่อไปนี้
- แดชบอร์ดการใช้งานและการเรียกเก็บเงินระดับโปรเจ็กต์โดยรวม
- หน้าแดชบอร์ดการใช้งานการตรวจสอบสิทธิ์ (สำหรับอินสแตนซ์การตรวจสอบสิทธิ์ทางโทรศัพท์โดยเฉพาะ)
- หน้าแดชบอร์ดการใช้งานของ Cloud Firestore
- หน้าแดชบอร์ดการใช้งาน Cloud Functions
- แดชบอร์ดการใช้งาน Cloud Storage
- แดชบอร์ดการใช้งานโฮสติ้ง
- แดชบอร์ดการใช้งานฐานข้อมูลเรียลไทม์
เกิดอะไรขึ้นกับแผนการตั้งราคา Flame
ในเดือนมกราคม 2020 เราได้นำแผนการตั้งราคา Flame ($25/เดือนของโควต้าเพิ่มเติม) ออกเป็นตัวเลือกสำหรับการลงชื่อสมัครใช้ใหม่ ผู้ใช้แพ็กเกจเดิมได้รับระยะเวลาผ่อนผันในการย้ายข้อมูลโปรเจ็กต์ออกจากแพ็กเกจ Flame
ในเดือนกุมภาพันธ์ 2022 โปรเจ็กต์ที่เหลืออยู่ในแผนการตั้งราคา Flame ได้ดาวน์เกรดเป็นแพ็กเกจราคา Spark
ดังนั้น
- โปรเจ็กต์ที่มีอยู่ของแพ็กเกจ Spark และ Blaze และโปรเจ็กต์ใหม่จะไม่สามารถเปลี่ยนไปใช้หรือลงชื่อสมัครใช้แพ็กเกจ Flame ได้อีกต่อไป
- หากคุณย้ายโปรเจ็กต์แพ็กเกจ Flame ที่มีอยู่ไปยังแผนการตั้งราคาอื่น โปรเจ็กต์ดังกล่าวจะกลับไปใช้แพ็กเกจ Flame ไม่ได้
- โปรเจ็กต์ที่ดาวน์เกรดเป็นแพ็กเกจ Spark สามารถอัปเกรดเป็นแพ็กเกจ Blaze เพื่อใช้บริการที่มีค่าใช้จ่ายเพิ่มเติมต่อได้
- เรานำการอ้างอิงถึงแผน Flame ออกจากเอกสารประกอบแล้ว
คุณมีข้อสงสัยเพิ่มเติมเกี่ยวกับการเลิกใช้แผน Flame ไหม อ่านคําถามที่พบบ่อยเพิ่มเติมได้ที่ด้านล่าง
หากต้องการดูข้อมูลเกี่ยวกับแผนการตั้งราคาอื่นๆ ที่ Firebase นำเสนอ ไปที่หน้าราคา Firebase หากต้องการเริ่มย้ายโปรเจ็กต์ที่มีอยู่ไปยังแผนการตั้งราคาอื่น คุณจะทำได้ในคอนโซล Firebase สำหรับโปรเจ็กต์
คําถามที่พบบ่อยเพิ่มเติมเกี่ยวกับการเลิกใช้แพ็กเกจ Flame
ฉันมีโปรเจ็กต์ กระบวนการ หรือโมเดลธุรกิจที่อาศัยต้นทุน Firebase คงที่ ควรทำอย่างไร
ลงชื่อสมัครใช้แผนการตั้งราคา Blaze และอย่าลืมตั้งค่าการแจ้งเตือนงบประมาณ
ฉันจะได้รับสิทธิ์เข้าถึงพิเศษในการสร้างโปรเจ็กต์แผน Flame ใหม่ไหม
ไม่ Firebase ไม่ได้มอบการเข้าถึงพิเศษสำหรับโปรเจ็กต์ที่จะเปลี่ยนไปใช้หรือลงชื่อสมัครใช้แพ็กเกจ Flame
ฉันได้เปลี่ยนโปรเจ็กต์แพ็กเกจ Flame เป็นแพ็กเกจราคาอื่นแล้ว ฉันจะเปลี่ยนกลับได้อย่างไร
เปลี่ยนไปใช้แผน Flame ไม่ได้อีกต่อไป หากต้องการเข้าถึงบริการโดยแพ็กเกจ Flame โปรดตรวจสอบว่าคุณใช้แผนการตั้งราคาของ Blaze และพิจารณาตั้งค่าการแจ้งเตือนงบประมาณสำหรับโปรเจ็กต์
ระบบได้เปลี่ยนโปรเจ็กต์ของฉันไปใช้แพ็กเกจราคาอื่นโดยอัตโนมัติ ซึ่งเป็นส่วนหนึ่งของการเลิกใช้แพ็กเกจ Flame ควรทำอย่างไร
หากโปรเจ็กต์ต้องใช้โควต้าเพิ่มเติมนอกเหนือจากที่ให้มากับแพ็กเกจ Spark คุณจะต้องอัปเกรดโปรเจ็กต์เป็นแผนการตั้งราคา Blaze
เหตุใดจึงเลิกใช้แผน Flame
ในช่วงหลายปีที่ผ่านมา เราพบว่าการใช้งานแพ็กเกจ Flame มีจำนวนลดลงและโปรเจ็กต์ส่วนใหญ่ที่ใช้แพ็กเกจดังกล่าวไม่ได้ใช้งบประมาณจนหมด โดยทั่วไปแล้ว การดูแลรักษาแผนการตั้งราคานี้อาจไม่คุ้มทุน และเราคิดว่าเราสามารถให้บริการทุกคนได้ดีขึ้นหากมีทรัพยากรสำหรับโครงการริเริ่มอื่นๆ ของ Firebase
การใช้งานที่ไม่มีค่าใช้จ่ายในแพ็กเกจ Blaze ต่างจากการใช้งานที่ไม่มีค่าใช้จ่ายในแพ็กเกจ Spark อย่างไร
ระบบจะคำนวณการใช้งานแพ็กเกจ Blaze ที่ไม่มีค่าใช้จ่ายทุกวัน ขีดจำกัดการใช้งานยังต่างจากแพ็กเกจ Spark สำหรับ Cloud Functions, การตรวจสอบสิทธิ์ทางโทรศัพท์ และ Test Lab
สำหรับ Cloud Functions การใช้งานที่ไม่มีค่าใช้จ่ายในแพ็กเกจ Blaze จะคำนวณที่ระดับบัญชีสำหรับการเรียกเก็บเงินใน Cloud ไม่ใช่ระดับโปรเจ็กต์ และมีข้อจำกัดดังต่อไปนี้
- การเรียกใช้ 2 ล้านครั้ง/เดือน
- 400,000 GB-วินาที/เดือน
- CPU 200,000 วินาที/เดือน
- การเชื่อมต่อเครือข่ายขาออก 5 GB/เดือน
สำหรับการตรวจสอบสิทธิ์ทางโทรศัพท์ การใช้งานแพ็กเกจ Blaze ที่ไม่มีค่าใช้จ่ายจะคำนวณรายเดือน
การใช้งานแพ็กเกจ Blaze ที่ไม่มีค่าใช้จ่ายจะมีขีดจำกัดดังต่อไปนี้สำหรับ Test Lab
- 30 นาทีของอุปกรณ์จริง/วัน
- อุปกรณ์เสมือน 60 นาที/วัน
โควต้าการใช้งานที่ไม่มีค่าใช้จ่ายจะรีเซ็ตเมื่อฉันเปลี่ยนจากแพ็กเกจ Spark เป็น Blaze ไหม
การใช้งานโดยไม่มีค่าใช้จ่ายจากแพ็กเกจ Spark จะรวมอยู่ในแพ็กเกจ Blaze ระบบจะไม่รีเซ็ตการใช้งานโดยไม่มีค่าใช้จ่ายเมื่อเปลี่ยนไปใช้แพ็กเกจ Blaze
"การเชื่อมต่อฐานข้อมูลพร้อมกัน" คืออะไร
การเชื่อมต่อในเวลาเดียวกันเทียบเท่ากับอุปกรณ์เคลื่อนที่ แท็บเบราว์เซอร์ หรือแอปเซิร์ฟเวอร์ 1 รายการที่เชื่อมต่อกับฐานข้อมูล Firebase กำหนดขีดจำกัดจำนวนสูงสุดสำหรับจำนวนการเชื่อมต่อพร้อมกันกับฐานข้อมูลของแอป ขีดจำกัดเหล่านี้มีไว้เพื่อปกป้องทั้ง Firebase และผู้ใช้จากการละเมิด
ขีดจำกัดแพ็กเกจ Spark คือ 100 และเพิ่มไม่ได้ แพ็กเกจ Flame และ Blaze มีการจำกัดการเชื่อมต่อพร้อมกันไว้ที่ 200,000 รายการต่อฐานข้อมูล
ซึ่งต่างจากจำนวนผู้ใช้ทั้งหมดของแอปเนื่องจากผู้ใช้ไม่ได้เชื่อมต่อพร้อมกันทุกคน หากต้องการการเชื่อมต่อพร้อมกันมากกว่า 200,000 รายการ โปรดอ่าน ปรับขนาดด้วยฐานข้อมูลหลายรายการ
จะเกิดอะไรขึ้นหากฉันใช้พื้นที่เก็บข้อมูลของแพ็กเกจ Spark หรือดาวน์โหลดเกินขีดจำกัดสำหรับ Realtime Database
ระบบจำกัดจำนวนทรัพยากรที่คุณมีในแพ็กเกจ Spark เพื่อมอบราคาที่คาดการณ์ได้ ซึ่งหมายความว่า เมื่อใช้เกินขีดจำกัดของแพ็กเกจในเดือนใดก็ตาม ระบบจะปิดแอป เพื่อไม่ให้มีการใช้ทรัพยากรและการเรียกเก็บเงินเพิ่มเติมอีกในอนาคต
จะเกิดอะไรขึ้นหากฉันใช้งานเกินขีดจำกัดการเชื่อมต่อพร้อมกันของแพ็กเกจ Spark สำหรับ Realtime Database
เมื่อแอปถึงขีดจำกัดการเกิดขึ้นพร้อมกันในแพ็กเกจ Spark การเชื่อมต่อที่ตามมาจะถูกปฏิเสธจนกว่าจะปิดการเชื่อมต่อที่มีอยู่บางส่วน แอปจะยังใช้งานได้ต่อไปสำหรับผู้ใช้ที่เชื่อมต่อ
การผสานรวม Firebase กับ Google Cloud ทำงานอย่างไร
Firebase ผสานรวมกับ Google Cloud อย่างเต็มประสิทธิภาพแล้ว โปรเจ็กต์จะแชร์ระหว่าง Firebase และ Google Cloud ดังนั้นโปรเจ็กต์จึงสามารถเปิดใช้บริการ Firebase และบริการ Google Cloud ได้ คุณจะเข้าถึงโปรเจ็กต์เดียวกันได้จากคอนโซล Firebase หรือคอนโซล Google Cloud กล่าวโดยละเอียดคือ
- ผลิตภัณฑ์ Firebase บางอย่างได้รับการสนับสนุนจาก Google Cloud โดยตรง เช่น Cloud Storage for Firebase รายการผลิตภัณฑ์ที่ได้รับการสนับสนุนโดย Google Cloud จะเพิ่มขึ้นอย่างต่อเนื่อง
- การตั้งค่าหลายๆ อย่างของคุณ รวมถึงผู้ทำงานร่วมกันและข้อมูลสำหรับการเรียกเก็บเงินจะได้รับการแชร์จาก Firebase และ Google Cloud การใช้งานทั้ง Firebase และ Google Cloud จะปรากฏในใบเรียกเก็บเงินเดียวกัน
นอกจากนี้ เมื่ออัปเกรดเป็นแพ็กเกจ Blaze คุณจะใช้บริการโครงสร้างพื้นฐานและ API ระดับโลกของ Google Cloud ใดก็ได้ภายในโปรเจ็กต์ Firebase โดยตรงตามราคา Google Cloud มาตรฐาน นอกจากนี้ คุณยังส่งออกข้อมูลจาก Google Cloud ไปยัง BigQuery เพื่อทำการวิเคราะห์ได้โดยตรงอีกด้วย ดูข้อมูลเพิ่มเติมได้ที่ลิงก์ BigQuery กับ Firebase
การใช้ Google Cloud กับ Firebase มีประโยชน์มากมายที่ช่วยเพิ่มความปลอดภัย เพิ่มเวลาในการตอบสนอง และช่วยประหยัดเวลา (เมื่อเทียบกับบริการระบบคลาวด์อื่นๆ ที่ไม่ได้ตั้งอยู่ร่วม) ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ Google Cloud
จะเกิดอะไรขึ้นกับโปรเจ็กต์ Firebase หากฉันเพิ่มหรือนำบัญชีสำหรับการเรียกเก็บเงินของโปรเจ็กต์นั้นออกจากคอนโซล Google Cloud
หากคุณเพิ่มบัญชีสำหรับการเรียกเก็บเงินใน Cloud ไปยังโปรเจ็กต์ในคอนโซล Google Cloud โปรเจ็กต์เดียวกันจะได้รับการอัปเกรดเป็นแพ็กเกจ Firebase Blaze โดยอัตโนมัติหากโปรเจ็กต์ดังกล่าวอยู่ในแพ็กเกจ Spark
ในทางตรงกันข้าม หากมีการนำบัญชีสำหรับการเรียกเก็บเงินใน Cloud ที่ใช้งานอยู่ออกจากโปรเจ็กต์ในคอนโซล Google Cloud โปรเจ็กต์นั้นจะดาวน์เกรดเป็นแพ็กเกจ Firebase Spark
ฉันสามารถอัปเกรด ดาวน์เกรด หรือยกเลิกได้ทุกเมื่อหรือไม่
ได้ คุณสามารถอัปเกรด ดาวน์เกรด หรือยกเลิกได้ทุกเมื่อ โปรดทราบว่าเราจะไม่คืนเงินตามสัดส่วนสำหรับการดาวน์เกรดหรือการยกเลิก ซึ่งหมายความว่าหากคุณดาวน์เกรดหรือยกเลิกก่อนสิ้นสุดช่วงเวลาที่เรียกเก็บเงิน คุณยังคงต้องชำระเงินส่วนที่เหลือของเดือน
ฉันจะได้รับการสนับสนุนประเภทใด
แอป Firebase ทั้งหมด รวมถึงแอปที่ใช้แพ็กเกจที่ไม่มีค่าใช้จ่าย จะได้รับการสนับสนุนทางอีเมลจากเจ้าหน้าที่ Firebase ในช่วงเวลาทำการในสหรัฐอเมริกาของแปซิฟิก ทุกบัญชี รองรับปัญหาเกี่ยวกับการเรียกเก็บเงิน ปัญหาเกี่ยวกับบัญชี คำถามทางเทคนิค (การแก้ปัญหา) และรายงานเหตุการณ์ได้อย่างไม่จำกัด
ฉันจำกัดการใช้งานในแพ็กเกจ Blaze ได้ไหม
ไม่ได้ ขณะนี้คุณยังจำกัดการใช้งานแพ็กเกจ Blaze ไม่ได้ เรากำลังประเมินตัวเลือกสำหรับขีดจำกัดการรองรับการใช้งานแพ็กเกจ Blaze
ผู้ใช้ Blaze จะกำหนดงบประมาณสำหรับโปรเจ็กต์หรือบัญชีได้ และรับการแจ้งเตือนเมื่อการใช้จ่ายใกล้ถึงขีดจำกัดเหล่านั้น ดูวิธีตั้งค่าการแจ้งเตือนงบประมาณ
การสำรองข้อมูลอัตโนมัติคืออะไร คุณมีการสำรองข้อมูลรายชั่วโมงหรือไม่
การสำรองข้อมูลอัตโนมัติเป็นฟีเจอร์ขั้นสูงสำหรับลูกค้าในแผนการตั้งราคา Blaze ของเรา ซึ่งจะสำรองข้อมูลฐานข้อมูลเรียลไทม์ของ Firebase วันละครั้งและอัปโหลดไปที่ Google Cloud Storage
เราไม่มีการสำรองข้อมูลรายชั่วโมง
คุณมีส่วนลดสำหรับโอเพนซอร์ส องค์กรการกุศล หรือเพื่อการศึกษาหรือไม่
แพ็กเกจ Spark ของเราใช้ได้กับบุคคลหรือองค์กรทุกประเภท ซึ่งรวมถึงองค์กรการกุศล โรงเรียน และโปรเจ็กต์โอเพนซอร์ส เนื่องจากแพ็กเกจเหล่านี้มีโควต้าที่มากมายอยู่แล้ว เราจึงไม่มีส่วนลดหรือแพ็กเกจพิเศษสำหรับโปรเจ็กต์โอเพนซอร์ส องค์กรการกุศล หรือโปรเจ็กต์เพื่อการศึกษา
คุณเสนอสัญญาระดับองค์กร ราคา การสนับสนุน หรือโฮสติ้งโครงสร้างพื้นฐานโดยเฉพาะไหม
แพ็กเกจ Blaze ของเราเหมาะสำหรับองค์กรทุกขนาด และ SLA ของเราเป็นไปตามหรือสูงกว่ามาตรฐานอุตสาหกรรมสำหรับโครงสร้างพื้นฐานของระบบคลาวด์ อย่างไรก็ตาม ขณะนี้เราไม่มีสัญญา ราคา หรือการสนับสนุนระดับองค์กร ตลอดจนไม่มีโฮสติ้งโครงสร้างพื้นฐานเฉพาะ (ซึ่งก็คือการติดตั้งภายในองค์กร) สำหรับบริการอย่างเช่น Realtime Database ของเรา เรากำลังทำงานอย่างหนักเพื่อเพิ่มฟีเจอร์บางรายการเหล่านี้
คุณมีข้อเสนอการกำหนดราคาเฉพาะกิจหรือไม่ ฉันต้องการจ่ายเมื่อใช้ฟีเจอร์ 1-2 รายการเท่านั้น
เรามีราคาเฉพาะกิจในแพ็กเกจ Blaze ซึ่งคุณจะจ่ายเฉพาะฟีเจอร์ที่คุณใช้เท่านั้น
แผน Firebase แบบชำระเงินทำงานร่วมกับ Google Ads อย่างไร หากแพ็กเกจแบบชำระเงินมีเครดิตการโฆษณาโดยไม่มีค่าใช้จ่าย
แผนการตั้งราคาของ Firebase จะแยกจาก Google Ads ดังนั้น จึงไม่มีเครดิตการโฆษณาโดยไม่เสียค่าใช้จ่าย ในฐานะนักพัฒนาซอฟต์แวร์ Firebase คุณสามารถ "ลิงก์" บัญชี Google Ads กับ Firebase เพื่อรองรับเครื่องมือวัด Conversion ได้
แคมเปญโฆษณาทั้งหมดได้รับการจัดการใน Google Ads โดยตรง และ การเรียกเก็บเงินค่าโฆษณาจัดการจากคอนโซล Google Ads
ราคาของ Cloud Functions
ทำไมฉันถึงต้องมีบัญชีสำหรับการเรียกเก็บเงินเพื่อใช้ Cloud Functions for Firebase
Cloud Functions for Firebase จะใช้บริการบางอย่างของ Google ที่มีค่าใช้จ่าย การทำให้ฟังก์ชันใหม่ใช้งานได้ด้วย Firebase CLI 11.2.0 ขึ้นไปจะใช้ Cloud Build และ Artifact Registry การทำให้ใช้งานได้กับเวอร์ชันเก่าจะใช้ Cloud Build ในลักษณะเดียวกัน แต่ใช้ Container Registry และ Cloud Storage สำหรับพื้นที่เก็บข้อมูลแทน Artifact Registry ระบบจะเรียกเก็บเงินการใช้บริการเหล่านี้เพิ่มเติมจากราคาเดิม
พื้นที่เก็บข้อมูลสำหรับ Firebase CLI 11.2.0 และเวอร์ชันใหม่กว่า
Artifact Registry ระบุคอนเทนเนอร์ที่เรียกใช้ฟังก์ชัน Artifact Registry ให้ข้อมูล 500 MB แรกโดยไม่มีค่าใช้จ่าย ดังนั้นการทำให้ฟังก์ชันใช้งานครั้งแรกไม่มีค่าธรรมเนียมใดๆ หากถึงเกณฑ์นี้ ระบบจะเรียกเก็บเงิน $0.10 ต่อเดือนสำหรับพื้นที่เก็บข้อมูลเพิ่มเติมแต่ละ GB
พื้นที่เก็บข้อมูลสำหรับ Firebase CLI 11.1.x และเวอร์ชันก่อนหน้า
สำหรับฟังก์ชันที่ทำให้ใช้งานได้กับเวอร์ชันเก่า Container Registry จะระบุคอนเทนเนอร์ที่ฟังก์ชันทำงาน โดยระบบจะเรียกเก็บเงินสำหรับแต่ละคอนเทนเนอร์ที่จำเป็นต่อการทำให้ฟังก์ชันใช้งานได้ คุณอาจเห็นการเรียกเก็บเงินจำนวนเล็กน้อยสำหรับแต่ละคอนเทนเนอร์ที่จัดเก็บไว้ เช่น พื้นที่เก็บข้อมูล 1 GB เรียกเก็บเงิน $0.026 ต่อเดือน
หากต้องการทำความเข้าใจเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงการเรียกเก็บเงินของคุณ โปรดอ่านข้อมูลต่อไปนี้
- การกำหนดราคา Cloud Functions: ระดับที่ไม่มีค่าใช้จ่ายที่มีอยู่จะไม่มีการเปลี่ยนแปลง
- ราคาของ Cloud Build: Cloud Build ให้บริการในระดับที่ไม่มีค่าใช้จ่าย
- ราคาของ Artifact Registry
- ราคาของ Container Registry
Cloud Functions for Firebase จะยังคงใช้งานได้โดยไม่มีค่าใช้จ่ายไหม
ใช่ ในแพ็กเกจ Blaze นั้น Cloud Functions จะมีระดับที่ไม่มีค่าใช้จ่ายสำหรับการเรียกใช้ เวลาประมวลผล และการรับส่งข้อมูลอินเทอร์เน็ต จะมีการเรียกใช้ 2,000,000 ครั้งแรก, 400,000 GB-วินาที, CPU 200,000 วินาที และการรับส่งข้อมูลขาออกของอินเทอร์เน็ต 5 GB ในแต่ละเดือนโดยไม่มีค่าใช้จ่าย ระบบจะเรียกเก็บเงินเฉพาะ การใช้งานที่เกินเกณฑ์ดังกล่าว
หลังจากใช้พื้นที่เก็บข้อมูลแบบไม่มีค่าใช้จ่ายครบ 500 MB แรก การดำเนินการทำให้ใช้งานได้แต่ละครั้งจะมีค่าบริการจำนวนเล็กน้อยสำหรับพื้นที่เก็บข้อมูลที่ใช้สำหรับคอนเทนเนอร์ของฟังก์ชัน หากกระบวนการพัฒนาขึ้นอยู่กับการทำให้ฟังก์ชันใช้งานได้สำหรับการทดสอบ คุณสามารถลดค่าใช้จ่ายเพิ่มเติมได้โดยใช้ Firebase Local Emulator Suite ระหว่างการพัฒนา
ดูแผนการกำหนดราคา Firebase และตัวอย่างสถานการณ์ตัวอย่างการกำหนดราคา Cloud Functions
Firebase กำลังวางแผนที่จะเพิ่มโควต้าและขีดจำกัดสำหรับ Cloud Functions for Firebase หรือไม่
ไม่ ไม่มีแผนที่จะเปลี่ยนแปลงโควต้ายกเว้นการนำขีดจำกัดเวลาสูงสุดของการสร้างออก แทนที่จะได้รับข้อผิดพลาดหรือคำเตือนเมื่อโควต้าบิลด์รายวันถึง 120 นาที ระบบจะเรียกเก็บเงินจากคุณภายใต้ข้อกำหนดของแผนการตั้งราคา Blaze โปรดดูโควต้าและขีดจำกัด
ฉันจะรับเครดิตมูลค่า $300 จาก Google Cloud ได้ไหม
ได้ คุณสามารถสร้างบัญชีสำหรับการเรียกเก็บเงินใน Cloud ในคอนโซล Google Cloud เพื่อรับเครดิตมูลค่า $300 จากนั้นลิงก์บัญชีสำหรับการเรียกเก็บเงินใน Cloud ดังกล่าวกับโปรเจ็กต์ Firebase
ดูข้อมูลเพิ่มเติมเกี่ยวกับเครดิต Google Cloud ได้ที่นี่
โปรดทราบว่าหากทำเช่นนี้ คุณจะต้องตั้งค่าแผนการตั้งราคา Blaze ในคอนโซล Firebase เพื่อให้โปรเจ็กต์ทำงานต่อไปหลังจากที่เครดิตมูลค่า $300 หมดลงแล้ว
ฉันต้องการติดตาม Codelab เพื่อดูข้อมูลเกี่ยวกับ Firebase ฉันขอใช้บัญชีสำหรับการเรียกเก็บเงินชั่วคราวได้ไหม
ไม่ ขอโทษนะ คุณใช้โปรแกรมจำลอง Firebase เพื่อการพัฒนาได้โดยไม่ต้องมีบัญชีสำหรับการเรียกเก็บเงินใน Cloud หรือลองสมัคร ทดลองใช้ Google Cloud ฟรี หากคุณยังคงพบปัญหาในการชำระเงินเนื่องจากการเปลี่ยนแปลงนี้ โปรดติดต่อฝ่ายสนับสนุนของ Firebase
ฉันกังวลว่าจะต้องสร้างเงินก้อนใหญ่แน่ๆ
คุณตั้งการแจ้งเตือนงบประมาณในคอนโซล Google Cloud เพื่อช่วยควบคุมค่าใช้จ่ายได้ นอกจากนี้ คุณยังกำหนดขีดจำกัดสำหรับจำนวนอินสแตนซ์ที่เรียกเก็บเงินซึ่งสร้างขึ้นสำหรับฟังก์ชันแต่ละรายการได้ด้วย หากต้องการแนวคิดต้นทุนสำหรับสถานการณ์ทั่วไป โปรดดูตัวอย่างการกำหนดราคา Cloud Functions
ฉันจะตรวจสอบการเรียกเก็บเงินปัจจุบันได้อย่างไร
ดูหน้าแดชบอร์ดการใช้งานและการเรียกเก็บเงิน ในคอนโซล Firebase
ฉันใช้ Firebase Extensions ฉันต้องมีบัญชีสำหรับการเรียกเก็บเงินไหม
ใช่ เนื่องจากส่วนขยายใช้ Cloud Functions ส่วนขยายจึงจะมีค่าใช้จ่ายเหมือนกับฟังก์ชันอื่นๆ
หากต้องการใช้ส่วนขยาย คุณจะต้องอัปเกรดเป็นแผนการตั้งราคา Blaze ระบบจะเรียกเก็บเงินเล็กน้อย (ประมาณ $0.01 ต่อเดือนสำหรับทรัพยากร Firebase ที่จำเป็นสำหรับส่วนขยายแต่ละรายการที่ติดตั้ง (แม้ว่าจะไม่ได้ใช้งานก็ตาม) นอกเหนือจากค่าใช้จ่ายใดๆ ที่เกี่ยวข้องกับการใช้บริการ Firebase ของคุณ
ราคาของ Cloud Storage for Firebase
ฉันจะคาดการณ์จำนวนเงินที่จะเรียกเก็บสำหรับการอัปโหลดและดาวน์โหลดได้อย่างไร
ไปที่หน้าการกำหนดราคา Firebase และใช้เครื่องคำนวณแผน Blaze เครื่องคำนวณจะแสดงรายการประเภทการใช้งานทั้งหมดของ Cloud Storage for Firebase
ใช้แถบเลื่อนเพื่อป้อนการใช้งานที่เก็บข้อมูล Storage ที่คาดไว้ เครื่องคำนวณ จะประเมินการเรียกเก็บเงินรายเดือนของคุณ
จะเกิดอะไรขึ้นหากฉันอัปโหลดแพ็กเกจ Spark, ดาวน์โหลด หรือพื้นที่เก็บข้อมูลของ Cloud Storage สำหรับ Firebase เกินขีดจำกัด
เมื่อ Cloud Storage ในโปรเจ็กต์ในแพ็กเกจ Spark เกินขีดจำกัด ผลลัพธ์จะขึ้นอยู่กับประเภทของขีดจำกัดที่คุณเกินขีดจำกัด ดังนี้
- หากใช้พื้นที่เก็บข้อมูลเกินขีดจำกัด GB คุณจะจัดเก็บข้อมูลเพิ่มเติมในโปรเจ็กต์นั้นไม่ได้ จนกว่าจะนำข้อมูลบางส่วนที่เก็บไว้ออกหรืออัปเกรดเป็นแพ็กเกจที่มีพื้นที่เก็บข้อมูลมากขึ้น หรือมีพื้นที่เก็บข้อมูลไม่จำกัด
- หากคุณดาวน์โหลดเกินขีดจำกัดจำนวน GB ที่ดาวน์โหลดแล้ว แอปจะดาวน์โหลดข้อมูลเพิ่มเติมไม่ได้จนกว่าจะถึงวันถัดไป (เริ่มตั้งแต่เที่ยงคืน ตามเวลาแปซิฟิกของสหรัฐอเมริกา) เว้นแต่คุณจะอัปเกรดเป็นแพ็กเกจที่มีขีดจำกัดน้อยกว่าหรือไม่มีขีดจำกัด
- หากคุณอัปโหลดหรือดาวน์โหลดเกินขีดจำกัด แอปจะอัปโหลดหรือดาวน์โหลดข้อมูลเพิ่มเติมไม่ได้จนกว่าจะถึงวันถัดไป (เริ่มตั้งแต่เที่ยงคืน ตามเวลาแปซิฟิกของสหรัฐอเมริกา) เว้นแต่ว่าคุณจะอัปเกรดเป็นแพ็กเกจที่มีขีดจำกัดน้อยกว่า หรือไม่มีขีดจำกัด
ความเป็นส่วนตัว
ฉันจะหาข้อมูลเกี่ยวกับความเป็นส่วนตัวและความปลอดภัยใน Firebase ได้จากที่ใด
Firebase SDK บันทึกข้อมูลการใช้งาน/การวินิจฉัยนอก Analytics ไหม
ใช่ ปัจจุบันมีให้บริการเฉพาะ iOS เท่านั้น แต่อาจมีการเปลี่ยนแปลงในอนาคต SDK ของแพลตฟอร์ม Apple ใน Firebase จะมีเฟรมเวิร์ก FirebaseCoreDiagnostics
โดยค่าเริ่มต้น Firebase ใช้เฟรมเวิร์กนี้เพื่อรวบรวมข้อมูลการใช้งานและการวินิจฉัย SDK เพื่อช่วยจัดลำดับความสำคัญในการเพิ่มประสิทธิภาพผลิตภัณฑ์ในอนาคต คุณจะส่ง FirebaseCoreDiagnostics
หรือไม่ก็ได้ ดังนั้นหากต้องการเลือกไม่ใช้การส่งบันทึกการวินิจฉัยของ Firebase ก็ทำได้โดยยกเลิกการลิงก์ไลบรารีจากแอปพลิเคชัน คุณเรียกดูแหล่งที่มาทั้งหมด รวมถึงค่าที่บันทึกได้ใน GitHub
A/B Testing
การทดสอบ A/B: ฉันสามารถสร้างและเรียกใช้การทดสอบได้กี่รายการ
คุณสามารถทำการทดสอบได้สูงสุด 300 รายการต่อโปรเจ็กต์ ซึ่งอาจประกอบด้วยการทดสอบที่ทำงานอยู่สูงสุด 24 รายการ โดยส่วนที่เหลือเป็นฉบับร่างหรือเสร็จสมบูรณ์แล้ว
การทดสอบ A/B: เหตุใดฉันจึงดูการทดสอบไม่ได้หลังจากที่ยกเลิกการลิงก์และลิงก์โปรเจ็กต์กับ Google Analytics อีกครั้งแล้ว
การลิงก์กับพร็อพเพอร์ตี้ Google Analytics อื่นจะทำให้คุณเสียสิทธิ์เข้าถึงการทดสอบที่สร้างขึ้นล่วงหน้า หากต้องการรับสิทธิ์เข้าถึงการทดสอบก่อนหน้าอีกครั้ง ให้ลิงก์โปรเจ็กต์กับพร็อพเพอร์ตี้ Google Analytics ที่ลิงก์เมื่อสร้างการทดสอบอีกครั้ง
การทดสอบ A/B: เหตุใดฉันจึงได้รับข้อความ "โปรเจ็กต์ไม่ได้ลิงก์กับ Google Analytics" เมื่อสร้างการทดสอบการกำหนดค่าระยะไกล
หากคุณลิงก์ Firebase กับ Google Analytics แล้ว แต่ยังคงเห็นข้อความว่าไม่ได้ลิงก์ Google Analytics ให้ตรวจสอบว่ามีสตรีม Analytics สำหรับแอปทั้งหมดในโปรเจ็กต์ ปัจจุบันแอปทั้งหมดในโปรเจ็กต์ต้องเชื่อมต่อกับสตรีม Google Analytics เพื่อใช้ A/B Testing
คุณดูรายการสตรีมที่ใช้งานอยู่ทั้งหมดได้ในหน้ารายละเอียดการผสานรวม Google Analytics ภายในคอนโซล Firebase ซึ่งเข้าถึงได้จาก settingsการตั้งค่าโปรเจ็กต์ chevron_right การผสานรวม chevron_right Google Analytics chevron_right จัดการ
การสร้างสตรีม Google Analytics สำหรับแอปที่ไม่มีสตรีมอาจช่วยแก้ปัญหานี้ได้ การสร้างสตรีมสำหรับแอปที่หายไปทำได้หลายวิธี ดังนี้
-
หากมีเพียง 1-2 แอปที่ไม่มีสตรีม Google Analytics ที่เชื่อมโยงไว้ คุณสามารถเลือกวิธีใดวิธีหนึ่งต่อไปนี้เพื่อเพิ่มสตรีม Google Analytics
- ลบและเพิ่มแอปอีกครั้งที่ไม่มีสตรีมที่ใช้งานอยู่ในคอนโซล Firebase
- จากคอนโซล Google Analytics ให้เลือกผู้ดูแลระบบ คลิกสตรีมข้อมูล จากนั้นคลิกเพิ่มสตรีม เพิ่มรายละเอียดของแอปที่ขาดหายไป แล้วคลิกลงทะเบียนแอป
-
หากคุณมีสตรีมแอปที่หายไปมากกว่า 2-3 รายการ การยกเลิกการลิงก์และการลิงก์พร็อพเพอร์ตี้ Google Analytics อีกครั้งเป็นวิธีที่รวดเร็วและมีประสิทธิภาพที่สุดในการสร้างสตรีมแอปที่หายไป
- เลือกการผสานรวมจาก settings การตั้งค่าโปรเจ็กต์
- คลิกจัดการภายในการ์ด Google Analytics เพื่อเข้าถึงการตั้งค่า Firebase และ Google Analytics
- จดรหัสพร็อพเพอร์ตี้ของ Google Analytics และบัญชี Google Analytics ที่ลิงก์ไว้
- คลิก more_vert เพิ่มเติม แล้วเลือกยกเลิกการลิงก์ Analytics กับโปรเจ็กต์นี้
-
ตรวจสอบคําเตือนที่ปรากฏ (ไม่ต้องกังวลที่นี่ คุณจะลิงก์พร็อพเพอร์ตี้เดิมอีกครั้งในขั้นตอนถัดไป) จากนั้นคลิกยกเลิกการลิงก์ Google Analytics
เมื่อยกเลิกการลิงก์เสร็จแล้ว ระบบจะเปลี่ยนเส้นทางคุณไปยังหน้าการผสานรวม - คลิกเปิดใช้ภายในการ์ด Google Analytics เพื่อเริ่มกระบวนการลิงก์อีกครั้ง
- เลือกบัญชี Analytics จากรายการเลือกบัญชี
-
ถัดจากสร้างพร็อพเพอร์ตี้ใหม่ในบัญชีนี้โดยอัตโนมัติ ให้คลิก edit แก้ไข และเลือกรหัสพร็อพเพอร์ตี้จากรายการพร็อพเพอร์ตี้ Analytics ที่ปรากฏขึ้น
รายการแอปทั้งหมดในโปรเจ็กต์จะปรากฏขึ้น ระบบจะแสดงการแมปสตรีมที่มีอยู่สำหรับแต่ละแอป และแอปที่ไม่มีสตรีมจะมีการสร้างสตรีมไว้สำหรับแอปเหล่านั้น - คลิกเปิดใช้ Google Analytics เพื่อลิงก์พร็อพเพอร์ตี้อีกครั้ง
- คลิกเสร็จ
หากยังคงได้รับข้อผิดพลาดการสร้างการทดสอบ A/B ด้วยการกำหนดค่าระยะไกลหลังจากทำตามขั้นตอนเหล่านี้ โปรด ติดต่อทีมสนับสนุนของ Firebase
AdMob
AdMob: ฉันจะลิงก์แอป Windows กับ Firebase ได้ไหม
ไม่ได้ ปัจจุบันยังไม่รองรับแอป Windows
AdMob: เหตุใดฉันจึงลิงก์แอปกับ AdMob จากคอนโซล Firebase ไม่ได้
คุณสามารถลิงก์แอป AdMob กับแอป Firebase ผ่านคอนโซล AdMob ดูวิธีการ
AdMob: ฉันต้องมีสิทธิ์เข้าถึงหรือสิทธิ์เข้าถึงใดบ้างเพื่อลิงก์แอป Firebase กับแอป AdMob
คุณต้องมีสิทธิ์เข้าถึงต่อไปนี้จึงจะลิงก์ได้
- AdMob: คุณต้องเป็นผู้ดูแลระบบ AdMob
- Firebase: คุณต้องมีสิทธิ์
firebase.links.create
ซึ่งอยู่ในบทบาทของเจ้าของและบทบาทผู้ดูแลระบบ Firebase - Google Analytics: คุณต้องมีบทบาทแก้ไขหรือจัดการผู้ใช้ สำหรับพร็อพเพอร์ตี้ที่เชื่อมโยงกับโปรเจ็กต์ Firebase ดูข้อมูลเพิ่มเติม
AdMob: ผู้ใช้หลายคนในบัญชี AdMob เดียวกันจะลิงก์แอป AdMob กับแอป Firebase ได้ไหม
สำหรับบัญชี AdMob ที่มีผู้ใช้หลายคน ผู้ใช้ที่สร้างลิงก์ Firebase แรกและยอมรับข้อกำหนดในการให้บริการของ Firebase คือผู้ใช้รายเดียวที่สร้างลิงก์ใหม่ระหว่างแอป AdMob กับแอป Firebase ได้
AdMob: ฉันควรใช้ SDK ใดจึงจะใช้ AdMob ได้
หากต้องการใช้ AdMob ให้ใช้ Google Mobile Ads SDK ทุกครั้งตามที่อธิบายไว้ในคำถามที่พบบ่อยนี้ นอกจากนี้ หากคุณต้องการรวบรวมเมตริกผู้ใช้สำหรับ AdMob ให้รวม Firebase SDK สำหรับ Google Analytics ไว้ในแอปด้วย (ไม่บังคับ)
- สําหรับโปรเจ็กต์ iOS:
นําเข้า SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google โดยทําตามวิธีการในเอกสารประกอบของ AdMob iOS - สำหรับโปรเจ็กต์ Android:
เพิ่มทรัพยากร Dependency สำหรับ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google ลงในไฟล์build.gradle
ดังนี้
implementation 'com.google.android.gms:play-services-ads:23.0.0'
- สำหรับโปรเจ็กต์ C++ และโปรเจ็กต์ Unity ให้ทำตามวิธีการในเอกสารประกอบที่เกี่ยวข้อง
Analytics
Analytics: เหตุใด Google Analytics จึงจึงเป็นส่วนที่แนะนําในการใช้ผลิตภัณฑ์ Firebase
Google Analytics เป็นโซลูชันด้านข้อมูลวิเคราะห์ที่ฟรีและใช้ได้ไม่จำกัดซึ่งทำงานร่วมกับฟีเจอร์ของ Firebase เพื่อมอบข้อมูลเชิงลึกที่มีประสิทธิภาพ ซึ่งช่วยให้คุณดูบันทึกเหตุการณ์ใน Crashlytics, ประสิทธิภาพการแจ้งเตือนใน FCM, ประสิทธิภาพ Deep Link สำหรับลิงก์แบบไดนามิก และข้อมูลการซื้อในแอปจาก Google Play ได้ ซึ่งจะขับเคลื่อนการกำหนดกลุ่มเป้าหมายขั้นสูงในการกำหนดค่าระยะไกล การปรับเปลี่ยนการกำหนดค่าระยะไกลในแบบของคุณ และอื่นๆ
Google Analytics ทำหน้าที่เป็นชั้นข้อมูลอัจฉริยะในคอนโซล Firebase ที่จะให้ข้อมูลเชิงลึกที่นำไปใช้ได้จริงเพิ่มเติมเกี่ยวกับวิธีพัฒนาแอปคุณภาพสูง ขยายฐานผู้ใช้ และสร้างรายได้เพิ่ม
โปรดอ่านเอกสารประกอบเพื่อเริ่มต้นใช้งาน
Analytics: ฉันจะควบคุมวิธีการแชร์ข้อมูล Analytics กับ Firebase ที่เหลือได้อย่างไร
โดยค่าเริ่มต้น ข้อมูล Google Analytics ของคุณจะใช้เพื่อเพิ่มประสิทธิภาพ Firebase และฟีเจอร์อื่นๆ ของ Google คุณควบคุมวิธีแชร์ข้อมูล Google Analytics ในการตั้งค่าโปรเจ็กต์ได้ทุกเมื่อ ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าการแชร์ข้อมูล
Analytics: ฉันจะอัปเดตการตั้งค่าพร็อพเพอร์ตี้ Analytics ได้อย่างไร
จากหน้าผู้ดูแลระบบในพร็อพเพอร์ตี้ Google Analytics คุณสามารถอัปเดตการตั้งค่าพร็อพเพอร์ตี้ได้ เช่น
- การตั้งค่าการแชร์ข้อมูล
- การตั้งค่าการเก็บรักษาข้อมูล
- การตั้งค่าเขตเวลาและสกุลเงิน
โปรดทำตามขั้นตอนต่อไปนี้เพื่ออัปเดตการตั้งค่าพร็อพเพอร์ตี้
- ในคอนโซล Firebase ให้ไปที่ settings > การตั้งค่าโปรเจ็กต์
- ไปที่แท็บการผสานรวม จากนั้นในการ์ด Google Analytics ให้คลิกจัดการหรือดูลิงก์
- คลิกลิงก์สำหรับบัญชี Google Analytics เพื่อเปิดการตั้งค่าบัญชีและพร็อพเพอร์ตี้
Analytics ในแอป iOS: ฉันจะติดตั้ง Analytics โดยไม่ใช้ฟีเจอร์การระบุแหล่งที่มาโฆษณาและการรวบรวม IDFA ได้ไหม
ใช่ ดูรายละเอียดเพิ่มเติมได้ที่หน้า กำหนดค่าการเก็บรวบรวมและการใช้ข้อมูล
Analytics: มีอะไรเปลี่ยนแปลงบ้างในส่วน Google Analytics ของข้อมูลอัปเดตเดือนตุลาคม 2021
คุณดูสรุปการเปลี่ยนแปลงเหล่านี้ได้ในบทความฟังก์ชันใหม่ของ Google Analytics 4 ใน Google Analytics สำหรับ Firebase ในศูนย์ช่วยเหลือของ Firebase
Analytics: เหตุใดฉันจึงไม่เห็นข้อมูล Analytics ในคอนโซล Firebase หลังจากที่ยกเลิกการลิงก์ Firebase จาก Google Analytics
ข้อมูล Analytics อยู่ในพร็อพเพอร์ตี้ Google Analytics ไม่ใช่ภายในโปรเจ็กต์ Firebase หากคุณลบหรือยกเลิกการลิงก์พร็อพเพอร์ตี้ Firebase จะเข้าถึงข้อมูล Analytics ไม่ได้ และจะเห็นแดชบอร์ด Analytics ที่ว่างเปล่าในคอนโซล Firebase โปรดทราบว่าเนื่องจากข้อมูลยังคงอยู่ในพร็อพเพอร์ตี้ที่ลิงก์ก่อนหน้านี้ คุณจึงลิงก์พร็อพเพอร์ตี้กับ Firebase อีกครั้งได้ทุกเมื่อและดูข้อมูล Analytics ในคอนโซล Firebase
การลิงก์บัญชี Google Analytics ใหม่ (ซึ่งเป็นพร็อพเพอร์ตี้ Google Analytics ใหม่) กับโปรเจ็กต์ Firebase จะทำให้หน้าแดชบอร์ด Analytics ว่างเปล่าในคอนโซล Firebase แต่หากพร็อพเพอร์ตี้ที่ลิงก์ก่อนหน้านี้ยังคงมีอยู่ คุณจะย้ายข้อมูลที่มีอยู่จากพร็อพเพอร์ตี้เดิมไปยังพร็อพเพอร์ตี้ใหม่ได้
Analytics: หากพร็อพเพอร์ตี้ Analytics และข้อมูลของพร็อพเพอร์ตี้ถูกลบ มีวิธีที่จะนำกลับคืนมาได้ไหม
ไม่ได้ หากพร็อพเพอร์ตี้ของคุณถูกลบไปแล้ว คุณจะยกเลิกการลบพร็อพเพอร์ตี้หรือดึงข้อมูล Analytics ที่รวบรวมไว้ก่อนหน้านี้ซึ่งจัดเก็บไว้ในพร็อพเพอร์ตี้นั้นไม่ได้
หากต้องการเริ่มใช้ Google Analytics อีกครั้ง คุณจะลิงก์พร็อพเพอร์ตี้ใหม่หรือพร็อพเพอร์ตี้ที่มีอยู่กับโปรเจ็กต์ Firebase ได้ คุณลิงก์ได้ในคอนโซล Firebase หรือ UI ของ Google Analytics ดูข้อมูลเพิ่มเติมเกี่ยวกับการลิงก์พร็อพเพอร์ตี้ Google Analytics กับโปรเจ็กต์ Firebase
Analytics: หากพร็อพเพอร์ตี้ Analytics ของฉันถูกลบ ฉันจะลิงก์พร็อพเพอร์ตี้ Google Analytics ใหม่กับโปรเจ็กต์ Firebase และเริ่มใช้ Analytics อีกครั้งได้ไหม
หากต้องการเริ่มใช้ Google Analytics อีกครั้ง คุณจะลิงก์พร็อพเพอร์ตี้ใหม่หรือพร็อพเพอร์ตี้ที่มีอยู่กับโปรเจ็กต์ Firebase ได้ คุณลิงก์ได้ในคอนโซล Firebase หรือ UI ของ Google Analytics ดูข้อมูลเพิ่มเติมเกี่ยวกับการลิงก์พร็อพเพอร์ตี้ Google Analytics กับโปรเจ็กต์ Firebase
โปรดทราบว่าเนื่องจากข้อมูล Analytics ทั้งหมดจัดเก็บไว้ในพร็อพเพอร์ตี้ (ไม่ใช่โปรเจ็กต์ Firebase) คุณจึงไม่สามารถดึงข้อมูล Analytics ที่รวบรวมไว้ก่อนหน้านี้ได้
Analytics: ผลิตภัณฑ์ Firebase หรือผลิตภัณฑ์ Google ที่ผสานรวมจะได้รับผลกระทบจากการลบพร็อพเพอร์ตี้ Analytics อย่างไร
ผลิตภัณฑ์ Firebase หลายผลิตภัณฑ์ใช้การผสานรวม Google Analytics หากพร็อพเพอร์ตี้ Analytics และข้อมูลของพร็อพเพอร์ตี้ถูกลบ สิ่งที่จะเกิดขึ้นหากคุณใช้ผลิตภัณฑ์ต่อไปนี้
- Crashlytics - คุณจะไม่เห็นผู้ใช้ที่ไม่พบข้อขัดข้อง บันทึกเบรดครัมบ์ และ/หรือการแจ้งเตือนอัตราความเร็วอีกต่อไป
- Cloud Messaging และการรับส่งข้อความในแอป — คุณจะใช้การกำหนดเป้าหมาย เมตริกแคมเปญ การแบ่งกลุ่มกลุ่มเป้าหมาย และป้ายกำกับข้อมูลวิเคราะห์ไม่ได้อีกต่อไป
- การกำหนดค่าระยะไกล — คุณจะใช้การกำหนดค่าเป้าหมายหรือการปรับเปลี่ยนในแบบของคุณไม่ได้อีกต่อไป
- การทดสอบ A/B — คุณจะใช้การทดสอบ A/B ไม่ได้อีกต่อไปเนื่องจาก Google Analytics เป็นผู้วัดผลการทดสอบ
- ลิงก์แบบไดนามิก — ฟีเจอร์ที่ใช้ข้อมูลจาก Google Analytics จะหยุดชะงัก
นอกจากนี้ การผสานรวมต่อไปนี้จะได้รับผลกระทบด้วย
- คุณจะส่งออกข้อมูล Analytics ไปยัง BigQuery ไม่ได้อีกต่อไป
- คุณจะใช้ประโยชน์จากการผสานรวม Google Ads หรือการผสานรวม Google AdMob ไม่ได้อีกต่อไป
Analytics: ฉันจะแบ่งกลุ่มผู้ใช้ที่ไม่ตรงตามเกณฑ์บางอย่างได้อย่างไร
คุณสามารถจัดกรอบปัญหาใหม่ได้โดย "กำหนดเป้าหมายในเชิงลบ" กับผู้ใช้เหล่านี้ เช่น วางกรอบโจทย์ใหม่เป็น "ไม่แสดงโฆษณาต่อผู้ที่ซื้อสินค้า" แล้วกำหนดกลุ่มเป้าหมายของผู้ใช้เหล่านั้นเพื่อกำหนดเป้าหมาย
Analytics: กลุ่มเป้าหมายและ/หรือเหตุการณ์ที่กำหนดไว้ในอินเทอร์เฟซ Google Analytics มีให้ใช้งานในคอนโซล Firebase ด้วยหรือไม่
ระบบจะซิงค์กลุ่มเป้าหมายและพร็อพเพอร์ตี้ผู้ใช้ของคุณ สำหรับฟีเจอร์บางอย่าง คุณจะต้องใช้อินเทอร์เฟซ Google Analytics เช่น การแบ่งกลุ่มและกระบวนการแบบปิด คุณเข้าถึงอินเทอร์เฟซ Google Analytics ได้โดยตรงผ่าน Deep Link จากคอนโซล Firebase
การเปลี่ยนแปลงที่คุณทำจากคอนโซล Firebase สามารถดำเนินการใน Google Analytics ได้เช่นกัน และการเปลี่ยนแปลงเหล่านั้นจะแสดงใน Firebase
การตรวจสอบสิทธิ์
การตรวจสอบสิทธิ์ Firebase: ประเทศใดรองรับการตรวจสอบสิทธิ์ทางโทรศัพท์
การตรวจสอบสิทธิ์ Firebase รองรับการยืนยันหมายเลขโทรศัพท์ทั่วโลก แต่บางเครือข่ายไม่สามารถส่งข้อความยืนยันได้อย่างน่าเชื่อถือ ประเทศต่อไปนี้มีอัตราการจัดส่งที่ดี และควรที่จะทำงานได้ดีสำหรับการลงชื่อเข้าใช้ด้วยหมายเลขโทรศัพท์
ประเทศ | รหัส |
---|---|
ค.ศ. | อันดอร์รา |
AE | สหรัฐอาหรับเอมิเรตส์ |
อัตโนมัติ | อัฟกานิสถาน |
AG | แอนติกาและบาร์บูดา |
แอละแบมา | แอลเบเนีย |
AM | อาร์เมเนีย |
AO | แองโกลา |
AR | อาร์เจนตินา |
ชื่อ | อเมริกันซามัว |
เมื่อ | ออสเตรีย |
AU | ออสเตรเลีย |
AW | อารูบา |
กฮ | อาเซอร์ไบจาน |
ห้องน้ำ | บอสเนียและเฮอร์เซโกวีนา |
BB | บาร์เบโดส |
BD | บังกลาเทศ |
BE | เบลเยียม |
BF | บูร์กินาฟาโซ |
BG | บัลแกเรีย |
BJ | เบนิน |
BM | เบอร์มิวดา |
นวล | บรูไนดารุสซาลาม |
โบลิเวีย | โบลิเวีย |
บราซิล | บราซิล |
สำเนาลับ | บาฮามาส |
บลูทูธ | ภูฏาน |
ขาวดำ | บอตสวานา |
โดย | เบลารุส |
BZ | เบลีซ |
CA | แคนาดา |
CD | คองโก (กินชาซา) |
CF | สาธารณรัฐแอฟริกากลาง |
CG | คองโก (บราซซาวิล) |
CH | สวิตเซอร์แลนด์ |
CI | โกตดิวัวร์ |
CK | หมู่เกาะคุก |
ชิลี | ชิลี |
CM | แคเมอรูน |
โคโลราโด | โคลอมเบีย |
คำตอบสำเร็จรูป | คอสตาริกา |
CV | เคปเวิร์ด |
CANNOT TRANSLATE | คูราเซา |
ไซไฟ | ไซปรัส |
CZ | สาธารณรัฐเช็ก |
DE | เยอรมนี |
ดีเจ | จิบูตี |
เดนมาร์ก | เดนมาร์ก |
ส่งข้อความโดยตรง | โดมินิกา |
ควรทำ | สาธารณรัฐโดมินิกัน |
นิวซีแลนด์ | แอลจีเรีย |
EC | เอกวาดอร์ |
ตัวอย่าง | อียิปต์ |
ES | สเปน |
ET | เอธิโอเปีย |
FI | ฟินแลนด์ |
เอฟเจ | ฟิจิ |
ยิงประตู | หมู่เกาะฟอล์กแลนด์ (มัลวีนัส) |
เอฟเอ็ม | ไมโครนีเซีย, สหพันธรัฐ |
FO | หมู่เกาะแฟโร |
ฝรั่งเศส | ฝรั่งเศส |
GA | กาบอง |
GB | สหราชอาณาจักร |
GD | เกรนาดา |
GE | จอร์เจีย |
ได้ | เฟรนช์เกียนา |
นาฬิกา | เกิร์นซีย์ |
GH | กานา |
ภูมิศาสตร์ | ยิบรอลตา |
GLS | กรีนแลนด์ |
ผู้จัดการ | แกมเบีย |
แข่ง | กัวเดอลุป |
GQ | อิเควทอเรียลกินี |
GR | กรีซ |
แข่ง | กัวเตมาลา |
จ | กายอานา |
HK | ฮ่องกง เขตปกครองพิเศษประเทศจีน |
HN | ฮอนดูรัส |
HR | โครเอเชีย |
HT | เฮติ |
HU | ฮังการี |
ID | อินโดนีเซีย |
ไอร์แลนด์ | ไอร์แลนด์ |
IL | อิสราเอล |
IM | เกาะแมน |
IN | อินเดีย |
ไอคิว | อิรัก |
ไอที | อิตาลี |
เจอี | เจอร์ซีย์ |
จ.ม. | จาเมกา |
JO | จอร์แดน |
ญี่ปุ่น | ญี่ปุ่น |
KE | เคนยา |
กก. | คีร์กีซสถาน |
กม. | กัมพูชา |
กม. | คอโมโรส |
KN | เซนต์คิตส์และเนวิส |
KR | เกาหลีใต้ |
กิโลวัตต์ | คูเวต |
KY | หมู่เกาะเคย์แมน |
เกาหลี | คาซัคสถาน |
ลอสแอนเจลิส | สาธารณรัฐประชาธิปไตยประชาชนลาว |
เลกบาย | เลบานอน |
แอลซี | เซนต์ลูเชีย |
ลี | ลิกเตนสไตน์ |
แอลเค | ศรีลังกา |
ซ้าย | เลโซโท |
LT | ลิทัวเนีย |
ลู | ลักเซมเบิร์ก |
LV | ลัตเวีย |
Ly | ลิเบีย |
แมสซาชูเซตส์ | โมร็อกโก |
แมริแลนด์ | มอลโดวา |
ฉัน | มอนเตเนโกร |
ชญ | เซนต์มาร์ติน (ส่วนหนึ่งของฝรั่งเศส) |
มิลลิกรัม | มาดากัสการ์ |
พันล้าน | สาธารณรัฐมาซิโดเนีย |
ดด | เมียนมา |
มินนิโซตา | มองโกเลีย |
จ. | มาเก๊า เขตปกครองพิเศษประเทศจีน |
MS | มอนต์เซอร์รัต |
MT | มอลตา |
MU | มอริเชียส |
เมกะวัตต์ | มาลาวี |
MX | เม็กซิโก |
MY | มาเลเซีย |
MZ | โมซัมบิก |
NA | นามิเบีย |
นอร์ทแคโรไลนา | นิวแคลิโดเนีย |
NE | ไนเจอร์ |
NF | เกาะนอร์ฟอล์ก |
NG | ไนจีเรีย |
นีโอ | นิการากัว |
NL | เนเธอร์แลนด์ |
ไม่ | นอร์เวย์ |
ขั้วโลกเหนือ | เนปาล |
NZ | นิวซีแลนด์ |
โอมาน | โอมาน |
PA | ปานามา |
PE | เปรู |
PG | ปาปัวนิวกินี |
PH | ฟิลิปปินส์ |
ลูกโทษ | ปากีสถาน |
PL | โปแลนด์ |
PM | แซงปิแยร์และมีเกอลง |
PR | เปอร์โตริโก |
การตัดสินด้วยการยิงจุดโทษ | ดินแดนปาเลสไตน์ |
PT | โปรตุเกส |
PY | ปารากวัย |
QA | กาตาร์ |
อ้างถึง | เรอูนียง |
RO | โรมาเนีย |
RS | เซอร์เบีย |
รัสเซีย | สหพันธรัฐรัสเซีย |
ขวา | รวันดา |
SA | ซาอุดีอาระเบีย |
เซาท์แคโรไลนา | เซเชลส์ |
สวีเดน | สวีเดน |
SG | สิงคโปร์ |
ดวลจุดโทษ | เซนต์เฮเลนา |
SI | สโลวีเนีย |
SK | สโลวาเกีย |
SL | เซียร์ราลีโอน |
หมายเลข SN | เซเนกัล |
SR | ซูรินาเม |
ST | เซาตูเมและปรินซิปี |
SV | เอลซัลวาดอร์ |
แอฟริกาใต้ | สวาซิแลนด์ |
TC | หมู่เกาะเติกส์และหมู่เกาะเคคอส |
ทัชดาวน์ | โตโก |
ไทย | ไทย |
TL | ติมอร์เลสเต |
TM | เติร์กเมนิสถาน |
TO | ตองกา |
TR | ไก่งวง |
TT | ตรินิแดดและโตเบโก |
ไต้หวัน | ไต้หวัน, สาธารณรัฐจีน |
TZ | แทนซาเนีย, สหสาธารณรัฐ |
UA | ยูเครน |
UG | ยูกันดา |
สหรัฐอเมริกา | สหรัฐอเมริกา |
UY | อุรุกวัย |
สหรัฐอาหรับเอมิเรตส์ | อุซเบกิสถาน |
การประชุมทางวิดีโอ | เซนต์วินเซนต์และเกรนาดีนส์ |
วีเจ | เวเนซุเอลา (สาธารณรัฐโบลิวาร์) |
วีจี | หมู่เกาะบริติชเวอร์จิน |
VI | หมู่เกาะเวอร์จิน (สหรัฐอเมริกา) |
VN | เวียดนาม |
ตะวันตก | ซามัว |
ใช่ | เยเมน |
YT | มายอต |
ZA | แอฟริกาใต้ |
ZM | แซมเบีย |
ตะวันตกเฉียงใต้ | ซิมบับเว |
การตรวจสอบสิทธิ์ Firebase: ฉันจะป้องกันการละเมิดทาง SMS เมื่อใช้การตรวจสอบสิทธิ์ทางโทรศัพท์ได้อย่างไร
หากต้องการช่วยปกป้องโปรเจ็กต์จากการเพิ่มปริมาณการรับส่งข้อมูล SMS และการละเมิด API ให้ทำตามขั้นตอนต่อไปนี้
ลองตั้งค่านโยบายภูมิภาค SMS
-
มองหาภูมิภาคที่มีจำนวน SMS ที่ส่งเป็นจำนวนมาก และมี SMS ที่ยืนยันแล้วจำนวนน้อยมาก (หรือ 0) อัตราส่วนของการยืนยันแล้ว/ส่งคืออัตราความสำเร็จของคุณ อัตราความสำเร็จที่ดีมักจะอยู่ในช่วง 70-85% เนื่องจาก SMS ไม่ใช่โปรโตคอลการนำส่งที่รับประกัน และบางภูมิภาคอาจประสบปัญหาการละเมิด อัตราความสำเร็จที่ต่ำกว่า 50% หมายความว่ามีการส่ง SMS จำนวนมาก แต่มีการเข้าสู่ระบบที่สำเร็จเพียงไม่กี่ครั้ง ซึ่งเป็นสัญญาณทั่วไปของผู้ไม่ประสงค์ดีและการเข้าชม SMS ที่เพิ่มขึ้น
ใช้นโยบายภูมิภาคของ SMS เพื่อปฏิเสธภูมิภาค SMS ที่มีอัตราความสำเร็จต่ำ หรืออนุญาตเฉพาะบางภูมิภาคหากแอปมีไว้เพื่อการเผยแพร่ในบางตลาดเท่านั้น
จำกัดโดเมนการตรวจสอบสิทธิ์ที่ได้รับอนุญาต
ใช้หน้าแดชบอร์ดการตั้งค่าการตรวจสอบสิทธิ์เพื่อจัดการโดเมนที่ได้รับอนุญาต ระบบจะเพิ่มโดเมน localhost
ไปยังโดเมนการตรวจสอบสิทธิ์ที่ได้รับอนุมัติโดยค่าเริ่มต้นเพื่อลดความซับซ้อนของการพัฒนา ลองนำ localhost
ออกจากโดเมนที่ได้รับอนุญาตในโปรเจ็กต์ที่ใช้งานจริงเพื่อป้องกันไม่ให้ผู้ไม่ประสงค์ดีเรียกใช้โค้ดในของพวกเขา localhost
เพื่อเข้าถึงโปรเจ็กต์การผลิตของคุณ
เปิดใช้และบังคับใช้ App Check
เปิดใช้ App Check เพื่อช่วยปกป้องโปรเจ็กต์จากการละเมิด API โดยรับรองว่าคำขอมาจากแอปพลิเคชันที่เชื่อมโยงกับโปรเจ็กต์ของคุณเท่านั้น
หากต้องการใช้ App Check กับการตรวจสอบสิทธิ์ Firebase คุณต้องอัปเกรดเป็นการตรวจสอบสิทธิ์ Firebase ด้วย Identity Platform
โปรดทราบว่าคุณต้องบังคับใช้ App Check สำหรับการตรวจสอบสิทธิ์ในคอนโซล Firebase (โปรดพิจารณาการตรวจสอบการเข้าชมก่อนบังคับใช้) นอกจากนี้ ให้ตรวจสอบรายการเว็บไซต์ที่อนุมัติ reCAPTCHA Enterprise อีกครั้งเพื่อให้แน่ใจว่ามีเฉพาะเว็บไซต์เวอร์ชันที่ใช้งานจริงของคุณ และรายการแอปพลิเคชันที่ลงทะเบียนไว้กับโปรเจ็กต์ใน App Check นั้นถูกต้อง
โปรดทราบว่า App Check จะช่วยป้องกันการโจมตีอัตโนมัติด้วยการยืนยันว่าการเรียกมาจากแอปพลิเคชันที่ลงทะเบียนไว้ การดำเนินการนี้ไม่ได้ป้องกันไม่ให้ผู้ใช้ใช้แอปของคุณโดยไม่ได้ตั้งใจ (เช่น เริ่มแล้วต้องทำตามขั้นตอนการเข้าสู่ระบบเพื่อสร้าง SMS ที่ส่งไปโดยไม่ดำเนินการให้เสร็จ)
การตรวจสอบสิทธิ์ Firebase: ทําไมฉันจึงได้รับข้อผิดพลาดต่อไปนี้ในแอป Android
Google sign in failed
Google sign in failed
ทำตามขั้นตอนการแก้ปัญหาในคำถามที่พบบ่อยนี้หากคุณได้รับข้อผิดพลาดต่อไปนี้
GoogleFragment: Google sign in failed
com.google.android.gms.common.api.ApiException: 13: Unable to get token.
at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
ตรวจสอบว่าได้เปิดใช้ Google Sign-In เป็นผู้ให้บริการการตรวจสอบสิทธิ์อย่างถูกต้อง ดังนี้
ในคอนโซล Firebase ให้เปิดส่วนการตรวจสอบสิทธิ์
ในแท็บวิธีการลงชื่อเข้าใช้ ให้ปิดใช้แล้วเปิดใช้วิธีการลงชื่อเข้าใช้ของ Google อีกครั้ง (แม้ว่าจะเปิดใช้อยู่แล้ว) ให้ทำดังนี้
เปิดวิธีการลงชื่อเข้าใช้ของ Google แล้วปิดใช้ จากนั้นคลิกบันทึก
เปิดวิธีการลงชื่อเข้าใช้ Google อีกครั้ง เปิดใช้ แล้วคลิกบันทึก
ตรวจสอบว่าแอปใช้ไฟล์การกำหนดค่า Firebase เวอร์ชันล่าสุด (
google-services.json
)
รับไฟล์การกำหนดค่าของแอปตรวจสอบว่าคุณยังคงได้รับข้อผิดพลาดอยู่หรือไม่ หากยังพบปัญหาอยู่ ให้ไปยัง ขั้นตอนการแก้ปัญหาถัดไป
ตรวจสอบว่ามีไคลเอ็นต์ OAuth 2.0 ที่จำเป็นอยู่
ไปที่หน้าข้อมูลเข้าสู่ระบบของคอนโซล Google Cloud ในส่วนรหัสไคลเอ็นต์ OAuth 2.0
หากไม่มีไคลเอ็นต์ OAuth 2.0 (และคุณได้ทำตามขั้นตอนการแก้ปัญหาข้างต้นครบทั้งหมดแล้ว) โปรดติดต่อฝ่ายสนับสนุน
การตรวจสอบสิทธิ์ Firebase: ในแอปแพลตฟอร์มของ Apple ทําไมฉันจึงได้รับข้อผิดพลาดต่อไปนี้
You must specify <clientID> in <GIDConfiguration>
You must specify <clientID> in <GIDConfiguration>
ทำตามขั้นตอนการแก้ปัญหาในคำถามที่พบบ่อยนี้หากคุณได้รับข้อผิดพลาดต่อไปนี้
You must specify |clientID| in |GIDConfiguration|
ตรวจสอบว่าได้เปิดใช้ Google Sign-In เป็นผู้ให้บริการการตรวจสอบสิทธิ์อย่างถูกต้อง ดังนี้
ในคอนโซล Firebase ให้เปิดส่วนการตรวจสอบสิทธิ์
ในแท็บวิธีการลงชื่อเข้าใช้ ให้ปิดใช้แล้วเปิดใช้วิธีการลงชื่อเข้าใช้ของ Google อีกครั้ง (แม้ว่าจะเปิดใช้อยู่แล้ว) ให้ทำดังนี้
เปิดวิธีการลงชื่อเข้าใช้ของ Google แล้วปิดใช้ จากนั้นคลิกบันทึก
เปิดวิธีการลงชื่อเข้าใช้ Google อีกครั้ง เปิดใช้ แล้วคลิกบันทึก
ตรวจสอบว่าแอปใช้ไฟล์การกำหนดค่า Firebase เวอร์ชันล่าสุด (
GoogleService-Info.plist
)
รับไฟล์การกำหนดค่าของแอปตรวจสอบว่าคุณยังคงได้รับข้อผิดพลาดอยู่หรือไม่ หากยังพบปัญหาอยู่ ให้ไปยัง ขั้นตอนการแก้ปัญหาถัดไป
ตรวจสอบว่ามีไคลเอ็นต์ OAuth 2.0 ที่จำเป็นอยู่
ไปที่หน้าข้อมูลเข้าสู่ระบบของคอนโซล Google Cloud ในส่วนรหัสไคลเอ็นต์ OAuth 2.0
หากไม่มีไคลเอ็นต์ OAuth 2.0 (และคุณได้ทำตามขั้นตอนการแก้ปัญหาข้างต้นครบทั้งหมดแล้ว) โปรดติดต่อฝ่ายสนับสนุน
การตรวจสอบสิทธิ์ Firebase: ทําไมฉันจึงได้รับข้อผิดพลาดต่อไปนี้ในเว็บแอป
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
ทำตามขั้นตอนการแก้ปัญหาในคำถามที่พบบ่อยนี้หากคุณได้รับข้อผิดพลาดต่อไปนี้
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
ตรวจสอบว่าได้เปิดใช้ Google Sign-In เป็นผู้ให้บริการการตรวจสอบสิทธิ์อย่างถูกต้อง ดังนี้
ในคอนโซล Firebase ให้เปิดส่วนการตรวจสอบสิทธิ์
ในแท็บวิธีการลงชื่อเข้าใช้ ให้ปิดใช้แล้วเปิดใช้วิธีการลงชื่อเข้าใช้ของ Google อีกครั้ง (แม้ว่าจะเปิดใช้อยู่แล้ว) ให้ทำดังนี้
เปิดวิธีการลงชื่อเข้าใช้ของ Google แล้วปิดใช้ จากนั้นคลิกบันทึก
เปิดวิธีการลงชื่อเข้าใช้ Google อีกครั้ง เปิดใช้ แล้วคลิกบันทึก
นอกจากนี้ ในส่วนการกำหนดค่าผู้ให้บริการลงชื่อเข้าใช้ Google ของส่วนการตรวจสอบสิทธิ์ ให้ตรวจสอบว่ารหัสไคลเอ็นต์ OAuth และข้อมูลลับตรงกับเว็บไคลเอ็นต์ที่แสดงในหน้าข้อมูลเข้าสู่ระบบของคอนโซล Google Cloud (ดูในส่วนรหัสไคลเอ็นต์ OAuth 2.0)
การตรวจสอบสิทธิ์ Firebase: ในเว็บแอปของฉัน เหตุใดการลงชื่อเข้าใช้ด้วยการเปลี่ยนเส้นทางจึงล้มเหลวโดยมีข้อผิดพลาดต่อไปนี้
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
ทำตามขั้นตอนการแก้ปัญหาในคำถามที่พบบ่อยนี้หากคุณได้รับข้อผิดพลาดต่อไปนี้
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
ข้อผิดพลาดนี้อาจเกิดจากการที่โดเมนเปลี่ยนเส้นทางไม่แสดงเป็นโดเมนที่ได้รับอนุญาตสำหรับการตรวจสอบสิทธิ์ Firebase หรือคีย์ API ที่คุณใช้กับบริการการตรวจสอบสิทธิ์ Firebase ไม่ถูกต้อง
ก่อนอื่น ให้ตรวจสอบว่า YOUR_REDIRECT_DOMAIN อยู่ในรายการโดเมนที่ได้รับอนุญาตสำหรับโปรเจ็กต์ Firebase ของคุณ หากโดเมนการเปลี่ยนเส้นทางของคุณอยู่ในรายการแล้ว ให้แก้ปัญหาคีย์ API ที่ไม่ถูกต้องต่อไป
โดยค่าเริ่มต้น การตรวจสอบสิทธิ์ Firebase JS SDK จะใช้คีย์ API สำหรับโปรเจ็กต์ Firebase ที่ติดป้ายกำกับเป็น Browser key
และใช้คีย์นี้เพื่อยืนยันว่า URL เปลี่ยนเส้นทางการลงชื่อเข้าใช้ถูกต้องตามรายการโดเมนที่ได้รับอนุญาต
การตรวจสอบสิทธิ์จะได้รับคีย์ API นี้โดยขึ้นอยู่กับวิธีที่คุณเข้าถึง Authentication SDK
หากคุณใช้ตัวช่วยการตรวจสอบสิทธิ์ที่ให้บริการโดยโฮสติ้งเพื่อเข้าสู่ระบบให้ผู้ใช้ด้วย Authentication JS SDK อยู่ Firebase จะได้รับคีย์ API จากการกำหนดค่า Firebase ที่เหลือโดยอัตโนมัติในแต่ละครั้งที่ติดตั้งใช้งานโฮสติ้งของ Firebase ตรวจสอบว่า
authDomain
ในเว็บแอปfirebaseConfig
มีการกำหนดค่าอย่างถูกต้องเพื่อใช้โดเมนใดโดเมนหนึ่งสำหรับเว็บไซต์โฮสติ้งนั้น คุณตรวจสอบการยกเลิกได้โดยไปที่https://authDomain__/firebase/init.json
และตรวจสอบว่าprojectId
ตรงกับข้อมูลจากfirebaseConfig
หากคุณโฮสต์โค้ดลงชื่อเข้าใช้ด้วยตนเอง คุณจะใช้ไฟล์
__/firebase/init.json
เพื่อระบุการกำหนดค่า Firebase ให้กับผู้ช่วยการเปลี่ยนเส้นทาง JS SDK สำหรับการตรวจสอบสิทธิ์ที่โฮสต์ด้วยตนเองได้ คีย์ API และprojectId
ที่ระบุไว้ในไฟล์การกำหนดค่านี้ควรตรงกับเว็บแอปfirebaseConfig
ตรวจสอบว่ายังไม่ได้ลบคีย์ API นี้โดยไปที่แผง API และบริการ > ข้อมูลเข้าสู่ระบบ ในคอนโซล Google Cloud ที่มีคีย์ API ทั้งหมดสำหรับโปรเจ็กต์ของคุณแสดงอยู่
หากไม่ลบ
Browser key
โปรดตรวจสอบสิ่งต่อไปนี้ตรวจสอบว่า Firebase Authentication API อยู่ในรายการ API ที่อนุญาตสำหรับคีย์ในการเข้าถึง (ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อจำกัด API สำหรับคีย์ API)
หากโฮสต์รหัสลงชื่อเข้าใช้ด้วยตนเอง ให้ตรวจสอบว่าคีย์ API ที่แสดงอยู่ในไฟล์
__/firebase/init.json
ตรงกับคีย์ API ใน Cloud Console แก้ไขคีย์ในไฟล์หากจำเป็น แล้วทำให้แอปใช้งานได้อีกครั้งหากลบ
Browser key
ไปแล้ว คุณจะให้ Firebase สร้างคีย์ API ใหม่ให้คุณได้ ในคอนโซล Firebase ให้ไปที่ settings > การตั้งค่าโปรเจ็กต์ แล้วคลิกเว็บแอปในส่วนแอปของคุณ การดำเนินการนี้จะสร้างคีย์ API ขึ้นโดยอัตโนมัติ ซึ่งคุณจะดูได้ในส่วนการตั้งค่าและการกำหนดค่า SDK ของเว็บแอป
โปรดทราบว่าใน Cloud Console คีย์ API ใหม่นี้จะไม่มีชื่อว่า
Browser key
แต่จะเป็นชื่อเดียวกับชื่อเล่นของ Firebase Web App หากคุณตัดสินใจที่จะเพิ่มข้อจำกัด API ลงในคีย์ API ใหม่นี้ โปรดตรวจสอบว่า API การตรวจสอบสิทธิ์ Firebase อยู่ในรายการ API ที่อนุญาตเมื่อสร้างคีย์ API ใหม่ ให้ทำตามขั้นตอนที่เกี่ยวข้องด้านล่าง
หากคุณใช้ URL โฮสติ้งที่จองไว้ ให้ทำให้แอปใช้งานได้อีกครั้งกับ Firebase เพื่อรับคีย์ API ใหม่โดยอัตโนมัติจากการกำหนดค่า Firebase ที่เหลือ
หากคุณโฮสต์โค้ดลงชื่อเข้าใช้ด้วยตนเอง ให้คัดลอกคีย์ API ใหม่และเพิ่มลงในไฟล์
__/firebase/init.json
แล้วทำให้แอปใช้งานได้อีกครั้ง
การตรวจสอบสิทธิ์ Firebase: ฉันจะสร้างไคลเอ็นต์เว็บ OAuth ด้วยตนเองได้อย่างไร
เปิดหน้าข้อมูลเข้าสู่ระบบ ของคอนโซล Google Cloud
ที่ด้านบนของหน้า ให้เลือกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth
หากระบบแจ้งให้กำหนดค่าหน้าจอคำยินยอม โปรดทำตามวิธีการบนหน้าจอ แล้วทำตามขั้นตอนต่อไปนี้ของคำถามที่พบบ่อยนี้
สร้างไคลเอ็นต์เว็บ OAuth โดยทำดังนี้
ในส่วนประเภทแอปพลิเคชัน ให้เลือกเว็บแอปพลิเคชัน
สําหรับต้นทาง JavaScript ที่ได้รับอนุญาต ให้เพิ่มรายการต่อไปนี้
http://localhost
http://localhost:5000
https://PROJECT_ID.firebaseapp.com
https://PROJECT_ID.web.app
สำหรับ URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต ให้เพิ่มรายการต่อไปนี้
https://PROJECT_ID.firebaseapp.com/__/auth/handler
https://PROJECT_ID.web.app/__/auth/handler
บันทึกไคลเอ็นต์ OAuth
คัดลอกรหัสไคลเอ็นต์ OAuth และรหัสลับไคลเอ็นต์ใหม่ไปยังคลิปบอร์ด
ในคอนโซล Firebase ให้เปิดส่วนการตรวจสอบสิทธิ์
ในแท็บวิธีการลงชื่อเข้าใช้ ให้เปิดผู้ให้บริการ Google Sign-In แล้ววางรหัสไคลเอ็นต์และข้อมูลลับของเว็บเซิร์ฟเวอร์ที่คุณเพิ่งสร้างและคัดลอกจากคอนโซล Google Cloud คลิกบันทึก
การตรวจสอบสิทธิ์ Firebase: %APP_NAME%
มีการพิจารณาอย่างไรสำหรับเทมเพลตอีเมลสำหรับอีเมลยืนยันที่ส่งให้ผู้ใช้เมื่อลงชื่อสมัครใช้ด้วยอีเมลและรหัสผ่านได้
ก่อนเดือนธันวาคม 2022 ระบบได้ป้อนข้อมูล %APP_NAME%
ในเทมเพลตอีเมลด้วยชื่อแบรนด์ OAuth ที่ได้รับการจัดสรรโดยอัตโนมัติทุกครั้งที่มีการลงทะเบียนแอป Android ในโปรเจ็กต์ Firebase เนื่องจากตอนนี้ระบบจะจัดสรรแบรนด์ OAuth เฉพาะเมื่อเปิดใช้ Google Sign-In เท่านั้น เราจึงอธิบายวิธีกำหนด %APP_NAME%
ดังต่อไปนี้
หากมีชื่อแบรนด์ OAuth
%APP_NAME%
ในเทมเพลตอีเมลจะเป็นชื่อแบรนด์ OAuth (เหมือนกับลักษณะการทำงานก่อนเดือนธันวาคม 2022)หากไม่ใช้ชื่อแบรนด์ OAuth ได้ วิธีระบุ
%APP_NAME%
ในเทมเพลตอีเมลมีดังนี้สำหรับเว็บแอป
%APP_NAME%
จะเป็นชื่อเว็บไซต์โฮสติ้งของ Firebase ตามค่าเริ่มต้น (ค่าที่นำหน้า.firebaseapp.com
และ.web.app
และโดยปกติจะเป็นรหัสโปรเจ็กต์ Firebase)สำหรับแอปบนอุปกรณ์เคลื่อนที่
หากมีชื่อแพ็กเกจ Android หรือรหัสชุด iOS อยู่ในคำขอ
%APP_NAME%
จะเป็นชื่อแอปที่ใช้ใน Play Store หรือ App Store (ตามลำดับ)มิเช่นนั้น
%APP_NAME%
จะเป็นชื่อเว็บไซต์โฮสติ้งของ Firebase เริ่มต้น (ค่าที่นำหน้า.firebaseapp.com
และ.web.app
และโดยปกติจะเป็นรหัสโปรเจ็กต์ Firebase)
โปรดทราบว่าหากค้นหาชื่อเว็บไซต์โฮสติ้งของ Firebase เริ่มต้นไม่สำเร็จ วิธีสำรองสุดท้ายคือการใช้รหัสโปรเจ็กต์ Firebase เป็น
%APP_NAME%
Cloud Functions
การรองรับรันไทม์ของ Cloud Functions
ฉันจะอัปเกรด Node.js เป็นเวอร์ชันล่าสุดที่รองรับได้อย่างไร
- ตรวจสอบว่าคุณใช้แผนการตั้งราคา Blaze
- ตรวจสอบว่าคุณใช้ Firebase CLI เวอร์ชันล่าสุด
- อัปเดตช่อง
engines
ในpackage.json
ของฟังก์ชัน - (ไม่บังคับ) ทดสอบการเปลี่ยนแปลงโดยใช้ชุดโปรแกรมจำลองภายในของ Firebase
- ทำให้ฟังก์ชันทั้งหมดใช้งานได้
ฉันจะแน่ใจได้อย่างไรว่าฉันทำให้ฟังก์ชันใช้งานได้ในรันไทม์ของ Node.js ที่เฉพาะเจาะจง
ในคอนโซล Firebase ให้ไปที่หน้าแดชบอร์ดของฟังก์ชัน เลือกฟังก์ชันแล้วตรวจสอบภาษาของฟังก์ชันในส่วนรายละเอียดเพิ่มเติม
ฉันใช้ Firebase Extensions ฉันจะได้รับผลกระทบจากการอัปเดตรันไทม์ของ Cloud Functions ไหม
ใช่ เนื่องจากส่วนขยายใช้ Cloud Functions คุณจึงต้องอัปเดตรันไทม์ของส่วนขยายบนไทม์ไลน์เดียวกันกับ Cloud Functions
เราขอแนะนำให้คุณอัปเดตเป็นเวอร์ชันล่าสุดของส่วนขยายแต่ละรายการที่ติดตั้งในโปรเจ็กต์เป็นระยะๆ คุณอัปเกรดส่วนขยายของโปรเจ็กต์ได้ผ่านคอนโซล Firebase หรือ Firebase CLI
Cloud Messaging
การรับส่งข้อความในระบบคลาวด์: การเขียนการแจ้งเตือนและการรับส่งข้อความในระบบคลาวด์แตกต่างกันอย่างไร
Firebase Cloud Messaging มีความสามารถในการรับส่งข้อความที่สมบูรณ์ผ่าน SDK ของไคลเอ็นต์ รวมถึงโปรโตคอลเซิร์ฟเวอร์ HTTP และ XMPP FCM คือตัวเลือกที่เหมาะสมสำหรับการทำให้ใช้งานได้ที่มีข้อกำหนดด้านการรับส่งข้อความที่ซับซ้อนมากขึ้น
Notifications Composer เป็นโซลูชันการรับส่งข้อความแบบ Serverless ที่ใช้ทรัพยากรน้อย สร้างขึ้นจาก Firebase Cloud Messaging ด้วยคอนโซลกราฟิกที่ใช้งานง่ายและไม่จำเป็นต้องเขียนโค้ด เครื่องมือเขียนข้อความการแจ้งเตือนจะช่วยให้ผู้ใช้ส่งข้อความเพื่อดึงดูดผู้ใช้ให้กลับมามีส่วนร่วมและรักษาผู้ใช้ไว้ ส่งเสริมการเติบโตของแอป และสนับสนุนแคมเปญการตลาดได้อย่างง่ายดาย
ความสามารถ | ผู้เขียนการแจ้งเตือน | การรับส่งข้อความในระบบคลาวด์ | |
---|---|---|---|
เป้าหมาย | อุปกรณ์เดียว | ||
ลูกค้าที่สมัครรับข้อมูลหัวข้อ (เช่น สภาพอากาศ) | |||
ไคลเอ็นต์ในกลุ่มผู้ใช้ที่กำหนดไว้ล่วงหน้า (แอป เวอร์ชัน ภาษา) | |||
ลูกค้าในกลุ่มเป้าหมาย Analytics ที่ระบุ | |||
ไคลเอ็นต์ในกลุ่มอุปกรณ์ | |||
อัปสตรีมจากไคลเอ็นต์ไปยังเซิร์ฟเวอร์ | |||
ประเภทข้อความ | การแจ้งเตือนสูงสุด 2 KB | ||
ข้อความข้อมูลขนาดไม่เกิน 4 KB | |||
การนำส่ง | ทันที | ||
เวลาท้องถิ่นของอุปกรณ์ไคลเอ็นต์ในอนาคต | |||
ข้อมูลวิเคราะห์ | คอลเล็กชันการวิเคราะห์การแจ้งเตือนในตัวและการวิเคราะห์ Funnel |
Cloud Messaging: Apple ประกาศว่ากำลังจะเลิกใช้งานโปรโตคอลไบนารีเดิมสำหรับ APN ฉันจำเป็นต้องดำเนินการใดๆ หรือไม่
ไม่ Firebase Cloud Messaging ได้เปลี่ยนไปใช้โปรโตคอล APNs ที่ใช้ HTTP/2 ในปี 2017 หากคุณใช้ FCM เพื่อส่งการแจ้งเตือนไปยังอุปกรณ์ iOS คุณไม่จำเป็นต้องดำเนินการใดๆ
การรับส่งข้อความในระบบคลาวด์: ฉันต้องใช้บริการ Firebase อื่นๆ เพื่อใช้ FCM ไหม
คุณใช้ Firebase Cloud Messaging เป็นคอมโพเนนต์แบบสแตนด์อโลนได้ ในลักษณะเดียวกับที่คุณใช้ใน GCM โดยไม่ต้องใช้บริการ อื่นๆ ของ Firebase
การรับส่งข้อความในระบบคลาวด์: ฉันเป็นนักพัฒนาการรับส่งข้อความในระบบคลาวด์ของ Google (GCM) ปัจจุบัน ฉันควรเปลี่ยนไปใช้ Firebase Cloud Messaging ไหม
FCM คือ GCM เวอร์ชันใหม่ภายใต้แบรนด์ Firebase โดยใช้โครงสร้างพื้นฐานหลักของ GCM พร้อมด้วย SDK ใหม่ที่จะทำให้การพัฒนา Cloud Messaging ง่ายขึ้น
ประโยชน์ของการอัปเกรดเป็น FCM SDK มีดังนี้
- การพัฒนาลูกค้าที่ง่ายขึ้น คุณไม่ต้องเขียนตรรกะการจดทะเบียนหรือลองสมัครใช้บริการอีกครั้งอีกต่อไป
- โซลูชันการแจ้งเตือนแบบแกะกล่อง คุณใช้การเขียนการแจ้งเตือน ซึ่งเป็นโซลูชันการแจ้งเตือนแบบ Serverless กับเว็บคอนโซลที่ช่วยให้ทุกคนส่งการแจ้งเตือนเพื่อกำหนดกลุ่มเป้าหมายที่เฉพาะเจาะจงโดยอิงตามข้อมูลเชิงลึกจาก Google Analytics ได้
หากต้องการอัปเกรดจาก GCM SDK เป็น FCM SDK โปรดดูคำแนะนำสำหรับการย้ายข้อมูลแอป Android และ iOS
Cloud Messaging: เหตุใดอุปกรณ์เป้าหมายของฉันจึงไม่ได้รับข้อความ
เมื่อดูเหมือนว่าอุปกรณ์รับข้อความไม่สำเร็จ ให้ตรวจสอบสาเหตุที่เป็นไปได้ 2 ข้อต่อไปนี้ก่อน
การจัดการข้อความที่ทำงานอยู่เบื้องหน้าสำหรับข้อความแจ้งเตือน แอปไคลเอ็นต์จะต้องเพิ่มตรรกะการจัดการข้อความเพื่อจัดการกับข้อความแจ้งเตือนเมื่อแอปทำงานอยู่เบื้องหน้าของอุปกรณ์ ดูรายละเอียดสำหรับ iOS และ Android
การจำกัดไฟร์วอลล์เครือข่าย หากองค์กรของคุณมีไฟร์วอลล์ที่จำกัดการรับส่งข้อมูลไปยังหรือจากอินเทอร์เน็ต คุณต้องกำหนดค่าให้อนุญาตการเชื่อมต่อกับ FCM เพื่อให้แอปไคลเอ็นต์ Firebase Cloud Messaging รับข้อความได้ พอร์ตที่จะเปิดมีดังนี้
- 5228
- 5229
- 5230
FCM มักใช้ 5228 แต่บางครั้งใช้ 5229 และ 5230 FCM ไม่ได้ระบุ IP ที่เฉพาะเจาะจง คุณจึงควรอนุญาตให้ไฟร์วอลล์ยอมรับการเชื่อมต่อขาออกกับที่อยู่ IP ทั้งหมดที่อยู่ในบล็อก IP ที่แสดงใน ASN 15169 ของ Google
Cloud Messaging: ฉันใช้งาน onMessageReceived
ในแอป Android แล้ว แต่ระบบไม่เรียกใช้
เมื่อแอปอยู่ในเบื้องหลัง
ข้อความแจ้งเตือนจะแสดงในถาดระบบ
และระบบจะไม่เรียก onMessageReceived
สำหรับข้อความแจ้งเตือนที่มีเพย์โหลดข้อมูล ข้อความแจ้งเตือนจะแสดงในถาดระบบ และสามารถดึงข้อมูลที่รวมอยู่ในข้อความแจ้งเตือนจาก Intent ที่เปิดขึ้นมาเมื่อผู้ใช้แตะการแจ้งเตือน
ดูข้อมูลเพิ่มเติมได้ที่รับและจัดการข้อความ
ผู้เขียนการแจ้งเตือน: การเขียนการแจ้งเตือนและการรับส่งข้อความในระบบคลาวด์แตกต่างกันอย่างไร
Notifications Composer เป็นโซลูชันการรับส่งข้อความแบบ Serverless ที่ใช้ทรัพยากรน้อย สร้างขึ้นจาก Firebase Cloud Messaging ด้วยคอนโซลกราฟิกที่ใช้งานง่ายและไม่จำเป็นต้องเขียนโค้ด เครื่องมือเขียนข้อความการแจ้งเตือนจะช่วยให้ผู้ใช้ส่งข้อความเพื่อดึงดูดผู้ใช้ให้กลับมามีส่วนร่วมและรักษาผู้ใช้ไว้ ส่งเสริมการเติบโตของแอป และสนับสนุนแคมเปญการตลาดได้อย่างง่ายดาย
Firebase Cloud Messaging มีความสามารถในการรับส่งข้อความที่สมบูรณ์ผ่าน SDK ของไคลเอ็นต์ รวมถึงโปรโตคอลเซิร์ฟเวอร์ HTTP และ XMPP FCM คือตัวเลือกที่เหมาะสมสำหรับการทำให้ใช้งานได้ที่มีข้อกำหนดด้านการรับส่งข้อความที่ซับซ้อนมากขึ้น
ต่อไปนี้คือการเปรียบเทียบความสามารถในการรับส่งข้อความจาก Firebase Cloud Messaging และเครื่องมือเขียนการแจ้งเตือน
ความสามารถ | ผู้เขียนการแจ้งเตือน | การรับส่งข้อความในระบบคลาวด์ | |
---|---|---|---|
เป้าหมาย | อุปกรณ์เดียว | ||
ลูกค้าที่สมัครรับข้อมูลหัวข้อ (เช่น สภาพอากาศ) | |||
ไคลเอ็นต์ในกลุ่มผู้ใช้ที่กำหนดไว้ล่วงหน้า (แอป เวอร์ชัน ภาษา) | |||
ลูกค้าในกลุ่มเป้าหมาย Analytics ที่ระบุ | |||
ไคลเอ็นต์ในกลุ่มอุปกรณ์ | |||
อัปสตรีมจากไคลเอ็นต์ไปยังเซิร์ฟเวอร์ | |||
ประเภทข้อความ | การแจ้งเตือนสูงสุด 2 KB | ||
ข้อความข้อมูลขนาดไม่เกิน 4 KB | |||
การนำส่ง | ทันที | ||
เวลาท้องถิ่นของอุปกรณ์ไคลเอ็นต์ในอนาคต | |||
ข้อมูลวิเคราะห์ | คอลเล็กชันการวิเคราะห์การแจ้งเตือนในตัวและการวิเคราะห์ Funnel |
ผู้เขียนการแจ้งเตือน: ฉันเป็นนักพัฒนาซอฟต์แวร์การรับส่งข้อความในระบบคลาวด์ (GCM) ของ Google อยู่แล้ว และฉันต้องการใช้การเขียนการแจ้งเตือน ควรทำอย่างไร
การเขียนการแจ้งเตือนเป็นโซลูชันที่พร้อมใช้งานทันที ซึ่งช่วยให้ทุกคนส่งการแจ้งเตือนเพื่อกำหนดกลุ่มเป้าหมายที่เฉพาะเจาะจงโดยอิงตามข้อมูลเชิงลึกจาก Google Analytics ได้ นอกจากนี้ เครื่องมือเขียนการแจ้งเตือนยังมีการวิเคราะห์ Funnel สำหรับทุกข้อความ ซึ่งช่วยให้ประเมินประสิทธิภาพการแจ้งเตือนได้ง่าย
หากคุณเป็นนักพัฒนาซอฟต์แวร์ GCM ปัจจุบัน หากต้องการใช้การเขียนการแจ้งเตือน คุณต้องอัปเกรดจาก GCM SDK เป็น FCM SDK โปรดดูคำแนะนำสำหรับการย้ายข้อมูลแอป Android และ iOS
ฟีเจอร์ FCM จะเลิกใช้งานในเดือนมิถุนายน 2023
FCM API ใดที่เลิกใช้งานในวันที่ 20 มิถุนายน 2023 และฉันควรทำอย่างไรหากใช้ API เหล่านั้น
API/SDK ต่อไปนี้จะได้รับผลกระทบจากการเลิกใช้งาน
API ของเซิร์ฟเวอร์
ชื่อ API | จุดสิ้นสุด API | ผลกระทบต่อผู้ใช้ | การดำเนินการที่จำเป็น |
---|---|---|---|
โปรโตคอล HTTP เดิม | https://fcm.googleapis.com/fcm/send | คำขอที่ส่งไปยังปลายทางจะเริ่มล้มเหลวหลังจากวันที่ 21/6/2024 | ย้ายข้อมูลไปยัง HTTP v1 API |
โปรโตคอล XMPP เดิม | fcm-xmpp.googleapis.com:5235 | คำขอที่ส่งไปยังปลายทางจะเริ่มล้มเหลวหลังจากวันที่ 21/6/2024 | ย้ายข้อมูลไปยัง HTTP v1 API |
API เซิร์ฟเวอร์สำหรับรหัสอินสแตนซ์ | https://iid.googleapis.com/v1/web/iid | คำขอที่ส่งไปยังปลายทางจะเริ่มล้มเหลวหลังจากวันที่ 21/6/2024 | ใช้ Web JS SDK เพื่อสร้างการลงทะเบียนเว็บ FCM |
https://iid.googleapis.com/iid/* | ปลายทางจะยังคงใช้ได้ต่อไปแต่จะไม่รองรับการตรวจสอบสิทธิ์โดยใช้คีย์เซิร์ฟเวอร์แบบคงที่หลังจากวันที่ 21/6/2024 | ใช้โทเค็นเพื่อการเข้าถึง OAuth 2.0 ที่ได้จากบัญชีบริการ | |
API การจัดการกลุ่มอุปกรณ์ | https://fcm.googleapis.com/fcm/notification | ปลายทางจะยังคงทำงานต่อไป แต่ไม่รองรับการตรวจสอบสิทธิ์โดยใช้คีย์เซิร์ฟเวอร์แบบคงที่หลังจากวันที่ 21/6/2024 | ใช้โทเค็นเพื่อการเข้าถึง OAuth 2.0 ที่ได้จากบัญชีบริการ |
การรับส่งข้อความอัปสตรีมผ่าน XMPP | fcm-xmpp.googleapis.com:5235 | การเรียก API ไปยัง FirebaseMessaging.send ในแอปจะไม่ทริกเกอร์ข้อความอัปสตรีมไปยังเซิร์ฟเวอร์ของแอปหลังจากวันที่ 21/6/2024 | ใช้งานฟังก์ชันนี้ในตรรกะของเซิร์ฟเวอร์ เช่น นักพัฒนาแอปบางรายใช้งานปลายทาง HTTP/gRPC ของตนเองและเรียกใช้ปลายทางโดยตรงเพื่อส่งข้อความจากไคลเอ็นต์ไปยังเซิร์ฟเวอร์แอป โปรดดูคู่มือเริ่มต้นฉบับย่อของ gRPC เพื่อดูตัวอย่างการใช้งานการรับส่งข้อความอัปสตรีมโดยใช้ gRPC |
API การส่งเป็นกลุ่ม | https://fcm.googleapis.com/batch | คำขอที่ส่งไปยังปลายทางจะเริ่มล้มเหลวหลังจากวันที่ 21/6/2024 | เปลี่ยนไปใช้วิธีการส่ง HTTP v1 API มาตรฐาน ซึ่งรองรับ HTTP/2 สำหรับการทำ Multiplex |
API ของ Firebase Admin SDK
ชื่อ API | ภาษา API | ผลกระทบต่อผู้ใช้ | การดำเนินการที่จำเป็น |
---|---|---|---|
sendToDevice()
|
Node.js | API จะหยุดทำงานหลังจากวันที่ 21/6/2024 เนื่องจากเรียกใช้ HTTP send API แบบเดิม | ใช้เมธอด send()
|
sendToDeviceGroup()
|
Node.js | API จะหยุดทำงานหลังจากวันที่ 21/6/2024 เนื่องจากเรียกใช้ HTTP send API แบบเดิม | ใช้เมธอด send()
|
sendAll()/sendAllAsync()/send_all()/sendMulticast()/SendMulticastAsync()/send_multicast()
|
Node.js, Java, Python, Go, C# | API เหล่านี้จะหยุดทำงานหลังจากวันที่ 21/6/2024 เนื่องจากเรียกใช้ API การส่งเป็นกลุ่ม | อัปเกรดเป็น Firebase Admin SDK เวอร์ชันล่าสุดและใช้ API ใหม่แทน: sendEach()/
sendEachAsync()/send_each()/sendEachForMulticast()/sendEachForMulticastAsync()/
send_each_for_multicast()
โปรดทราบว่า API ใหม่จะไม่เรียก API การส่งแบบกลุ่มที่เลิกใช้งานแล้วอีกต่อไป และด้วยสาเหตุนี้ จึงอาจสร้างการเชื่อมต่อ HTTP พร้อมกันมากกว่า API เก่าได้ |
SDK ของไคลเอ็นต์
เวอร์ชันของ SDK | ผลกระทบต่อผู้ใช้ | การดำเนินการที่จำเป็น |
---|---|---|
GCM SDK (เลิกใช้งานแล้วในปี 2018) | แอปที่ใช้ GCM SDK จะไม่สามารถลงทะเบียนโทเค็นหรือได้รับข้อความจาก FCM หลังจากวันที่ 21/6/2024 | อัปเกรด Android SDK เป็น Firebase SDK เวอร์ชันล่าสุดหากยังไม่ได้ทำ |
JS SDK เวอร์ชัน <7.0.0 (การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบเวอร์ชัน 7.0.0 ในปี 2019) | เว็บแอปที่ใช้ JS SDK เวอร์ชันเก่าจะไม่สามารถลงทะเบียนโทเค็นได้หลังจากวันที่ 21/6/2024 | อัปเกรด Firebase Web SDK เป็นเวอร์ชันล่าสุด |
ฉันจะเห็นการดาวน์เกรดบริการก่อนเดือนมิถุนายน 2024 ไหม
ไม่ คุณมีเวลา 12 เดือน (20/06/2023 - 21/06/2024) ในการย้ายข้อมูลจาก API เก่า ไปยัง API ใหม่โดยไม่ต้องดาวน์เกรดบริการ เราขอแนะนำอย่างยิ่งให้คุณวางแผนการย้ายข้อมูลโดยเร็วที่สุดเพื่อไม่ให้ได้รับผลกระทบจากการเลิกใช้งาน API ในเดือนมิถุนายน 2024
หลังเดือนมิถุนายน 2024 คุณอาจเห็นข้อผิดพลาดที่เพิ่มขึ้นหรือฟังก์ชันการขาดฟังก์ชันการทำงานเมื่อใช้ API/SDK ที่ระบุไว้ข้างต้น
โทเค็น OAuth 2.0 และคีย์เซิร์ฟเวอร์แตกต่างกันอย่างไร
โทเค็น OAuth 2.0 เป็นโทเค็นที่มีอายุสั้นซึ่งมาจากบัญชีบริการ โดยเป็นรูปแบบการตรวจสอบสิทธิ์มาตรฐานของ Google และมีความปลอดภัยมากกว่าคีย์เซิร์ฟเวอร์แบบคงที่
โปรดดูใช้ข้อมูลเข้าสู่ระบบเพื่อสร้างโทเค็นเพื่อการเข้าถึงเพื่อดูคำแนะนำเกี่ยวกับการใช้ไลบรารีการตรวจสอบสิทธิ์ของ Google เพื่อรับโทเค็น
โปรดทราบว่าส่วนหัวของคำขอจะแตกต่างกันเมื่อคุณใช้โทเค็น OAuth 2.0 สำหรับคำขอไปยังปลายทางที่ต่างกัน
- HTTP v1 API:
Authorization: Bearer $oauth_token
- API เซิร์ฟเวอร์รหัสอินสแตนซ์และ API การจัดการอุปกรณ์:
Authorization: Bearer $oauth_token
access_token_auth: true
ฉันจะย้ายข้อมูลคำขอไปยัง API ใหม่ทั้งหมดพร้อมกันได้ไหม
เราขอแนะนำให้คุณค่อยๆ เพิ่มปริมาณการเข้าชมไปยัง API ใหม่ หากคุณต้องการให้ส่งข้อความมากกว่า 600,000 ข้อความ/นาทีเป็นประจำ โปรด ติดต่อทีมสนับสนุน Firebase เพื่อสอบถามวิธีการเพิ่มโควต้าหรือรับคำแนะนำเกี่ยวกับวิธีกระจายการเข้าชม
HTTP v1 API และ API เดิมแตกต่างกันอย่างไรเมื่อฉันส่งข้อความไปยังหัวข้อ/กลุ่มอุปกรณ์
หัวข้อ: คุณไม่จำเป็นต้องเพิ่ม "/topics/" คำนำหน้า "/topics/" ให้กับหัวข้อเป้าหมายเมื่อใช้ v1 API
กลุ่มอุปกรณ์: คุณสามารถใช้โทเค็นกลุ่มเป็นเป้าหมายโทเค็นใน HTTP v1 API ได้ อย่างไรก็ตาม HTTP v1 API จะไม่แสดงผลจำนวนความสำเร็จ/ล้มเหลวในการตอบสนอง เราขอแนะนำให้คุณใช้หัวข้อ FCM หรือจัดการกลุ่มอุปกรณ์ด้วยตนเอง
HTTP v1 API รองรับการส่งข้อความไปยังโทเค็นหลายรายการในคำขอเดียวไหม
ไม่ใช่ HTTP API เวอร์ชัน 1 ไม่รองรับฟีเจอร์นี้ที่เรียกว่า "มัลติแคสต์" ใน HTTP API เดิม ซึ่งออกแบบมาเพื่อความสามารถในการปรับขนาดมากกว่า
สำหรับกรณีการใช้งานที่เวลาในการตอบสนองจากต้นทางถึงปลายทางมีความสำคัญมาก หรือที่มีขนาด Fanout ทั้งหมดมีขนาดเล็ก (น้อยกว่า 1 ล้านครั้ง) Google ขอแนะนำให้ส่งคำขอแยกกันหลายรายการโดยใช้ API ของ HTTP v1 HTTP v1 API ผ่าน HTTP/2 ทำงานคล้ายๆ กันสำหรับคำขอมัลติแคสต์ 99.9% (ส่งโทเค็นน้อยกว่า 100 รายการ) สำหรับ Use Case ที่มีค่าผิดปกติ (ส่งโทเค็น 1,000 รายการ) ก็จะได้อัตราการส่งข้อมูลสูงสุดถึง 1 ใน 3 ของอัตราการส่งข้อมูล ดังนั้นจึงต้องมีการเกิดขึ้นพร้อมกันเพิ่มเติมเพื่อเพิ่มประสิทธิภาพสำหรับกรณีการใช้งานที่ผิดปกตินี้ ผู้ใช้จะได้รับประสบการณ์ด้านความน่าเชื่อถือและความพร้อมใช้งานด้วย HTTP v1 API มากกว่ามัลติแคสต์เดิม
สำหรับกรณีการใช้งานที่ให้ความสำคัญกับแบนด์วิดท์การรับส่งข้อมูลและแบนด์วิดท์ขาออก หรือเมื่อมีขนาด Fanout ทั้งหมดมีขนาดใหญ่ (มากกว่า 1 ล้าน) Google ขอแนะนำการรับส่งข้อความตามหัวข้อ แม้ว่าการรับส่งข้อความหัวข้อจะกำหนดให้มีการดำเนินการแบบครั้งเดียวเพื่อติดตาม ผู้รับหัวข้อ แต่ก็มี อัตราการ Fanout สูงสุดถึง 10,000 QPS ต่อโปรเจ็กต์ โดยไม่จำกัดขนาดหัวข้อสูงสุด
Firebase Admin SDK เวอร์ชันใดมี API ใหม่
แพลตฟอร์ม | เวอร์ชัน Firebase Admin SDK |
---|---|
Node.js | มากกว่า 11.70 |
Python | มากกว่า 6.2.0 |
Java | มากกว่าหรือเท่ากับ 9.2.0 |
Go | มากกว่า 4.12.0 |
.NET | มากกว่า 2.4.0 |
API การส่งแบบกลุ่มและ HTTP v1 API แตกต่างกันอย่างไร
API การส่งกลุ่ม FCM จะใช้รูปแบบข้อความและกลไกการตรวจสอบสิทธิ์เดียวกันกับ HTTP v1 API แต่ใช้ปลายทางอื่น หากต้องการปรับปรุงประสิทธิภาพ คุณควรพิจารณาใช้ HTTP/2 เพื่อส่งคำขอหลายรายการผ่านการเชื่อมต่อ HTTP เดียวกันไปยัง HTTP v1 API
ฉันควรทำอย่างไรหากเข้าถึงโปรเจ็กต์ไม่ได้
โปรดติดต่อทีมสนับสนุนของ Google Cloud เพื่อขอความช่วยเหลือ
โปรเจ็กต์ใหม่จะเปิดใช้ Cloud Messaging API เดิมได้ไหม
ไม่ ตั้งแต่วันที่ 20/5/2024 โปรเจ็กต์ใหม่จะไม่ได้รับอนุญาตให้เปิดใช้ API เดิมอีกต่อไป
Cloud Storage for Firebase
Cloud Storage for Firebase: เหตุใดฉันจึงใช้ Cloud Storage สำหรับ Firebase ไม่ได้
Cloud Storage for Firebase สร้างที่เก็บข้อมูลเริ่มต้นในระดับที่ไม่มีค่าใช้จ่ายของ App Engine วิธีนี้ช่วยให้คุณเริ่มต้นใช้งาน Firebase และ Cloud Storage สำหรับ Firebase ได้อย่างรวดเร็ว โดยไม่ต้องเพิ่มบัตรเครดิตหรือเปิดใช้บัญชีสำหรับการเรียกเก็บเงินใน Cloud นอกจากนี้ยังช่วยให้คุณแชร์ข้อมูลระหว่าง Firebase กับโปรเจ็กต์ Google Cloud ได้อย่างง่ายดายอีกด้วย
อย่างไรก็ตาม มี 2 กรณีที่รู้จักซึ่งสร้างที่เก็บข้อมูลนี้ไม่ได้ และจะใช้ Cloud Storage สำหรับ Firebase ไม่ได้
- โปรเจ็กต์ที่นำเข้าจาก Google Cloud ซึ่งมีแอปพลิเคชัน App Engine Master/Slave Datastore
-
โปรเจ็กต์ที่นําเข้าจาก Google Cloud ซึ่งมีโปรเจ็กต์ที่มีโดเมนนำหน้า เช่น
domain.com:project-1234
ปัจจุบันไม่มีวิธีแก้ปัญหาเหล่านี้ และเราขอแนะนำให้คุณสร้างโปรเจ็กต์ใหม่ในคอนโซล Firebase และเปิดใช้ Cloud Storage สำหรับ Firebase ในโปรเจ็กต์ดังกล่าว
Cloud Storage for Firebase: เหตุใดฉันจึงได้รับการตอบสนองด้วยรหัสข้อผิดพลาด 412 เกี่ยวกับสิทธิ์ของบัญชีบริการและการดำเนินการที่ล้มเหลวของบัญชีบริการเมื่อใช้ Cloud Storage for Firebase API
ดูเหมือนว่าคุณจะได้รับรหัสข้อผิดพลาด 412 เนื่องจากไม่ได้เปิดใช้ Cloud Storage for Firebase API สำหรับโปรเจ็กต์ หรือบัญชีบริการที่จำเป็นไม่มีสิทธิ์ที่จำเป็น
โปรดดูคำถามที่พบบ่อยที่เกี่ยวข้อง
Cloud Storage for Firebase: ฉันจะจัดเก็บไฟล์ปฏิบัติการในโปรเจ็กต์แผน Spark ได้ไหม
สำหรับโปรเจ็กต์แผนแบบไม่มีค่าใช้จ่าย (Spark) Firebase จะบล็อกการอัปโหลดและการโฮสต์ไฟล์ปฏิบัติการบางประเภทสำหรับ Windows, Android และ Apple โดยใช้ Cloud Storage for Firebase และโฮสติ้งของ Firebase นโยบายนี้มีไว้เพื่อป้องกันการละเมิดในแพลตฟอร์มของเรา
ระบบจะบล็อกการแสดง การโฮสต์ และการอัปโหลดไฟล์ที่ไม่ได้รับอนุญาตสำหรับโปรเจ็กต์ Spark ทั้งหมดที่สร้างขึ้นในวันที่ 28 กันยายน 2023 หรือหลังจากนั้น สำหรับโปรเจ็กต์ Spark ที่มีอยู่ซึ่งมีไฟล์ที่อัปโหลดก่อนวันที่ดังกล่าว ไฟล์ดังกล่าวจะยังคงอัปโหลดและโฮสต์ได้
ข้อจำกัดนี้มีผลกับโปรเจ็กต์ในแพ็กเกจ Spark โปรเจ็กต์ที่ใช้แพ็กเกจจ่ายเมื่อใช้ (Blaze) จะไม่ได้รับผลกระทบ
ไฟล์ประเภทต่อไปนี้โฮสต์บนโฮสติ้งของ Firebase และ Cloud Storage สำหรับ Firebase ไม่ได้
- ไฟล์ Windows ที่มีส่วนขยาย
.exe
,.dll
และ.bat
- ไฟล์ Android ที่มีนามสกุล
.apk
- ไฟล์แพลตฟอร์ม Apple ที่มีส่วนขยาย
.ipa
สิ่งที่ต้องทำ
หากคุณยังต้องการโฮสต์ประเภทไฟล์เหล่านี้หลังจากวันที่ 28 กันยายน 2023 ให้ทำดังนี้
- สำหรับโฮสติ้ง: อัปเกรดเป็นแพ็กเกจ Blaze ก่อนจึงจะทำให้ประเภทไฟล์เหล่านี้ใช้งานได้กับโฮสติ้งของ Firebase ผ่านคำสั่ง
firebase deploy
ได้ - สำหรับพื้นที่เก็บข้อมูล: อัปเกรดเป็นแพ็กเกจ Blaze เพื่ออัปโหลดประเภทไฟล์เหล่านี้ไปยังที่เก็บข้อมูลที่คุณเลือกโดยใช้ GCS CLI, คอนโซล Firebase หรือคอนโซล Google Cloud
ใช้เครื่องมือ Firebase เพื่อจัดการทรัพยากรโฮสติ้งของ Firebase และ Cloud Storage
- สำหรับการจัดการทรัพยากรในโฮสติ้งของ Firebase ให้ใช้คอนโซล Firebase เพื่อลบรุ่นตามคู่มือนี้
- สำหรับการจัดการทรัพยากรใน Cloud Storage ให้ไปที่หน้าผลิตภัณฑ์ Storage ในโปรเจ็กต์
- ในแท็บไฟล์ ให้ค้นหาไฟล์ที่ไม่ได้รับอนุญาตเพื่อลบในลำดับชั้นของโฟลเดอร์ จากนั้นเลือกไฟล์โดยใช้ช่องทำเครื่องหมายข้างชื่อไฟล์ทางด้านซ้ายของแผง
- คลิกลบ และยืนยันว่าไฟล์ถูกลบไปแล้ว
โปรดอ่านเอกสารประกอบของเราเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ ทรัพยากรโฮสติ้งด้วยเครื่องมือ Firebase และที่เก็บข้อมูล Cloud Storage for Firebase ที่มีไลบรารีของไคลเอ็นต์
พื้นที่เก็บข้อมูลระบบคลาวด์สำหรับ Firebase: เหตุใดฉันจึงเห็นการดำเนินการอัปโหลดและดาวน์โหลดเพิ่มขึ้นที่ไม่คาดคิด
ก่อนหน้านี้ ระบบไม่ได้นับคำขอดาวน์โหลดและอัปโหลดไปยัง Cloud Storage for Firebase API อย่างถูกต้อง เราได้ดำเนินการแก้ไขปัญหานี้โดยเริ่มตั้งแต่วันที่ 15 กันยายน 2023
สำหรับผู้ใช้ Blaze การดำเนินการอัปโหลดและดาวน์โหลดจะเริ่มนับรวมในการเรียกเก็บเงินรายเดือน สำหรับผู้ใช้ Spark จะเริ่มนับรวมในขีดจำกัดการใช้งานฟรีรายเดือนของคุณ
เราขอแนะนำให้ตรวจสอบหน้าการใช้งานเพื่อหาการเพิ่มที่อาจนับรวมในขีดจำกัดของคุณ
Cloud Storage for Firebase: เหตุใดฉันจึงเห็นรหัสบัญชีบริการใหม่ที่เชื่อมโยงกับโปรเจ็กต์ Firebase ที่ใช้ Cloud Storage สำหรับ Firebase
Firebase ใช้บัญชีบริการในการดำเนินการและจัดการบริการโดยไม่ต้องแชร์ข้อมูลเข้าสู่ระบบของผู้ใช้ เมื่อสร้างโปรเจ็กต์ Firebase คุณอาจสังเกตเห็นว่ามีบัญชีบริการจำนวนหนึ่งอยู่แล้วในโปรเจ็กต์ของคุณ
บัญชีบริการที่ Cloud Storage for Firebase ใช้จะกำหนดขอบเขตไปยังโปรเจ็กต์ของคุณและใช้ชื่อว่า service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
หากใช้ Cloud Storage สำหรับ Firebase ก่อนวันที่ 19 กันยายน 2022 คุณอาจเห็นบัญชีบริการเพิ่มเติมในที่เก็บข้อมูล Cloud Storage ที่ลิงก์ก่อนหน้านี้ชื่อ firebase-storage@system.gserviceaccount.com
ตั้งแต่วันที่ 19 กันยายน 2022 ระบบจะไม่รองรับบัญชีบริการนี้อีกต่อไป
คุณดูบัญชีบริการทั้งหมดที่เชื่อมโยงกับโปรเจ็กต์ได้ในคอนโซล Firebase ในแท็บบัญชีบริการ
การเพิ่มบัญชีบริการใหม่
หากคุณนำบัญชีบริการออกก่อนหน้านี้หรือบัญชีบริการไม่มีในโปรเจ็กต์ คุณอาจทำอย่างใดอย่างหนึ่งต่อไปนี้เพื่อเพิ่มบัญชี
- (แนะนำ) อัตโนมัติ: ใช้ปลายทาง REST AddFirebase เพื่อนำเข้าที่เก็บข้อมูลไปยัง Firebase อีกครั้ง คุณจะต้องเรียกใช้ปลายทางนี้เพียงครั้งเดียวเท่านั้น ไม่ใช่ 1 ครั้งสำหรับที่เก็บข้อมูลที่ลิงก์แต่ละรายการ
-
ด้วยตนเอง: ทำตามขั้นตอนในหัวข้อสร้างและจัดการบัญชีบริการ
ทำตามคำแนะนำดังกล่าวโดยเพิ่มบัญชีบริการที่มีบทบาท IAM
Cloud Storage for Firebase Service Agent
และชื่อบัญชีบริการservice-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
การนำบัญชีบริการใหม่ออก
เราไม่แนะนำให้คุณนำบัญชีบริการออกเนื่องจากการดำเนินการนี้อาจบล็อกการเข้าถึงที่เก็บข้อมูล Cloud Storage จากแอป หากต้องการนำบัญชีบริการออกจากโปรเจ็กต์ ให้ทำตามวิธีการในการปิดใช้บัญชีบริการ
Crashlytics
ไปที่หน้าการแก้ปัญหาและคำถามที่พบบ่อยของ Crashlytics เพื่อดูเคล็ดลับที่มีประโยชน์และคำตอบสำหรับคำถามที่พบบ่อยเพิ่มเติม
ลิงก์แบบไดนามิก
ลิงก์แบบไดนามิก: แผนการใช้งานลิงก์แบบไดนามิกของ Firebase ในอนาคตจะเป็นอย่างไร
ลิงก์แบบไดนามิก: เหตุใดแอป Android ของฉันจึงเข้าถึงลิงก์แบบไดนามิกแต่ละรายการ 2 ครั้ง
getInvitation
API จะล้างลิงก์แบบไดนามิกที่บันทึกไว้เพื่อป้องกันการเข้าถึง 2 ครั้ง อย่าลืมเรียกใช้ API นี้โดยตั้งค่าพารามิเตอร์ autoLaunchDeepLink
เป็น false
ในกิจกรรม Deep Link แต่ละรายการ เพื่อล้างค่าสำหรับกรณีที่มีการทริกเกอร์กิจกรรมนอกกิจกรรมหลัก
ชุดโปรแกรมจำลองภายในของ Firebase
เหตุใดบันทึกของชุดโปรแกรมจำลองจึงแสดงข้อผิดพลาดที่ขึ้นต้นด้วย "ไม่แนะนำให้ใช้รหัสโปรเจ็กต์หลายรายการในโหมดโปรเจ็กต์เดียว"
ข้อความนี้หมายความว่าชุดโปรแกรมจำลองตรวจพบว่าอาจจะเรียกใช้โปรแกรมจำลองผลิตภัณฑ์บางอย่างโดยใช้รหัสโปรเจ็กต์ที่แตกต่างกัน ซึ่งอาจบ่งบอกถึงการกำหนดค่าที่ไม่ถูกต้อง และอาจทำให้เกิดปัญหาเมื่อโปรแกรมจำลองพยายามสื่อสารกัน รวมถึงเมื่อคุณพยายามโต้ตอบกับโปรแกรมจำลองจากโค้ด หากรหัสโปรเจ็กต์ไม่ตรงกัน ก็มักจะดูเหมือนว่าข้อมูลขาดหายไป เนื่องจากข้อมูลที่จัดเก็บไว้ในโปรแกรมจำลองจะคีย์กับรหัสโปรเจ็กต์ และความสามารถในการทำงานร่วมกันก็ขึ้นอยู่กับรหัสโปรเจ็กต์ที่ตรงกัน
ปัญหานี้มักทำให้นักพัฒนาซอฟต์แวร์สับสน ดังนั้น โดยค่าเริ่มต้นแล้ว ชุดโปรแกรมจำลองภายในจะอนุญาตเฉพาะการทำงานด้วยรหัสโปรเจ็กต์เดียวเท่านั้น เว้นแต่คุณจะระบุไว้เป็นอย่างอื่นในไฟล์การกำหนดค่า firebase.json
หากโปรแกรมจำลองตรวจพบรหัสโปรเจ็กต์มากกว่า 1 รหัส โปรแกรมจะบันทึกคำเตือนและอาจแสดงข้อผิดพลาดร้ายแรง
ตรวจสอบการประกาศรหัสโปรเจ็กต์เพื่อหาข้อมูลที่ไม่ตรงกันใน:
-
โปรเจ็กต์เริ่มต้นที่ตั้งไว้ในบรรทัดคำสั่ง โดยค่าเริ่มต้น ระบบจะนำรหัสโปรเจ็กต์มาใช้เมื่อเริ่มต้นโปรเจ็กต์ที่เลือกด้วย
firebase init
หรือfirebase use
หากต้องการดูรายการโปรเจ็กต์ (และดูว่าโปรเจ็กต์ใดที่เลือกไว้) ให้ใช้firebase projects:list
-
การทดสอบ 1 หน่วย รหัสโปรเจ็กต์มักระบุไว้ในการเรียกใช้เมธอดไลบรารีการทดสอบหน่วยกฎ
initializeTestEnvironment
หรือinitializeTestApp
โค้ดการทดสอบอื่นๆ อาจเริ่มต้นด้วยinitializeApp(config)
-
แฟล็กบรรทัดคำสั่ง
--project
การส่งผ่าน Flag--project
ของ Firebase CLI จะลบล้างโปรเจ็กต์เริ่มต้น คุณจะต้องตรวจสอบว่าค่าของแฟล็กตรงกับรหัสโปรเจ็กต์ในการทดสอบหน่วยและการเริ่มต้นแอป
สถานที่เฉพาะแพลตฟอร์มที่ต้องตรวจสอบ:
เว็บ | พร็อพเพอร์ตี้ projectId ในออบเจ็กต์ firebaseConfig ของ JavaScript ที่ใช้ใน initializeApp
|
Android | พร็อพเพอร์ตี้ project_id ในไฟล์การกำหนดค่า google-services.json
|
แพลตฟอร์มของ Apple | พร็อพเพอร์ตี้ PROJECT_ID ในไฟล์การกำหนดค่า GoogleService-Info.plist
|
หากต้องการปิดใช้โหมดโปรเจ็กต์เดียว ให้อัปเดต firebase.json
ด้วยคีย์ singleProjectMode
ดังนี้
{ "firestore": { ... }, "functions": { ... }, "hosting": { ... }, "emulators": { "singleProjectMode": false, "auth": { "port": 9099 }, "functions": { "port": 5001 }, ... } }
โฮสติ้ง
โฮสติ้ง: ฉันจะจัดเก็บไฟล์ปฏิบัติการในโปรเจ็กต์แพ็กเกจ Spark ได้ไหม
สำหรับโปรเจ็กต์แผนแบบไม่มีค่าใช้จ่าย (Spark) Firebase จะบล็อกการอัปโหลดและการโฮสต์ไฟล์ปฏิบัติการบางประเภทสำหรับ Windows, Android และ Apple โดยใช้ Cloud Storage for Firebase และโฮสติ้งของ Firebase นโยบายนี้มีไว้เพื่อป้องกันการละเมิดในแพลตฟอร์มของเรา
ระบบจะบล็อกการแสดง การโฮสต์ และการอัปโหลดไฟล์ที่ไม่ได้รับอนุญาตสำหรับโปรเจ็กต์ Spark ทั้งหมดที่สร้างขึ้นในวันที่ 28 กันยายน 2023 หรือหลังจากนั้น สำหรับโปรเจ็กต์ Spark ที่มีอยู่ซึ่งมีไฟล์ที่อัปโหลดก่อนวันที่ดังกล่าว ไฟล์ดังกล่าวจะยังคงอัปโหลดและโฮสต์ได้
ข้อจำกัดนี้มีผลกับโปรเจ็กต์ในแพ็กเกจ Spark โปรเจ็กต์ที่ใช้แพ็กเกจจ่ายเมื่อใช้ (Blaze) จะไม่ได้รับผลกระทบ
ไฟล์ประเภทต่อไปนี้โฮสต์บนโฮสติ้งของ Firebase และ Cloud Storage สำหรับ Firebase ไม่ได้
- ไฟล์ Windows ที่มีส่วนขยาย
.exe
,.dll
และ.bat
- ไฟล์ Android ที่มีนามสกุล
.apk
- ไฟล์แพลตฟอร์ม Apple ที่มีส่วนขยาย
.ipa
สิ่งที่ต้องทำ
หากคุณยังต้องการโฮสต์ประเภทไฟล์เหล่านี้หลังจากวันที่ 28 กันยายน 2023 ให้ทำดังนี้
- สำหรับโฮสติ้ง: อัปเกรดเป็นแพ็กเกจ Blaze ก่อนจึงจะทำให้ประเภทไฟล์เหล่านี้ใช้งานได้กับโฮสติ้งของ Firebase ผ่านคำสั่ง
firebase deploy
ได้ - สำหรับพื้นที่เก็บข้อมูล: อัปเกรดเป็นแพ็กเกจ Blaze เพื่ออัปโหลดประเภทไฟล์เหล่านี้ไปยังที่เก็บข้อมูลที่คุณเลือกโดยใช้ GCS CLI, คอนโซล Firebase หรือคอนโซล Google Cloud
ใช้เครื่องมือ Firebase เพื่อจัดการทรัพยากรโฮสติ้งของ Firebase และ Cloud Storage
- สำหรับการจัดการทรัพยากรในโฮสติ้งของ Firebase ให้ใช้คอนโซล Firebase เพื่อลบรุ่นตามคู่มือนี้
- สำหรับการจัดการทรัพยากรใน Cloud Storage ให้ไปที่หน้าผลิตภัณฑ์ Storage ในโปรเจ็กต์
- ในแท็บไฟล์ ให้ค้นหาไฟล์ที่ไม่ได้รับอนุญาตเพื่อลบในลำดับชั้นของโฟลเดอร์ จากนั้นเลือกไฟล์โดยใช้ช่องทำเครื่องหมายข้างชื่อไฟล์ทางด้านซ้ายของแผง
- คลิกลบ และยืนยันว่าไฟล์ถูกลบไปแล้ว
โปรดอ่านเอกสารประกอบของเราเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ ทรัพยากรโฮสติ้งด้วยเครื่องมือ Firebase และที่เก็บข้อมูล Cloud Storage for Firebase ที่มีไลบรารีของไคลเอ็นต์
โฮสติ้ง: เหตุใดตารางประวัติการเผยแพร่โฮสติ้งของฉันในคอนโซล Firebase จึงแสดงจำนวนไฟล์มากกว่าที่โปรเจ็กต์ในเครื่องมีจริง
Firebase จะเพิ่มไฟล์เพิ่มเติมที่มีข้อมูลเมตาเกี่ยวกับเว็บไซต์โฮสติ้งโดยอัตโนมัติ และไฟล์เหล่านี้จะรวมอยู่ในจำนวนไฟล์ทั้งหมดของการเผยแพร่นี้
โฮสติ้ง: ไฟล์ขนาดใหญ่ที่สุดที่ฉันนำไปใช้ในโฮสติ้งของ Firebase ได้คือเท่าใด
โฮสติ้งต้องมีขนาดไม่เกิน 2 GB สำหรับแต่ละไฟล์
เราขอแนะนำให้จัดเก็บไฟล์ขนาดใหญ่กว่าโดยใช้ Cloud Storage ซึ่งมีขีดจำกัดขนาดสูงสุดในช่วงเทราไบต์สำหรับออบเจ็กต์แต่ละรายการ
โฮสติ้ง: ฉันมีเว็บไซต์โฮสติ้งได้กี่เว็บไซต์ต่อโปรเจ็กต์ Firebase
ฟีเจอร์หลายไซต์สำหรับโฮสติ้งของ Firebase รองรับเว็บไซต์ได้สูงสุด 36 เว็บไซต์ต่อโปรเจ็กต์
Performance Monitoring
ไปที่หน้าการแก้ปัญหาและคำถามที่พบบ่อยเกี่ยวกับการตรวจสอบประสิทธิภาพเพื่อดูเคล็ดลับที่มีประโยชน์และคำตอบสำหรับคำถามที่พบบ่อยเพิ่มเติม
การตรวจสอบประสิทธิภาพ: ฉันสามารถสร้างรูปแบบ URL ที่กำหนดเองได้กี่รูปแบบ
คุณสามารถสร้างรูปแบบ URL ที่กำหนดเองได้สูงสุด 400 รายการต่อแอป และรูปแบบ URL ที่กำหนดเองได้สูงสุด 100 รายการต่อโดเมนสำหรับแอปนั้น
การตรวจสอบประสิทธิภาพ: เหตุใดฉันจึงไม่เห็นการแสดงข้อมูลประสิทธิภาพแบบเรียลไทม์
หากต้องการดูข้อมูลประสิทธิภาพแบบเรียลไทม์ โปรดตรวจสอบว่าแอปใช้เวอร์ชัน Performance Monitoring SDK ที่เข้ากันได้กับการประมวลผลข้อมูลแบบเรียลไทม์
- iOS — v7.3.0 ขึ้นไป
- tvOS — v8.9.0 ขึ้นไป
- Android — v19.0.10 ขึ้นไป (หรือ Firebase Android BoM v26.1.0 ขึ้นไป)
- เว็บ — v7.14.0 ขึ้นไป
โปรดทราบว่าเราขอแนะนำให้ใช้ SDK เวอร์ชันล่าสุดเสมอ แต่ทุกเวอร์ชันที่ระบุไว้ด้านบนจะช่วยให้การตรวจสอบประสิทธิภาพประมวลผลข้อมูลได้แบบเกือบเรียลไทม์
Realtime Database
Realtime Database: เหตุใดแบนด์วิดท์ที่รายงาน Realtime Database ของฉันจึงต่ำกว่าค่าเฉลี่ยระหว่างเดือนกันยายน 2016 ถึงมีนาคม 2017
สำหรับการคำนวณแบนด์วิดท์ ปกติแล้วเราจะรวมโอเวอร์เฮดการเข้ารหัส SSL ไว้ด้วย (อิงตามเลเยอร์ 5 ของโมเดล OSI) อย่างไรก็ตาม ในเดือนกันยายน 2016 เราได้เปิดตัวข้อบกพร่องที่ทำให้การรายงานแบนด์วิดท์ไม่สนใจค่าใช้จ่ายในการเข้ารหัส ซึ่งอาจส่งผลให้มีการรายงานแบนด์วิดท์ต่ำและมีค่าใช้จ่ายในบัญชีเป็นเวลา 2-3 เดือน
เราได้เผยแพร่การแก้ไขข้อบกพร่องเมื่อปลายเดือนมีนาคม 2017 โดยคืนการรายงานแบนด์วิดท์และการเรียกเก็บเงินไปยังระดับปกติ
Realtime Database: ขีดจำกัดการปรับขนาดของ Realtime Database มีอะไรบ้าง
อินสแตนซ์ Realtime Database แต่ละรายการมีขีดจำกัดสำหรับจำนวนการดำเนินการเขียนต่อวินาที สำหรับการเขียนขนาดเล็ก ขีดจำกัดนี้คือประมาณ 1, 000 การดำเนินการเขียนต่อวินาที หากใกล้ถึงขีดจํากัดนี้แล้ว การดำเนินการแบบกลุ่มโดยใช้การอัปเดตแบบหลายเส้นทางจะช่วยให้คุณได้รับอัตราการส่งข้อมูลที่สูงขึ้นได้
นอกจากนี้ อินสแตนซ์ฐานข้อมูลแต่ละรายการยังมีขีดจำกัดสำหรับจำนวนการเชื่อมต่อฐานข้อมูลที่เกิดขึ้นพร้อมกันด้วย ขีดจำกัดเริ่มต้นของเรามีมากพอสำหรับแอปพลิเคชันส่วนใหญ่ หากคุณกำลังสร้างแอปที่ต้องใช้การปรับขนาดเพิ่มเติม คุณอาจต้องชาร์ดแอปพลิเคชันในอินสแตนซ์ฐานข้อมูลหลายรายการเพื่อเพิ่มขนาด คุณอาจพิจารณาใช้ Cloud Firestore เป็นฐานข้อมูลทางเลือกด้วย
Realtime Database: ฉันจะทำอะไรได้บ้างหากมีการใช้งาน Realtime Database เกินขีดจำกัด
หากได้รับการแจ้งเตือนทางอีเมลในคอนโซล Firebase ว่าคุณใช้งาน Realtime Database เกินขีดจำกัดแล้ว คุณจะจัดการกับการใช้งานได้ตามขีดจำกัดการใช้งานที่เกินมา หากต้องการดูการใช้งาน Realtime Database ให้ไปที่แดชบอร์ดการใช้งานใน Realtime Database ในคอนโซล Firebase
หากดาวน์โหลดเกินขีดจำกัดแล้ว คุณจะอัปเกรดแผนการตั้งราคา Firebase หรือรอจนกว่าขีดจำกัดการดาวน์โหลดจะรีเซ็ตเมื่อเริ่มรอบการเรียกเก็บเงินถัดไป หากต้องการลดการดาวน์โหลด ให้ลองทำตามขั้นตอนต่อไปนี้
- เพิ่มการค้นหาเพื่อจำกัดข้อมูลที่การดำเนินการฟังส่งคืน
- ตรวจสอบคำค้นหาที่ไม่ได้จัดทำดัชนี
- ใช้ Listener ที่ดาวน์โหลดการอัปเดตข้อมูลเท่านั้น เช่น
on()
แทนonce()
- ใช้กฎความปลอดภัยเพื่อบล็อกการดาวน์โหลดที่ไม่ได้รับอนุญาต
หากคุณใช้พื้นที่เก็บข้อมูลเกินขีดจำกัด โปรดอัปเกรดแพ็กเกจราคาเพื่อหลีกเลี่ยงการหยุดชะงักของบริการ หากต้องการลดจำนวนข้อมูลในฐานข้อมูล ให้ลองทำตามขั้นตอนต่อไปนี้
- เรียกใช้งานทำความสะอาดเป็นระยะ
- ลดข้อมูลที่ซ้ำซ้อนในฐานข้อมูล
โปรดทราบว่าระบบอาจใช้เวลาสักครู่จึงจะเห็นการลบข้อมูลแสดงในการจัดสรรพื้นที่เก็บข้อมูล
หากคุณใช้การเชื่อมต่อฐานข้อมูลพร้อมกันเกินขีดจำกัด โปรดอัปเกรดแพ็กเกจเพื่อไม่ให้บริการหยุดชะงัก หากต้องการจัดการการเชื่อมต่อกับฐานข้อมูลพร้อมกัน ให้ลองเชื่อมต่อผ่านผู้ใช้ผ่าน REST API หากผู้ใช้ไม่ต้องใช้การเชื่อมต่อแบบเรียลไทม์
การกำหนดค่าระยะไกล
การกำหนดค่าระยะไกล: เหตุใดค่าที่ดึงมาจึงไม่เปลี่ยนลักษณะการทำงานและรูปลักษณ์ของแอป
ระบบจะเก็บค่าไว้ในเครื่อง แต่จะไม่เปิดใช้งาน เว้นแต่คุณจะดึงข้อมูลค่าด้วย fetchAndActivate()
หากต้องการเปิดใช้งานค่าที่ดึงมาเพื่อให้มีผล โปรดเรียกใช้ activate
การออกแบบนี้ช่วยให้คุณควบคุมได้ว่าจะเปลี่ยนแปลงลักษณะการทำงานและรูปลักษณ์ของแอปเมื่อใด เนื่องจากคุณเลือกเวลาที่จะเรียก activate
ได้ หลังจากที่เรียกใช้ activate
ซอร์สโค้ดของแอปจะกำหนดว่ามีการใช้ค่าพารามิเตอร์ที่อัปเดตแล้วเมื่อใด
เช่น คุณอาจดึงข้อมูลค่าแล้วเปิดใช้งานในครั้งถัดไปที่ผู้ใช้เริ่มต้นแอป ซึ่งทําให้ไม่ต้องหน่วงเวลาการเริ่มต้นแอปในขณะที่แอปรอค่าที่ดึงมาจากบริการ การเปลี่ยนแปลง ลักษณะการทำงานและรูปลักษณ์ของแอปจะเกิดขึ้นเมื่อแอปใช้ค่าพารามิเตอร์ ที่อัปเดตแล้ว
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Remote Config API และโมเดลการใช้งานได้ที่ภาพรวมของ API การกำหนดค่าระยะไกล
การกำหนดค่าระยะไกล: ฉันส่งคำขอดึงข้อมูลจำนวนมากขณะพัฒนาแอป ทำไมแอปของฉันจึงไม่ได้รับค่าล่าสุดจากบริการทุกครั้งที่ส่งคำขอดึงข้อมูล
ในระหว่างการพัฒนาแอป คุณอาจต้องการดึงข้อมูลและเปิดใช้งานการกำหนดค่าบ่อยๆ (หลายครั้งต่อชั่วโมง) เพื่อให้คุณทำซ้ำได้อย่างรวดเร็วขณะพัฒนาและทดสอบแอป หากต้องการรองรับการดำเนินการซ้ำอย่างรวดเร็วในโปรเจ็กต์ที่มีนักพัฒนาซอฟต์แวร์สูงสุด 10 ราย คุณสามารถตั้งค่าออบเจ็กต์ FirebaseRemoteConfigSettings
ชั่วคราวโดยมีช่วงการดึงข้อมูลขั้นต่ำ (setMinimumFetchIntervalInSeconds
) ในแอปต่ำ
การกำหนดค่าระยะไกล: บริการกำหนดค่าระยะไกลแสดงผลค่าที่ดึงมาหลังจากที่แอปส่งคำขอดึงข้อมูลไปแล้วเร็วแค่ไหน
โดยทั่วไปอุปกรณ์จะได้รับค่าที่ดึงมาภายในเวลาไม่ถึง 1 วินาที และมักจะได้รับค่าที่ดึงมาในหน่วยมิลลิวินาที บริการการกำหนดค่าระยะไกลจะจัดการคำขอดึงข้อมูลภายในมิลลิวินาที แต่เวลาที่ใช้ในการส่งคำขอดึงข้อมูลจะขึ้นอยู่กับความเร็วเครือข่ายของอุปกรณ์และเวลาในการตอบสนองของการเชื่อมต่อเครือข่ายที่อุปกรณ์ใช้
หากเป้าหมายของคุณคือการทำให้ค่าที่ดึงข้อมูลมามีผลในแอปโดยเร็วที่สุด แต่ไม่ทำให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่น่าตกใจ ให้พิจารณาเพิ่มการโทรไปยัง fetchAndActivate
ทุกครั้งที่แอปรีเฟรชแบบเต็มหน้าจอ
Test Lab
ไปที่หน้าการแก้ปัญหาของ Test Lab เพื่อดูเคล็ดลับที่มีประโยชน์และคำตอบสำหรับคำถามที่พบบ่อย
พื้นที่เก็บข้อมูลการแบ่งกลุ่มผู้ใช้ของ Firebase
พื้นที่เก็บข้อมูลการแบ่งกลุ่มผู้ใช้ของ Firebase คืออะไร
พื้นที่เก็บข้อมูลการแบ่งกลุ่มผู้ใช้ของ Firebase จะจัดเก็บ รหัสการติดตั้ง Firebase และแอตทริบิวต์และกลุ่มที่เกี่ยวข้อง รวมถึงรายการกลุ่มเป้าหมายที่คุณสร้างขึ้น เพื่อให้ข้อมูลการกำหนดเป้าหมายแก่บริการ Firebase อื่นๆ ที่ใช้ เช่น Crashlytics, FCM, การปรับเปลี่ยนการกำหนดค่าระยะไกลในแบบของคุณ และอื่นๆ