หากพบปัญหาอื่นๆ หรือไม่พบปัญหาที่ระบุไว้ด้านล่าง โปรดรายงานข้อบกพร่องหรือขอฟีเจอร์ และเข้าร่วมการสนทนาใน Stackoverflow
โปรเจ็กต์ Firebase และแอป Firebase
โครงการ Firebase คืออะไร
โปรเจ็กต์ Firebase คือเอนทิตีระดับบนสุดของ Firebase ในโปรเจ็กต์ คุณสามารถลงทะเบียนแอป Apple, Android หรือเว็บ หลังจากลงทะเบียนแอปกับ Firebase แล้ว คุณสามารถเพิ่ม Firebase SDK สําหรับผลิตภัณฑ์ที่เฉพาะเจาะจงลงในแอป เช่น Analytics, Cloud Firestore, Crashlytics หรือ Remote Config
คุณควรลงทะเบียนตัวแปรแอป 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 ไปยังโปรเจ็กต์ Google Cloud ที่มีอยู่ได้โดยใช้ตัวเลือกต่อไปนี้
- การใช้คอนโซล Firebase
- การใช้ตัวเลือกแบบเป็นโปรแกรม
- เรียกใช้ปลายทาง REST API ของ Firebase Management
projects.addFirebase
- เรียกใช้Firebaseคําสั่ง CLI
firebase projects:addfirebase
- ใช้ Terraform
- เรียกใช้ปลายทาง REST API ของ Firebase Management
ดูรายละเอียดเพิ่มเติมเกี่ยวกับการเพิ่ม Firebase ลงในโปรเจ็กต์ Google Cloud
การผสานรวม 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 คุณจะใช้ Infrastructure-as-a-Service และ API ระดับโลกของ Google Cloud โดยตรงในโปรเจ็กต์ Firebase ได้ในราคาGoogle Cloudมาตรฐาน นอกจากนี้ คุณยังส่งออกข้อมูลจาก Google Cloud ไปยัง BigQuery โดยตรงเพื่อการวิเคราะห์ได้ด้วย ดูข้อมูลเพิ่มเติมได้ที่ลิงก์ BigQuery กับ Firebase
การใช้ Google Cloud กับ Firebase (เทียบกับบริการอื่นๆ ในระบบคลาวด์ที่ไม่ได้อยู่ในตำแหน่งเดียวกัน) มีประโยชน์มากมายในด้านการเพิ่มความปลอดภัย การปรับปรุงเวลาในการตอบสนอง และประหยัดเวลา ดูรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ Google Cloud
เหตุใดโปรเจ็กต์ Google Cloud ของฉันจึงมีป้ายกำกับเป็น firebase:enabled
ในหน้าป้ายกำกับสำหรับโปรเจ็กต์ในคอนโซล Google Cloud คุณอาจเห็นป้ายกำกับ firebase:enabled
(โดยเฉพาะ Key
ของ firebase
ที่มี Value
ของ enabled
)
Firebase เพิ่มป้ายกำกับนี้โดยอัตโนมัติเนื่องจากโปรเจ็กต์ของคุณเป็นโปรเจ็กต์ Firebase ซึ่งหมายความว่าโปรเจ็กต์ของคุณมีการกําหนดค่าและบริการเฉพาะ Firebase ที่ใช้อยู่ ดูข้อมูลเพิ่มเติมเกี่ยวกับความสัมพันธ์ระหว่างโปรเจ็กต์ Firebase กับ Google Cloud
เราขอแนะนำอย่างยิ่งว่าอย่าแก้ไขหรือลบป้ายกำกับนี้ Firebase และ Google Cloud ใช้ป้ายกำกับนี้เพื่อแสดงรายการโปรเจ็กต์ Firebase (เช่น การใช้ปลายทาง projects.list
REST API หรือในเมนูภายในคอนโซล Firebase)
โปรดทราบว่าการเพิ่มป้ายกำกับนี้ลงในรายการป้ายกำกับโปรเจ็กต์ด้วยตนเองจะไม่เปิดใช้การกำหนดค่าและบริการเฉพาะ Firebase สำหรับโปรเจ็กต์ Google Cloud โดยคุณต้องเพิ่ม Firebase โดยใช้คอนโซล Firebase (หรือสําหรับกรณีการใช้งานขั้นสูง ให้ใช้ Firebase Management REST API หรือ Firebase CLI)
ทําไมโปรเจ็กต์ Firebase ของฉันจึงไม่แสดงในรายการโปรเจ็กต์ Firebase
คําถามที่พบบ่อยนี้ใช้ในกรณีที่คุณไม่เห็นโปรเจ็กต์ Firebase ในตำแหน่งต่อไปนี้
- ในรายการโปรเจ็กต์ที่คุณดูอยู่ในคอนโซล Firebase
- ในการตอบกลับจากการเรียกใช้ REST API
ปลายทาง
projects.list
- ในการตอบกลับจากการใช้คำสั่ง CLI Firebase
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 องค์กรของคุณเพื่อให้บทบาทที่เหมาะสมในการดูโปรเจ็กต์ เช่น บทบาท Browser
หากขั้นตอนแก้ปัญหาข้างต้นไม่ช่วยให้คุณเห็นโปรเจ็กต์ในรายการโปรเจ็กต์ Firebase โปรดติดต่อทีมสนับสนุนของ Firebase
ฉันมีโปรเจ็กต์ได้กี่โปรเจ็กต์ต่อบัญชี
- แพ็กเกจราคา Spark - โควต้าโปรเจ็กต์ของคุณจํากัดไว้ที่โปรเจ็กต์จํานวนน้อย (โดยปกติประมาณ 5-10 โปรเจ็กต์)
- แพ็กเกจราคา Blaze - โควต้าของโปรเจ็กต์ต่อบัญชี Cloud Billing จะเพิ่มขึ้นอย่างมากตราบใดที่บัญชี Cloud Billing อยู่ในสถานะดี
นักพัฒนาแอปส่วนใหญ่ไม่ค่อยกังวลเกี่ยวกับขีดจำกัดโควต้าโปรเจ็กต์ แต่หากจำเป็น คุณสามารถขอเพิ่มโควต้าโปรเจ็กต์ได้
โปรดทราบว่าการลบโปรเจ็กต์อย่างสมบูรณ์จะใช้เวลา 30 วันและจะนับรวมในโควต้าจนกว่าจะลบโปรเจ็กต์ออกจนหมด
ฉันมีแอป Firebase ในโปรเจ็กต์ Firebase ได้กี่แอป
โปรเจ็กต์ Firebase คือคอนเทนเนอร์สำหรับแอป Firebase บน Apple, Android และเว็บ Firebase จำกัดจำนวนแอป Firebase ทั้งหมดภายในโปรเจ็กต์ Firebase ไว้ที่ 30 แอป
หลังจากจำนวนนี้ ประสิทธิภาพจะเริ่มลดลง (โดยเฉพาะสำหรับ Google Analytics) และในที่สุด เมื่อจำนวนแอปมากขึ้น ฟังก์ชันบางอย่างของผลิตภัณฑ์จะหยุดทำงาน นอกจากนี้ หากคุณใช้ฟีเจอร์ลงชื่อเข้าใช้ด้วย Google เป็นผู้ให้บริการตรวจสอบสิทธิ์ ระบบจะสร้างรหัสไคลเอ็นต์ 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
-
แอป Android ใน Firebase:
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
- คุณต้องเป็นเจ้าของโปรเจ็กต์ Firebase จึงจะลิงก์โปรเจ็กต์ BigQuery ได้
ฉันควรใส่ประกาศเกี่ยวกับโอเพนซอร์สใดไว้ในแอป
ในแพลตฟอร์ม Apple พ็อด Firebase จะมีไฟล์ NOTICES ซึ่งมีรายการที่เกี่ยวข้อง Firebase Android SDK มีตัวช่วย Activity
สำหรับแสดงข้อมูลใบอนุญาต
สิทธิ์และการเข้าถึงโปรเจ็กต์ Firebase
ฉันจะมอบหมายบทบาทให้กับสมาชิกโปรเจ็กต์ เช่น บทบาทเจ้าของ ได้อย่างไร
หากต้องการจัดการบทบาทที่กำหนดให้กับสมาชิกโปรเจ็กต์แต่ละคน คุณต้องเป็นเจ้าของโปรเจ็กต์ Firebase (หรือได้รับมอบหมายบทบาทที่มีสิทธิ์ resourcemanager.projects.setIamPolicy
)
ตำแหน่งที่คุณมอบหมายและจัดการบทบาทได้มีดังนี้
- คอนโซล Firebase มีวิธีกำหนดบทบาทให้กับสมาชิกโปรเจ็กต์ที่ง่ายดายในแท็บผู้ใช้และสิทธิ์ของ settings > การตั้งค่าโปรเจ็กต์ ในคอนโซล Firebase คุณสามารถกำหนดบทบาทพื้นฐาน (เจ้าของ ผู้แก้ไข ผู้ดู) บทบาทผู้ดูแลระบบ/ผู้ดู Firebase หรือบทบาทที่กำหนดไว้ล่วงหน้าสำหรับหมวดหมู่ผลิตภัณฑ์ Firebase ใดก็ได้
- คอนโซล Google Cloud มีชุดเครื่องมือที่ครอบคลุมสำหรับการกำหนดบทบาทให้กับสมาชิกโปรเจ็กต์ในหน้า IAM ในคอนโซล Cloud คุณยังสร้างและจัดการบทบาทที่กำหนดเอง รวมถึงให้สิทธิ์เข้าถึงโปรเจ็กต์แก่บัญชีบริการได้ด้วย
โปรดทราบว่าในคอนโซล Google Cloud สมาชิกโปรเจ็กต์จะเรียกว่าผู้ใช้หลัก
หากเจ้าของโปรเจ็กต์ไม่สามารถทํางานในฐานะเจ้าของได้อีกต่อไป (เช่น บุคคลดังกล่าวออกจากบริษัท) และโปรเจ็กต์ไม่ได้จัดการผ่านGoogle Cloudองค์กร (ดูย่อหน้าถัดไป) คุณสามารถติดต่อทีมสนับสนุนของ Firebase เพื่อสอบถามวิธีขอสิทธิ์เข้าถึงโปรเจ็กต์ 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 ต้องมีเจ้าของเพื่อให้มีการจัดการอย่างเหมาะสม เจ้าของโปรเจ็กต์คือบุคคลที่ดําเนินการด้านการดูแลระบบที่สําคัญหลายอย่างได้ (เช่น การกําหนดบทบาทและการจัดการพร็อพเพอร์ตี้ 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 องค์กรของคุณเพื่อให้บทบาทที่เหมาะสมในการดูโปรเจ็กต์ เช่น บทบาท Browser
หากขั้นตอนแก้ปัญหาข้างต้นไม่ช่วยให้คุณค้นหาหรือเข้าถึงโปรเจ็กต์ได้ โปรดติดต่อทีมสนับสนุน Firebase
เหตุใดคอนโซล Firebase จึงไม่โหลด
คำถามที่พบบ่อยนี้ใช้ได้ผลในกรณีที่คุณพบปัญหาต่อไปนี้
- หน้าในคอนโซล Firebase โหลดไม่เสร็จ
- ข้อมูลภายในหน้าเว็บไม่โหลดตามที่คาดไว้
- คุณได้รับข้อความแสดงข้อผิดพลาดของเบราว์เซอร์เมื่อโหลดคอนโซล Firebase
ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้
- ตรวจสอบแถวคอนโซลของแดชบอร์ดสถานะ Firebase เพื่อดูการหยุดชะงักของบริการที่อาจเกิดขึ้น
- ตรวจสอบว่าคุณใช้เบราว์เซอร์ที่รองรับ
- ลองโหลดคอนโซล Firebase ในหน้าต่างที่ไม่ระบุตัวตนหรือหน้าต่างส่วนตัว
- ปิดใช้ส่วนขยายเบราว์เซอร์ทั้งหมด
- ตรวจสอบว่าการเชื่อมต่อเครือข่ายไม่ได้ถูกบล็อกโดยตัวบล็อกโฆษณา โปรแกรมป้องกันไวรัส พร็อกซี ไฟร์วอลล์ หรือซอฟต์แวร์อื่นๆ
- ลองโหลดคอนโซล Firebase โดยใช้เครือข่ายหรืออุปกรณ์อื่น
- หากใช้ Chrome ให้ตรวจสอบข้อผิดพลาดในคอนโซลเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์
หากทำตามขั้นตอนการแก้ปัญหาข้างต้นแล้วยังแก้ปัญหาไม่ได้ โปรดติดต่อทีมสนับสนุนของ Firebase
ระบบกำหนดภาษาของFirebaseคอนโซลฉันอย่างไร
การตั้งค่าภาษาสําหรับFirebaseคอนโซลจะอิงตามภาษาที่เลือกไว้ในการตั้งค่าบัญชี Google
หากต้องการเปลี่ยนค่ากําหนดภาษา โปรดดูหัวข้อเปลี่ยนภาษา
คอนโซล Firebase รองรับภาษาต่อไปนี้
- อังกฤษ
- โปรตุเกส (บราซิล)
- ฝรั่งเศส
- เยอรมัน
- อินโดนีเซีย
- ญี่ปุ่น
- เกาหลี
- รัสเซีย
- จีนตัวย่อ
- สเปน
- จีนตัวเต็ม
คอนโซล Firebase รองรับบทบาทและสิทธิ์ใดบ้าง
คอนโซล Firebase และคอนโซล Google Cloud ใช้บทบาทและสิทธิ์พื้นฐานเดียวกัน ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาทและสิทธิ์ในเอกสารประกอบ Firebase IAM
Firebase รองรับบทบาทพื้นฐาน (พื้นฐาน) ของเจ้าของ เอดิเตอร์ และผู้ดู ดังนี้
- เจ้าของโปรเจ็กต์สามารถเพิ่มสมาชิกคนอื่นๆ ลงในโปรเจ็กต์ ตั้งค่าการผสานรวม (การลิงก์โปรเจ็กต์กับบริการต่างๆ เช่น BigQuery หรือ Slack) และมีสิทธิ์แก้ไขโปรเจ็กต์อย่างเต็มรูปแบบ
- ผู้แก้ไขโปรเจ็กต์มีสิทธิ์แก้ไขโปรเจ็กต์อย่างเต็มรูปแบบ
- ผู้ดูโปรเจ็กต์มีสิทธิ์เข้าถึงระดับอ่านอย่างเดียวสำหรับโปรเจ็กต์ โปรดทราบว่าขณะนี้คอนโซล Firebase ไม่ได้ซ่อน/ปิดใช้การควบคุม UI สำหรับการแก้ไขจากผู้ดูโปรเจ็กต์ แต่การดำเนินการเหล่านี้จะไม่สำเร็จสำหรับสมาชิกโปรเจ็กต์ที่ได้รับมอบหมายบทบาทผู้ดู
Firebase ยังรองรับการดำเนินการต่อไปนี้ด้วย
- บทบาทที่กำหนดไว้ล่วงหน้าของ Firebase - บทบาทเฉพาะ Firebase ที่ดูแลจัดการซึ่งช่วยให้ควบคุมการเข้าถึงได้ละเอียดกว่าบทบาทพื้นฐานอย่างเจ้าของ ผู้แก้ไข และผู้มีสิทธิ์ดู
- บทบาทที่กําหนดเอง — บทบาท IAM ที่กําหนดเองโดยสมบูรณ์ซึ่งคุณสร้างขึ้นเพื่อปรับแต่งชุดสิทธิ์ให้เป็นไปตามข้อกําหนดเฉพาะขององค์กร
Firebase Local Emulator Suite
เหตุใดบันทึกของชุดโปรแกรมจำลองจึงแสดงข้อผิดพลาดที่ขึ้นต้นด้วย "เราไม่แนะนําให้ใช้ projectId หลายรายการในโหมดโปรเจ็กต์เดียว"
ข้อความนี้หมายความว่าชุดโปรแกรมจำลองตรวจพบว่าอาจมีการเรียกใช้โปรแกรมจำลองผลิตภัณฑ์หนึ่งๆ โดยใช้รหัสโปรเจ็กต์อื่น ข้อความนี้อาจบ่งบอกถึงการกําหนดค่าที่ไม่ถูกต้อง และอาจทําให้เกิดปัญหาเมื่อโปรแกรมจําลองพยายามสื่อสารกัน และเมื่อคุณพยายามโต้ตอบกับโปรแกรมจําลองจากโค้ด หากรหัสโปรเจ็กต์ไม่ตรงกัน ข้อมูลมักจะดูเหมือนขาดหายไป เนื่องจากข้อมูลที่จัดเก็บในโปรแกรมจำลองจะเชื่อมโยงกับรหัสโปรเจ็กต์ และการทํางานร่วมกันจะขึ้นอยู่กับรหัสโปรเจ็กต์ที่ตรงกัน
เรื่องนี้มักสร้างความสับสนให้กับนักพัฒนาแอป ดังนั้นโดยค่าเริ่มต้น Local Emulator Suite จะอนุญาตให้ทำงานด้วยรหัสโปรเจ็กต์เดียวเท่านั้น เว้นแต่คุณจะระบุเป็นอย่างอื่นในไฟล์การกำหนดค่า firebase.json
หากโปรแกรมจำลองตรวจพบรหัสโปรเจ็กต์มากกว่า 1 รายการ ระบบจะบันทึกคำเตือนและอาจแสดงข้อผิดพลาดร้ายแรง
ตรวจสอบประกาศรหัสโปรเจ็กต์เพื่อหารายการที่ไม่ตรงกันต่อไปนี้
-
โปรเจ็กต์เริ่มต้นที่ตั้งค่าไว้ในบรรทัดคำสั่ง โดยค่าเริ่มต้น ระบบจะนำรหัสโปรเจ็กต์ที่เริ่มต้นจากโปรเจ็กต์ที่เลือกด้วย
firebase init
หรือfirebase use
หากต้องการดูรายการโปรเจ็กต์ (และดูว่าโปรเจ็กต์ใดที่เลือกไว้) ให้ใช้firebase projects:list
-
การทดสอบ 1 หน่วย รหัสโปรเจ็กต์มักจะระบุไว้ในการเรียกใช้เมธอดของไลบรารีการทดสอบยูนิตกฎ
initializeTestEnvironment
หรือinitializeTestApp
รหัสการทดสอบอื่นๆ อาจเริ่มต้นด้วยinitializeApp(config)
-
Flag
--project
ของบรรทัดคำสั่ง การส่ง Flag Firebase CLI--project
จะลบล้างโปรเจ็กต์เริ่มต้น คุณต้องตรวจสอบว่าค่าของ Flag ตรงกับรหัสโปรเจ็กต์ในการทดสอบหน่วยและการเริ่มต้นแอป
ตำแหน่งที่ควรตรวจสอบสำหรับแต่ละแพลตฟอร์ม
เว็บ | พร็อพเพอร์ตี้ 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 }, ... } }
ราคา
ดูคําถามที่พบบ่อยเกี่ยวกับราคาของผลิตภัณฑ์ที่เฉพาะเจาะจงได้ที่ส่วนผลิตภัณฑ์ในหน้านี้ หรือในเอกสารประกอบของผลิตภัณฑ์นั้นๆ
ผลิตภัณฑ์ใดบ้างที่เสียค่าใช้จ่าย รายการใดบ้างที่ไม่มีค่าใช้จ่าย
ผลิตภัณฑ์โครงสร้างพื้นฐานแบบชำระเงินของ Firebase ได้แก่ Realtime Database, Cloud Storage for Firebase, Cloud Functions, Hosting, Test Lab และการตรวจสอบสิทธิ์ทางโทรศัพท์ เรามีแพ็กเกจที่ไม่มีค่าใช้จ่ายสำหรับฟีเจอร์เหล่านี้ทั้งหมด
นอกจากนี้ Firebase ยังมีผลิตภัณฑ์ที่ไม่มีค่าใช้จ่ายอีกมากมาย ได้แก่ Analytics, Cloud Messaging, เครื่องมือสร้างการแจ้งเตือน Remote Config, App Indexing, Dynamic Links และ Crash Reporting การใช้ผลิตภัณฑ์เหล่านี้อยู่ภายใต้นโยบายการควบคุมการเข้าชมของผลิตภัณฑ์เท่านั้น (เช่น โควต้า การเข้าถึงที่เป็นธรรม และการคุ้มครองบริการอื่นๆ) ในแพ็กเกจทั้งหมด รวมถึงแพ็กเกจ Spark แบบไม่มีค่าใช้จ่าย นอกจากนี้ ฟีเจอร์ Authentication ทั้งหมดนอกเหนือจากการตรวจสอบสิทธิ์ทางโทรศัพท์จะไม่มีค่าใช้จ่าย
Firebase มีเครดิตช่วงทดลองใช้แบบไม่มีค่าใช้จ่ายสำหรับผลิตภัณฑ์แบบชำระเงินไหม
คุณใช้บริการ Firebase แบบชำระเงินได้ภายใต้Google Cloud ช่วงทดลองใช้ฟรี ผู้ใช้ Google Cloud และ Firebase รายใหม่สามารถใช้ประโยชน์จากช่วงทดลองใช้ 90 วัน ซึ่งมีเครดิต Cloud Billing มูลค่า $300 ให้ใช้สำรวจและประเมินผลิตภัณฑ์และบริการของ Google Cloud และ Firebase
ในระหว่างGoogle Cloudช่วงทดลองใช้ฟรี คุณจะได้รับบัญชีทดลองใช้ฟรี Cloud Billing โปรเจ็กต์ Firebase ที่ใช้บัญชีการเรียกเก็บเงินดังกล่าวจะอยู่ภายใต้แพ็กเกจราคา Blaze ในช่วงทดลองใช้ฟรี
ไม่ต้องกังวล การตั้งค่าบัญชี Cloud Billing ช่วงทดลองใช้ฟรีนี้ไม่ได้เป็นการอนุญาตให้เราเรียกเก็บเงินจากคุณ ระบบจะไม่เรียกเก็บเงินจากคุณ เว้นแต่คุณจะเปิดใช้การเรียกเก็บเงินอย่างชัดเจนด้วยการอัปเกรดบัญชี Cloud Billing ช่วงทดลองใช้ฟรีเป็นบัญชีแบบชำระเงิน คุณอัปเกรดเป็นบัญชีแบบชำระเงินได้ทุกเมื่อในระหว่างช่วงทดลองใช้ หลังจากอัปเกรดแล้ว คุณยังคงใช้เครดิตที่เหลืออยู่ได้ (ภายในระยะเวลา 90 วัน)
เมื่อช่วงทดลองใช้ฟรีสิ้นสุดลง คุณจะต้องดาวน์เกรดโปรเจ็กต์เป็นแพ็กเกจราคา Spark หรือตั้งค่าแพ็กเกจราคา Blaze ในคอนโซล Firebase เพื่อใช้โปรเจ็กต์ Firebase ต่อ
ดูข้อมูลเพิ่มเติมเกี่ยวกับGoogle Cloudช่วงทดลองใช้ฟรี
ฉันจะทราบได้อย่างไรว่าแพ็กเกจราคาใดเหมาะกับฉัน
แพ็กเกจราคา Spark
แพ็กเกจ Spark ของเราเป็นแพ็กเกจที่ยอดเยี่ยมสำหรับพัฒนาแอปโดยไม่มีค่าใช้จ่าย คุณจะได้รับฟีเจอร์ Firebase แบบไม่มีค่าใช้จ่ายทั้งหมด (Analytics, Notifications Composer, Crashlytics และอื่นๆ) รวมถึงฟีเจอร์โครงสร้างพื้นฐานแบบชำระเงินจำนวนมาก อย่างไรก็ตาม หากคุณใช้ทรัพยากรของแพ็กเกจ Spark เกินในเดือนปฏิทิน ระบบจะปิดแอปของคุณในช่วงที่เหลือของเดือนนั้น นอกจากนี้ ฟีเจอร์ Google Cloud จะใช้งานไม่ได้เมื่อใช้แพ็กเกจ Spark
แพ็กเกจราคา Blaze
แพ็กเกจ Blaze ออกแบบมาสำหรับแอปเวอร์ชันที่ใช้งานจริง แพ็กเกจ Blaze ยังช่วยให้คุณขยายแอปได้ด้วยฟีเจอร์ Google Cloud ที่มีค่าใช้จ่าย คุณจะชำระค่าบริการตามทรัพยากรที่ใช้เท่านั้น จึงปรับขนาดตามความต้องการได้ เรามุ่งมั่นที่จะทำให้ราคาแพ็กเกจ Blaze ของเราแข่งขันได้กับผู้ให้บริการระบบคลาวด์ชั้นนำของอุตสาหกรรม
ฉันจะอัปเกรด ดาวน์เกรด หรือยกเลิกได้ทุกเมื่อไหม
ได้ คุณสามารถอัปเกรด ดาวน์เกรด หรือยกเลิกได้ทุกเมื่อ โปรดทราบว่าเราจะไม่คืนเงินตามสัดส่วนสำหรับการดาวน์เกรดหรือการยกเลิก ซึ่งหมายความว่าหากคุณดาวน์เกรดหรือยกเลิกก่อนสิ้นสุดช่วงเวลาที่เรียกเก็บเงิน คุณจะยังคงต้องชำระค่าบริการสำหรับส่วนที่เหลือของเดือน
การใช้งานแบบไม่มีค่าใช้จ่ายในแพ็กเกจ Blaze แตกต่างจากการใช้งานแบบไม่มีค่าใช้จ่ายในแพ็กเกจ Spark อย่างไร
การใช้งานแบบไม่มีค่าใช้จ่ายในแพ็กเกจ Blaze จะคำนวณเป็นรายวัน ขีดจํากัดการใช้งานจะแตกต่างจากแพ็กเกจ Spark สําหรับ Cloud Functions, การตรวจสอบสิทธิ์ทางโทรศัพท์ และ Test Lab ด้วย
สำหรับ Cloud Functions การใช้งานแบบไม่มีค่าใช้จ่ายในแพ็กเกจ Blaze จะคำนวณที่ระดับบัญชี Cloud Billing ไม่ใช่ระดับโปรเจ็กต์ และมีข้อจำกัดต่อไปนี้
- การเรียกใช้ 2 ล้านครั้ง/เดือน
- 400,000 GB-วินาที/เดือน
- 200,000 CPU-วินาที/เดือน
- การรับส่งข้อมูลขาออกของเครือข่าย 5 GB/เดือน
สำหรับการตรวจสอบสิทธิ์ทางโทรศัพท์ ระบบจะคำนวณการใช้งานแบบไม่มีค่าใช้จ่ายในแพ็กเกจ Blaze เป็นรายเดือน
สำหรับ Test Lab การใช้งานที่ไม่มีค่าใช้จ่ายในแพ็กเกจ Blaze จะมีข้อจำกัดต่อไปนี้
- 30 นาที/วันในอุปกรณ์จริง
- อุปกรณ์เสมือนจริง 60 นาที/วัน
โควต้าการใช้งานแบบไม่มีค่าใช้จ่ายจะรีเซ็ตไหมเมื่อฉันเปลี่ยนจากแพ็กเกจ Spark เป็น Blaze
การใช้งานแบบไม่มีค่าใช้จ่ายจากแพ็กเกจ Spark จะรวมอยู่ในแพ็กเกจ Blaze การใช้งานแบบไม่มีค่าใช้จ่ายจะไม่รีเซ็ตเมื่อเปลี่ยนไปใช้แพ็กเกจ Blaze
จะเกิดอะไรขึ้นกับโปรเจ็กต์ Firebase หากฉันเพิ่มหรือนําบัญชีการเรียกเก็บเงินของโปรเจ็กต์นั้นในคอนโซล Google Cloud ออก
หากเพิ่มบัญชี Cloud Billing ลงในโปรเจ็กต์ในคอนโซล Google Cloud ระบบจะอัปเกรดโปรเจ็กต์เดียวกันเป็นแพ็กเกจ Firebase Blaze โดยอัตโนมัติหากโปรเจ็กต์ดังกล่าวใช้แพ็กเกจ Spark อยู่
ในทางตรงกันข้าม หากนำบัญชี Cloud Billing ที่มีอยู่และใช้งานอยู่ออกจากโปรเจ็กต์ในคอนโซล Google Cloud ระบบจะดาวน์เกรดโปรเจ็กต์นั้นเป็นแพ็กเกจ Firebase Spark
ฉันจะตรวจสอบการใช้งานและการเรียกเก็บเงินได้อย่างไร
คุณติดตามการใช้ทรัพยากรของโปรเจ็กต์ได้ในคอนโซล Firebase ในแดชบอร์ดต่อไปนี้
- แดชบอร์ดการใช้งานและการเรียกเก็บเงินระดับโปรเจ็กต์โดยรวม
- Authentication แดชบอร์ดการใช้งาน (สำหรับอินสแตนซ์การตรวจสอบสิทธิ์ทางโทรศัพท์โดยเฉพาะ)
- Cloud Firestore หน้าแดชบอร์ดการใช้งาน
- Cloud Functions หน้าแดชบอร์ดการใช้งาน
- Cloud Storage หน้าแดชบอร์ดการใช้งาน
- Hosting หน้าแดชบอร์ดการใช้งาน
- Realtime Database หน้าแดชบอร์ดการใช้งาน
ฉันจะจำกัดการใช้งานในแพ็กเกจ Blaze ได้ไหม
ไม่ได้ ปัจจุบันคุณไม่สามารถจำกัดการใช้งานแพ็กเกจ Blaze ได้ เรากำลังประเมินตัวเลือกในการรองรับขีดจำกัดการใช้งานแพ็กเกจ Blaze
ผู้ใช้ Blaze สามารถกำหนดงบประมาณสำหรับโปรเจ็กต์หรือบัญชีของตน และได้รับการแจ้งเตือนเมื่อการใช้จ่ายใกล้ถึงขีดจำกัดเหล่านั้น ดูวิธีตั้งค่าการแจ้งเตือนงบประมาณ
ฉันจะได้รับการสนับสนุนประเภทใด
แอป Firebase ทั้งหมด รวมถึงแอปที่ใช้แพ็กเกจที่ไม่มีค่าใช้จ่ายจะได้รับการสนับสนุนทางอีเมลจากเจ้าหน้าที่ Firebase ในช่วงเวลาทำการของสหรัฐอเมริกาฝั่งแปซิฟิก บัญชีทั้งหมดจะได้รับการสนับสนุนแบบไม่จำกัดสำหรับปัญหาเกี่ยวกับการเรียกเก็บเงิน ปัญหาเกี่ยวกับบัญชี คำถามทางเทคนิค (การแก้ปัญหา) และรายงานเหตุการณ์
คุณมีส่วนลดสำหรับองค์กรการกุศล การศึกษา หรือโอเพนซอร์สไหม
บุคคลหรือองค์กรทุกประเภทสามารถใช้แพ็กเกจ Spark ได้ ซึ่งรวมถึงองค์กรการกุศล โรงเรียน และโปรเจ็กต์โอเพนซอร์ส เนื่องจากแพ็กเกจเหล่านี้มีโควต้าที่เพียงพออยู่แล้ว เราจึงไม่เสนอส่วนลดหรือแพ็กเกจพิเศษสำหรับโปรเจ็กต์โอเพนซอร์ส โปรเจ็กต์ที่ไม่แสวงหาผลกำไร หรือโปรเจ็กต์ด้านการศึกษา
คุณเสนอสัญญา การกำหนดราคา การสนับสนุน หรือโฮสติ้งโครงสร้างพื้นฐานเฉพาะสำหรับองค์กรหรือไม่
แพ็กเกจ Blaze เหมาะสำหรับองค์กรทุกขนาด และ SLA ของเราเป็นไปตามหรือสูงกว่ามาตรฐานอุตสาหกรรมสำหรับโครงสร้างพื้นฐานระบบคลาวด์ อย่างไรก็ตาม ขณะนี้เราไม่มีสัญญา การกำหนดราคา หรือการสนับสนุนสำหรับองค์กร รวมถึงไม่มีโฮสติ้งโครงสร้างพื้นฐานเฉพาะ (การติดตั้งในสถานที่) สำหรับบริการอย่าง Realtime Database เรากําลังพยายามเพิ่มฟีเจอร์เหล่านี้
คุณเสนอราคาเฉพาะกิจไหม ฉันต้องการชำระตามการใช้งานสำหรับฟีเจอร์ 1-2 รายการเท่านั้น
เราเสนอราคาเฉพาะกิจในแพ็กเกจ Blaze ซึ่งคุณจะต้องจ่ายเฉพาะสำหรับฟีเจอร์ที่ใช้เท่านั้น
แพ็กเกจ Firebase แบบชำระเงินทำงานร่วมกับ Ads อย่างไร แพ็กเกจแบบชำระเงินมีเครดิตโฆษณาแบบไม่มีค่าใช้จ่ายไหม
แพ็กเกจราคาของ Firebase แยกจาก Ads จึงไม่มีเครดิตโฆษณาแบบไม่มีค่าใช้จ่าย ในฐานะนักพัฒนาแอป Firebase คุณจะสามารถ "ลิงก์" บัญชี Ads กับ Firebase เพื่อรองรับเครื่องมือวัด Conversion
แคมเปญโฆษณาทั้งหมดจะได้รับการจัดการใน Ads โดยตรง และการจัดการการเรียกเก็บเงินของ Ads จะทำได้จากคอนโซล Ads
เกิดอะไรขึ้นกับแพ็กเกจราคา 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
Why is the Flame plan being retired?
ในช่วงหลายปีที่ผ่านมา เราพบว่าการใช้งานแพ็กเกจ Flame ลดลง และโปรเจ็กต์ส่วนใหญ่ที่ใช้แพ็กเกจนี้ไม่ได้ใช้ศักยภาพของแพ็กเกจอย่างเต็มที่ โดยทั่วไปแล้ว การรักษาแพ็กเกจราคานี้ไว้นั้นไม่คุ้มค่า และเราเชื่อว่าเราสามารถให้บริการทุกคนได้ดียิ่งขึ้นหากนำทรัพยากรไปใช้ในการริเริ่มอื่นๆ ของ Firebase
ความเป็นส่วนตัว
ฉันจะดูข้อมูลเกี่ยวกับความเป็นส่วนตัวและความปลอดภัยใน Firebase ได้จากที่ใด
โปรดดูหน้าความเป็นส่วนตัวและความปลอดภัยใน Firebase
Firebase SDK จะบันทึกข้อมูลการใช้งาน/การวินิจฉัยนอก Analytics ไหม
ได้ ปัจจุบันฟีเจอร์นี้ใช้ได้เฉพาะใน iOS แต่อาจมีการเปลี่ยนแปลงในอนาคต Firebase SDK สำหรับแพลตฟอร์ม Apple มีเฟรมเวิร์ก FirebaseCoreDiagnostics
โดยค่าเริ่มต้น Firebase ใช้เฟรมเวิร์กนี้เพื่อรวบรวมข้อมูลการใช้งานและการวินิจฉัย SDK เพื่อช่วยจัดลําดับความสําคัญของการปรับปรุงผลิตภัณฑ์ในอนาคต FirebaseCoreDiagnostics
เป็นตัวเลือก ดังนั้นหากต้องการเลือกไม่ส่งบันทึกการวินิจฉัย Firebase คุณก็ยกเลิกได้โดยยกเลิกการลิงก์ไลบรารีจากแอปพลิเคชัน คุณเรียกดูซอร์สโค้ดฉบับเต็ม รวมถึงค่าที่บันทึกไว้ได้ใน GitHub
A/B Testing
A/B Testing: ฉันสร้างและเรียกใช้การทดสอบได้กี่รายการ
คุณทำการทดสอบได้สูงสุด 300 รายการต่อโปรเจ็กต์ ซึ่งอาจประกอบด้วยการทดสอบที่ทํางานอยู่สูงสุด 24 รายการ ส่วนที่เหลือจะเป็นฉบับร่างหรือเสร็จสมบูรณ์
A/B Testing: ทําไมฉันจึงดูการทดสอบไม่ได้หลังจากยกเลิกการลิงก์และลิงก์โปรเจ็กต์กับ Google Analytics อีกครั้ง
การลิงก์กับพร็อพเพอร์ตี้ Google Analytics อื่นจะทำให้คุณเสียสิทธิ์เข้าถึงการทดสอบที่สร้างไว้ก่อนหน้านี้ หากต้องการเข้าถึงการทดสอบก่อนหน้าอีกครั้ง ให้ลิงก์โปรเจ็กต์กับพร็อพเพอร์ตี้ Google Analytics ที่ลิงก์ไว้เมื่อสร้างการทดสอบอีกครั้ง
A/B Testing: ทําไมฉันจึงได้รับข้อความ "โปรเจ็กต์ไม่ได้ลิงก์กับ Google Analytics" เมื่อสร้างการทดสอบการกําหนดค่าระยะไกล
หากคุณลิงก์ Firebase กับ Google Analytics แล้ว แต่ยังเห็นข้อความว่า Google Analytics ไม่ได้ลิงก์อยู่ ให้ตรวจสอบว่ามีสตรีม Analytics สําหรับแอปทั้งหมดในโปรเจ็กต์ ปัจจุบันแอปทั้งหมดในโปรเจ็กต์ต้องเชื่อมต่อกับสตรีม Google Analytics จึงจะใช้การทดสอบ A/B ได้
คุณดูรายการสตรีมทั้งหมดที่ใช้งานอยู่ได้ในหน้ารายละเอียดการผสานรวม 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: หากต้องการใช้ AdMob ฉันควรใช้ SDK ใด
หากต้องการใช้ AdMob ให้ใช้ SDK Google Mobile Ads เสมอตามที่อธิบายไว้ในคำถามที่พบบ่อยนี้ นอกจากนี้ หากต้องการรวบรวมเมตริกผู้ใช้สําหรับ AdMob ให้รวม Firebase SDK สําหรับ Google Analytics ไว้ในแอป
- สําหรับโปรเจ็กต์ iOS
นําเข้า Google Mobile Ads SDK โดยทําตามวิธีการในเอกสารประกอบ AdMob iOS - สําหรับโปรเจ็กต์ Android
เพิ่ม Dependency สําหรับ Google Mobile Ads SDK ลงในไฟล์build.gradle
implementation 'com.google.android.gms:play-services-ads:23.6.0'
- สำหรับโปรเจ็กต์ C++ และโปรเจ็กต์ Unity: ทำตามวิธีการในเอกสารประกอบที่เกี่ยวข้อง
Analytics
Analytics: เหตุใด Google Analytics จึงเป็นส่วนที่แนะนําในการใช้ผลิตภัณฑ์ Firebase
Google Analytics เป็นโซลูชันข้อมูลวิเคราะห์ที่ฟรีและใช้ได้ไม่จํากัด ซึ่งทำงานร่วมกับฟีเจอร์ Firebase เพื่อมอบข้อมูลเชิงลึกที่มีประสิทธิภาพ ซึ่งจะช่วยให้คุณดูบันทึกเหตุการณ์ใน Crashlytics, ประสิทธิภาพการแจ้งเตือนใน FCM, ประสิทธิภาพของ Deep Link สําหรับ Dynamic Links และข้อมูลการซื้อในแอปจาก Google Play ได้ ซึ่งจะขับเคลื่อนการกำหนดกลุ่มเป้าหมายขั้นสูงใน Remote Config, Remote Config การปรับเปลี่ยนในแบบของคุณ และอื่นๆ
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: การลบพร็อพเพอร์ตี้ Analytics จะส่งผลต่อผลิตภัณฑ์ Firebase หรือผลิตภัณฑ์ Google ที่ผสานรวมอย่างไร
ผลิตภัณฑ์ Firebase หลายรายการใช้การผสานรวม Google Analytics หากมีการลบพร็อพเพอร์ตี้ Analytics และข้อมูลของพร็อพเพอร์ตี้ดังกล่าว สิ่งต่อไปนี้จะเกิดขึ้นหากคุณใช้ผลิตภัณฑ์ต่อไปนี้
- Crashlytics — คุณจะไม่เห็นผู้ใช้ที่ไม่มีข้อขัดข้อง บันทึกเบรดครัมบ์ และ/หรือการแจ้งเตือนความเร็วอีกต่อไป
- Cloud Messaging และ In-App Messaging — คุณจะใช้การกำหนดเป้าหมาย เมตริกแคมเปญ การแบ่งกลุ่มเป้าหมาย และป้ายกํากับข้อมูลวิเคราะห์ไม่ได้อีกต่อไป
- Remote Config — คุณจะใช้การกำหนดค่าที่กำหนดเป้าหมายหรือการปรับตามโปรไฟล์ของผู้ใช้ไม่ได้อีกต่อไป
- A/B Testing — คุณใช้ A/B Testing ไม่ได้อีกต่อไปเนื่องจาก Google Analytics เป็นผู้ให้ข้อมูลการวัดการทดสอบ
- Dynamic Links — ฟีเจอร์ใดก็ตามที่อาศัยข้อมูลจาก Google Analytics จะหยุดชะงัก
นอกจากนี้ การผสานรวมต่อไปนี้จะได้รับผลกระทบด้วย
- คุณส่งออกข้อมูล Analytics ไปยัง BigQuery ไม่ได้อีกต่อไป
- คุณไม่สามารถใช้ประโยชน์จากการผสานรวม Google Ads หรือGoogle AdMob ได้อีกต่อไป
Analytics: ฉันจะแบ่งกลุ่มผู้ใช้ที่ไม่มีคุณสมบัติตรงตามเกณฑ์บางอย่างได้อย่างไร
คุณสามารถปรับกรอบปัญหาใหม่ได้โดย "กำหนดเป้าหมายเชิงลบ" ผู้ใช้เหล่านี้ เช่น เปลี่ยนมุมมองปัญหาเป็น "อย่าแสดงโฆษณาต่อผู้ที่ซื้อไปแล้ว" และสร้างกลุ่มเป้าหมายจากผู้ใช้เหล่านั้นเพื่อกําหนดเป้าหมาย
Analytics: กลุ่มเป้าหมายและ/หรือเหตุการณ์ที่กําหนดไว้ในอินเทอร์เฟซ Google Analytics จะใช้ได้ในคอนโซล Firebase ไหม
ระบบจะซิงค์กลุ่มเป้าหมายและพร็อพเพอร์ตี้ผู้ใช้ สําหรับฟีเจอร์บางอย่าง คุณจะต้องใช้อินเทอร์เฟซ Google Analytics เช่น การแบ่งกลุ่มและ Funnel ที่ปิด คุณสามารถเข้าถึงอินเทอร์เฟซ Google Analytics ได้โดยตรงผ่าน Deep Link จากคอนโซล Firebase
การเปลี่ยนแปลงที่คุณทําจากคอนโซล Firebase จะทำใน Google Analytics ได้ด้วย และการเปลี่ยนแปลงเหล่านั้นจะแสดงใน Firebase
Authentication
Firebase Authentication: ภูมิภาคใดบ้างที่รองรับการตรวจสอบสิทธิ์ทางโทรศัพท์
Firebase Authentication รองรับการยืนยันหมายเลขโทรศัพท์ทั่วโลก แต่เครือข่ายบางเครือข่ายอาจส่งข้อความยืนยันได้ไม่เสถียร ภูมิภาคต่อไปนี้มีอัตราการนำส่งที่ดีและคาดว่าจะทำงานได้ดีสำหรับการยืนยันทางโทรศัพท์ ผู้ให้บริการบางรายอาจไม่พร้อมให้บริการในบางภูมิภาคเนื่องจากอัตราการนำส่งที่ต่ำ
ภูมิภาค | โค้ด |
---|---|
ค.ศ. | อันดอร์รา |
AE | สหรัฐอาหรับเอมิเรตส์ |
AF | อัฟกานิสถาน |
AG | แอนติกาและบาร์บูดา |
อัลบาเนีย | แอลเบเนีย |
AM | อาร์เมเนีย |
AO | แองโกลา |
AR | อาร์เจนตินา |
AS | อเมริกันซามัว |
AT | ออสเตรีย |
AU | ออสเตรเลีย |
AW | อารูบา |
กฮ | อาเซอร์ไบจาน |
BA | บอสเนียและเฮอร์เซโกวีนา |
BB | บาร์เบโดส |
BD | บังกลาเทศ |
BE | เบลเยียม |
BF | บูร์กินาฟาโซ |
BG | บัลแกเรีย |
BJ | เบนิน |
BM | เบอร์มิวดา |
BN | บรูไนดารุสซาลาม |
BO | โบลิเวีย |
BR | บราซิล |
BS | บาฮามาส |
BT | ภูฏาน |
BW | บอตสวานา |
โดย | เบลารุส |
BZ | เบลีซ |
CA | แคนาดา |
CD | คองโก (กินชาซา) |
CF | สาธารณรัฐแอฟริกากลาง |
CG | คองโก (บราซาวีล) |
CH | สวิตเซอร์แลนด์ |
CI | โกตดิวัวร์ |
CK | หมู่เกาะคุก |
CL | ชิลี |
CM | แคเมอรูน |
โคลอมเบีย | โคลอมเบีย |
คำตอบสำเร็จรูป | คอสตาริกา |
CV | เคปเวิร์ด |
CW | คูราเซา |
ไซปรัส | ไซปรัส |
CZ | สาธารณรัฐเช็ก |
DE | เยอรมนี |
ดีเจ | จิบูตี |
DK | เดนมาร์ก |
DM | โดมินิกา |
DO | สาธารณรัฐโดมินิกัน |
DZ | แอลจีเรีย |
EC | เอกวาดอร์ |
EG | อียิปต์ |
ES | สเปน |
ET | เอธิโอเปีย |
FI | ฟินแลนด์ |
FJ | ฟิจิ |
FK | หมู่เกาะฟอล์กแลนด์ (มัลวีนัส) |
FM | ไมโครนีเซีย, สหพันธรัฐ |
FO | หมู่เกาะแฟโร |
ฝรั่งเศส | ฝรั่งเศส |
GA | กาบอง |
GB | สหราชอาณาจักร |
ต่าง | เกรนาดา |
GE | จอร์เจีย |
ได้ | เฟรนช์เกียนา |
GG | เกิร์นซีย์ |
GH | กานา |
GI | ยิบรอลตา |
GL | กรีนแลนด์ |
GM | แกมเบีย |
แข่ง | กัวเดอลุป |
GQ | อิเควทอเรียลกินี |
GR | กรีซ |
GT | กัวเตมาลา |
GY | กายอานา |
HK | ฮ่องกง เขตบริหารพิเศษแห่งประเทศจีน |
HN | ฮอนดูรัส |
HR | โครเอเชีย |
ครึ่งเวลา | เฮติ |
HU | ฮังการี |
รหัส | อินโดนีเซีย |
IE | ไอร์แลนด์ |
IL | อิสราเอล |
IM | เกาะแมน |
IN | อินเดีย |
IQ | อิรัก |
ไอที | อิตาลี |
JE | เจอร์ซีย์ |
JM | จาเมกา |
JO | จอร์แดน |
JP | ญี่ปุ่น |
KE | เคนยา |
KG | คีร์กีซสถาน |
KH | กัมพูชา |
KM | คอโมโรส |
KN | เซนต์คิตส์และเนวิส |
KR | เกาหลีใต้ |
KW | คูเวต |
KY | หมู่เกาะเคย์แมน |
KZ | คาซัคสถาน |
LA | สาธารณรัฐประชาธิปไตยประชาชนลาว |
เลกบาย | เลบานอน |
LC | เซนต์ลูเชีย |
LI | ลิกเตนสไตน์ |
LK | ศรีลังกา |
LS | เลโซโท |
LT | ลิทัวเนีย |
LU | ลักเซมเบิร์ก |
LV | ลัตเวีย |
LY | ลิเบีย |
MA | โมร็อกโก |
MD | มอลโดวา |
แคนาดา | มอนเตเนโกร |
MF | เซนต์มาร์ติน (ส่วนของฝรั่งเศส) |
MG | มาดากัสการ์ |
MK | สาธารณรัฐมาซิโดเนีย |
MM | พม่า |
มณ | มองโกเลีย |
โมร็อกโก | มาเก๊า เขตบริหารพิเศษของจีน |
MS | มอนต์เซอร์รัต |
MT | มอลตา |
MU | มอริเชียส |
เมกะวัตต์ | มาลาวี |
MX | เม็กซิโก |
MY | มาเลเซีย |
MZ | โมซัมบิก |
NA | นามิเบีย |
NC | นิวแคลิโดเนีย |
ตะวันออกเฉียงเหนือ | ไนเจอร์ |
NF | เกาะนอร์ฟอล์ก |
NG | ไนจีเรีย |
NI | นิการากัว |
NL | เนเธอร์แลนด์ |
ไม่ | นอร์เวย์ |
NP | เนปาล |
NZ | นิวซีแลนด์ |
OM | โอมาน |
PA | ปานามา |
PE | เปรู |
PG | ปาปัวนิวกินี |
PH | ฟิลิปปินส์ |
PK | ปากีสถาน |
PL | โปแลนด์ |
PM | แซงปิแยร์และมีเกอลง |
PR | เปอร์โตริโก |
PS | ดินแดนปาเลสไตน์ |
PT | โปรตุเกส |
PY | ปารากวัย |
QA | กาตาร์ |
RE | เรอูนียง |
RO | โรมาเนีย |
RS | เซอร์เบีย |
รัสเซีย | สหพันธรัฐรัสเซีย |
RW | รวันดา |
SA | ซาอุดีอาระเบีย |
SC | เซเชลส์ |
ตะวันออกเฉียงใต้ | สวีเดน |
SG | สิงคโปร์ |
ดวลจุดโทษ | เซนต์เฮเลนา |
SI | สโลวีเนีย |
SK | สโลวาเกีย |
SL | เซียร์ราลีโอน |
SN | เซเนกัล |
SR | ซูรินาเม |
ST | เซาตูเมและปรินซิปี |
SV | เอลซัลวาดอร์ |
SZ | สวาซิแลนด์ |
TC | หมู่เกาะเติกส์และหมู่เกาะเคคอส |
TG | โตโก |
TH | ไทย |
TL | ติมอร์เลสเต |
TM | เติร์กเมนิสถาน |
ถึง | ตองกา |
TR | ตุรกี |
TT | ตรินิแดดและโตเบโก |
TW | ไต้หวัน สาธารณรัฐจีน |
TZ | แทนซาเนีย, สหสาธารณรัฐ |
UA | ยูเครน |
UG | ยูกันดา |
สหรัฐอเมริกา | สหรัฐอเมริกา |
อุรุกวัย | อุรุกวัย |
UZ | อุซเบกิสถาน |
VC | เซนต์วินเซนต์และเกรนาดีนส์ |
VE | เวเนซุเอลา (สาธารณรัฐโบลีวาร์) |
VG | หมู่เกาะบริติชเวอร์จิน |
6. | หมู่เกาะเวอร์จินของสหรัฐอเมริกา |
VN | เวียดนาม |
WS | ซามัว |
YE | เยเมน |
YT | มายอต |
ZA | แอฟริกาใต้ |
ZM | แซมเบีย |
ZW | ซิมบับเว |
Firebase Authentication: เกิดอะไรขึ้นกับ SMS ฟรีในแพ็กเกจ Spark
ตั้งแต่เดือนกันยายน 2024 เป็นต้นไป โปรเจ็กต์ Firebase ต้องลิงก์กับบัญชีการเรียกเก็บเงินระบบคลาวด์เพื่อเปิดใช้และใช้บริการ SMS เพื่อปรับปรุงความปลอดภัยและคุณภาพบริการของการตรวจสอบสิทธิ์ทางโทรศัพท์
Firebase Authentication: ฉันจะป้องกันการใช้ 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 Authentication คุณต้องอัปเกรดเป็น Firebase Authentication with Identity Platform
โปรดทราบว่าคุณต้องบังคับใช้ App Check สําหรับการตรวจสอบสิทธิ์ในคอนโซล Firebase (พิจารณาตรวจสอบการเข้าชมก่อนบังคับใช้) นอกจากนี้ ให้ตรวจสอบอีกครั้งว่ารายการเว็บไซต์ที่ผ่านการรับรองของ reCAPTCHA Enterprise มีเฉพาะเว็บไซต์เวอร์ชันที่ใช้งานจริง และรายการแอปพลิเคชันที่ลงทะเบียนกับโปรเจ็กต์ใน App Check มีความถูกต้อง
โปรดทราบว่า App Check ช่วยป้องกันจากการโจมตีอัตโนมัติด้วยการยืนยันว่าการเรียกดังกล่าวมาจากแอปพลิเคชันที่คุณลงทะเบียนไว้ การดำเนินการนี้ไม่ได้ป้องกันไม่ให้ผู้ใช้ใช้แอปของคุณในลักษณะที่ไม่ตั้งใจ (เช่น เริ่มขั้นตอนการเข้าสู่ระบบแต่ไม่ได้ดำเนินการจนเสร็จสิ้นเพื่อสร้าง SMS ที่ส่ง)
Firebase Authentication: การย้ายหมายเลขโทรศัพท์ไปยังผู้ให้บริการรายใหม่รองรับการตรวจสอบทางโทรศัพท์ไหม
ขณะนี้ การย้ายหมายเลขระหว่างผู้ให้บริการจะส่งผลให้ผู้ใช้ปลายทางเหล่านั้นไม่สามารถรับ SMS ทั้งหมดได้ ยังไม่มีวิธีแก้ปัญหา และ Firebase กําลังแก้ไขปัญหานี้
Firebase Authentication: ทำไมฉันจึงได้รับข้อผิดพลาดต่อไปนี้ในแอป 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 ให้เปิดส่วน Authentication
ในแท็บวิธีการลงชื่อเข้าใช้ ให้ปิดใช้แล้วเปิดใช้วิธีการลงชื่อเข้าใช้ Google อีกครั้ง (แม้ว่าจะเปิดใช้อยู่แล้วก็ตาม) โดยทำดังนี้
เปิดวิธีการลงชื่อเข้าใช้ Google ปิดใช้ แล้วคลิกบันทึก
เปิดวิธีลงชื่อเข้าใช้ Google อีกครั้ง เปิดใช้ แล้วคลิกบันทึก
ตรวจสอบว่าแอปใช้ไฟล์การกําหนดค่า Firebase เวอร์ชันล่าสุด (
google-services.json
)
รับไฟล์กําหนดค่าของแอปตรวจสอบว่าคุณยังพบข้อผิดพลาดอยู่หรือไม่ หากใช่ ให้ไปยังขั้นตอนการแก้ปัญหาถัดไป
ตรวจสอบว่ามีไคลเอ็นต์ OAuth 2.0 ที่เกี่ยวข้องที่จำเป็น
ในหน้าข้อมูลเข้าสู่ระบบของคอนโซล Google Cloud ให้ดูในส่วนรหัสไคลเอ็นต์ OAuth 2.0
หากไคลเอ็นต์ OAuth 2.0 ไม่แสดงอยู่ (และคุณทำตามขั้นตอนการแก้ปัญหาข้างต้นทั้งหมดแล้ว) ให้ติดต่อฝ่ายสนับสนุน
Firebase Authentication: ทำไมฉันจึงได้รับข้อผิดพลาดต่อไปนี้ในแอปแพลตฟอร์ม Apple
You must specify <clientID> in <GIDConfiguration>
You must specify <clientID> in <GIDConfiguration>
ทำตามขั้นตอนการแก้ปัญหาในคําถามที่พบบ่อยนี้หากคุณได้รับข้อผิดพลาดต่อไปนี้
You must specify |clientID| in |GIDConfiguration|
ตรวจสอบว่าได้เปิดใช้ Google Sign-In เป็นผู้ให้บริการตรวจสอบสิทธิ์อย่างถูกต้องแล้ว โดยทำดังนี้
ในคอนโซล Firebase ให้เปิดส่วน Authentication
ในแท็บวิธีการลงชื่อเข้าใช้ ให้ปิดใช้แล้วเปิดใช้วิธีการลงชื่อเข้าใช้ Google อีกครั้ง (แม้ว่าจะเปิดใช้อยู่แล้วก็ตาม) โดยทำดังนี้
เปิดวิธีการลงชื่อเข้าใช้ Google ปิดใช้ แล้วคลิกบันทึก
เปิดวิธีลงชื่อเข้าใช้ Google อีกครั้ง เปิดใช้ แล้วคลิกบันทึก
ตรวจสอบว่าแอปใช้ไฟล์การกําหนดค่า Firebase เวอร์ชันล่าสุด (
GoogleService-Info.plist
)
รับไฟล์กําหนดค่าของแอปตรวจสอบว่าคุณยังพบข้อผิดพลาดอยู่หรือไม่ หากใช่ ให้ไปยังขั้นตอนการแก้ปัญหาถัดไป
ตรวจสอบว่ามีไคลเอ็นต์ OAuth 2.0 ที่เกี่ยวข้องที่จำเป็น
ในหน้าข้อมูลเข้าสู่ระบบของคอนโซล Google Cloud ให้ดูในส่วนรหัสไคลเอ็นต์ OAuth 2.0
หากไคลเอ็นต์ OAuth 2.0 ไม่แสดงอยู่ (และคุณทำตามขั้นตอนการแก้ปัญหาข้างต้นทั้งหมดแล้ว) ให้ติดต่อฝ่ายสนับสนุน
Firebase Authentication: เหตุใดฉันจึงได้รับข้อผิดพลาดต่อไปนี้ในเว็บแอป
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
ทำตามขั้นตอนการแก้ปัญหาในคําถามที่พบบ่อยนี้หากคุณได้รับข้อผิดพลาดต่อไปนี้
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
ตรวจสอบว่าได้เปิดใช้ Google Sign-In เป็นผู้ให้บริการตรวจสอบสิทธิ์อย่างถูกต้องแล้ว โดยทำดังนี้
ในคอนโซล Firebase ให้เปิดส่วน Authentication
ในแท็บวิธีการลงชื่อเข้าใช้ ให้ปิดใช้แล้วเปิดใช้วิธีการลงชื่อเข้าใช้ Google อีกครั้ง (แม้ว่าจะเปิดใช้อยู่แล้วก็ตาม) โดยทำดังนี้
เปิดวิธีการลงชื่อเข้าใช้ Google ปิดใช้ แล้วคลิกบันทึก
เปิดวิธีลงชื่อเข้าใช้ Google อีกครั้ง เปิดใช้ แล้วคลิกบันทึก
นอกจากนี้ ในการกําหนดค่าผู้ให้บริการลงชื่อเข้าใช้ Google ของส่วน Authentication ให้ตรวจสอบว่ารหัสไคลเอ็นต์และรหัสลับ OAuth ตรงกับไคลเอ็นต์เว็บที่แสดงในหน้าข้อมูลเข้าสู่ระบบของคอนโซล Google Cloud (ดูในส่วนรหัสไคลเอ็นต์ OAuth 2.0)
Firebase Authentication: เหตุใดการลงชื่อเข้าใช้ด้วยการเปลี่ยนเส้นทางในเว็บแอปของฉันจึงดำเนินการไม่สำเร็จ
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 Authentication หรือคีย์ API ที่คุณใช้กับบริการ Firebase Authentication ไม่ถูกต้อง
ก่อนอื่น ให้ตรวจสอบว่า YOUR_REDIRECT_DOMAIN อยู่ในรายการโดเมนที่ได้รับอนุญาตสําหรับโปรเจ็กต์ Firebase หากโดเมนเปลี่ยนเส้นทางแสดงอยู่ในรายการแล้ว ให้แก้ปัญหาคีย์ API ไม่ถูกต้องต่อไป
โดยค่าเริ่มต้น Firebase Authentication JS SDK จะใช้คีย์ API สําหรับโปรเจ็กต์ Firebase ที่ติดป้ายกํากับเป็น Browser key
และใช้คีย์นี้เพื่อยืนยันว่า URL เปลี่ยนเส้นทางการลงชื่อเข้าใช้ถูกต้องตามรายการโดเมนที่ได้รับอนุญาต
Authentication ได้รับคีย์ API นี้โดยขึ้นอยู่กับวิธีที่คุณเข้าถึง Authentication SDK
หากคุณใช้ตัวช่วยของ Auth ที่ Hosting ให้มาเพื่อเข้าสู่ระบบของผู้ใช้ด้วย Authentication JS SDK Firebase จะรับคีย์ API ของคุณพร้อมกับการกําหนดค่า Firebase ที่เหลือโดยอัตโนมัติทุกครั้งที่คุณทําให้การเผยแพร่ไปยัง Firebase Hosting ตรวจสอบว่า
authDomain
ในเว็บแอปfirebaseConfig
ได้รับการกําหนดค่าอย่างถูกต้องเพื่อใช้โดเมนใดโดเมนหนึ่งสําหรับเว็บไซต์ Hosting นั้น คุณยืนยันได้โดยไปที่https://authDomain__/firebase/init.json
แล้วตรวจสอบว่าprojectId
ตรงกับfirebaseConfig
ของคุณหากคุณโฮสต์โค้ดการลงชื่อเข้าใช้ด้วยตนเอง คุณสามารถใช้ไฟล์
__/firebase/init.json
เพื่อระบุการกําหนดค่า Firebase ให้กับตัวช่วยเปลี่ยนเส้นทาง Authentication JS SDK ที่โฮสต์ด้วยตนเอง คีย์ API และprojectId
ที่แสดงในไฟล์การกําหนดค่านี้ควรตรงกับ เว็บแอปfirebaseConfig
ตรวจสอบว่าคีย์ API นี้ไม่ถูกลบโดยไปที่แผงAPI และบริการ > ข้อมูลเข้าสู่ระบบในคอนโซล Google Cloud ซึ่งแสดงคีย์ API ทั้งหมดสำหรับโปรเจ็กต์
หาก
Browser key
ไม่ถูกลบ ให้ตรวจสอบสิ่งต่อไปนี้ตรวจสอบว่า Firebase Authentication API อยู่ในรายการ API ที่อนุญาตเพื่อให้คีย์เข้าถึงได้ (ดูข้อมูลเพิ่มเติมเกี่ยวกับการจํากัด API สําหรับคีย์ API)
หากคุณโฮสต์โค้ดลงชื่อเข้าใช้ด้วยตนเอง ให้ตรวจสอบว่าคีย์ API ที่แสดงในไฟล์
__/firebase/init.json
ตรงกับคีย์ API ในคอนโซลระบบคลาวด์ แก้ไขคีย์ในไฟล์ (หากจำเป็น) แล้วจึงทําให้การเผยแพร่แอปอีกครั้งหากมีการลบ
Browser key
ไปแล้ว คุณสามารถให้ Firebase สร้างคีย์ API ใหม่ให้คุณได้ โดยไปที่ settings > การตั้งค่าโปรเจ็กต์ ในคอนโซล Firebase จากนั้นคลิกเว็บแอปของคุณในส่วนแอปของคุณ การดำเนินการนี้จะสร้างคีย์ API โดยอัตโนมัติ ซึ่งคุณจะเห็นในส่วนการตั้งค่าและการกําหนดค่า SDK สําหรับเว็บแอป
โปรดทราบว่าในคอนโซลระบบคลาวด์ คีย์ API ใหม่นี้จะไม่เรียกว่า
Browser key
แต่จะใช้ชื่อเดียวกับชื่อเล่นของเว็บแอป Firebase หากตัดสินใจที่จะเพิ่มข้อจํากัดของ API ลงในคีย์ API ใหม่นี้ โปรดตรวจสอบว่า Firebase Authentication API อยู่ในรายการ API ที่อนุญาตเมื่อสร้างคีย์ API ใหม่แล้ว ให้ทำตามขั้นตอนที่เกี่ยวข้องด้านล่าง
หากคุณใช้ URL Hosting ที่สงวนไว้ ให้ทําให้การเผยแพร่แอปไปยัง Firebase อีกครั้งเพื่อให้แอปรับคีย์ API ใหม่โดยอัตโนมัติพร้อมกับการกําหนดค่า Firebase ที่เหลือ
หากคุณโฮสต์โค้ดการลงชื่อเข้าใช้ด้วยตนเอง ให้คัดลอกคีย์ API ใหม่และเพิ่มลงในไฟล์
__/firebase/init.json
จากนั้นจึงทําให้การเผยแพร่แอปอีกครั้ง
Firebase Authentication: ฉันจะสร้างไคลเอ็นต์ 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 ให้เปิดส่วน Authentication
ในแท็บวิธีการลงชื่อเข้าใช้ ให้เปิดผู้ให้บริการการลงชื่อเข้าใช้ด้วย Google แล้ววางรหัสไคลเอ็นต์และรหัสลับของเว็บเซิร์ฟเวอร์ที่คุณเพิ่งสร้างและคัดลอกมาจากคอนโซล Google Cloud คลิกบันทึก
Firebase Authentication: ระบบจะกำหนด %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 Hosting เริ่มต้น (ค่าที่อยู่ก่อนหน้า.firebaseapp.com
และ.web.app
และมักจะเป็นรหัสโปรเจ็กต์ Firebase)สําหรับแอปบนอุปกรณ์เคลื่อนที่
หากมีชื่อแพ็กเกจ Android หรือรหัสชุด iOS ในคำขอ
%APP_NAME%
จะเป็นชื่อแอปที่ใช้ใน Play Store หรือ App Store (ตามลำดับ)มิเช่นนั้น
%APP_NAME%
จะเป็นชื่อเว็บไซต์ Firebase Hosting เริ่มต้น (ค่าที่อยู่ก่อนหน้า.firebaseapp.com
และ.web.app
และมักจะเป็นรหัสโปรเจ็กต์ Firebase)
โปรดทราบว่าหากการค้นหาชื่อเว็บไซต์ Firebase Hosting เริ่มต้นไม่สําเร็จ ระบบจะใช้รหัสโปรเจ็กต์ Firebase เป็น
%APP_NAME%
แทน
Cloud Functions
Cloud Functions รันไทม์ที่รองรับ
ฉันจะอัปเกรดเป็น Node.js เวอร์ชันล่าสุดที่รองรับได้อย่างไร
- ตรวจสอบว่าคุณใช้แพ็กเกจราคา Blaze
- ตรวจสอบว่าคุณใช้ Firebase CLI เวอร์ชันล่าสุดอยู่
- อัปเดตฟิลด์
engines
ในpackage.json
ของฟังก์ชัน - ทดสอบการเปลี่ยนแปลงโดยใช้ Firebase Local Emulator Suite (ไม่บังคับ)
- ติดตั้งใช้งานฟังก์ชันทั้งหมดอีกครั้ง
ฉันจะแน่ใจได้อย่างไรว่าฉันได้ติดตั้งใช้งานฟังก์ชันในรันไทม์ Node.js ที่เฉพาะเจาะจง
ในคอนโซล Firebase ให้ไปที่หน้าแดชบอร์ดของฟังก์ชัน เลือกฟังก์ชัน แล้วตรวจสอบภาษาของฟังก์ชันในส่วนรายละเอียดเพิ่มเติม
ฉันใช้ Firebase Extensions ฉันจะได้รับผลกระทบจากการอัปเดตรันไทม์ของ Cloud Functions ไหม
ได้ เนื่องจากส่วนขยายใช้ Cloud Functions คุณจึงต้องอัปเดตรันไทม์ของส่วนขยายตามไทม์ไลน์เดียวกับ Cloud Functions
เราขอแนะนําให้อัปเดตส่วนขยายแต่ละรายการที่ติดตั้งในโปรเจ็กต์เป็นเวอร์ชันล่าสุดเป็นประจํา คุณสามารถอัปเกรดส่วนขยายของโปรเจ็กต์ผ่านคอนโซล Firebase หรือ Firebase CLI
ราคา 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 แรกโดยไม่มีค่าใช้จ่าย ดังนั้นการทำให้ฟังก์ชันทำงานครั้งแรกจึงอาจไม่มีค่าใช้จ่าย หากใช้พื้นที่เก็บข้อมูลเกินเกณฑ์ดังกล่าว ระบบจะเรียกเก็บเงินค่าพื้นที่เก็บข้อมูล 1 GB เพิ่มเติมที่ $0.10 ต่อเดือน
พื้นที่เก็บข้อมูลสำหรับ 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-วินาที, 200,000 CPU-วินาที และการรับส่งข้อมูลขาออกทางอินเทอร์เน็ต 5 GB แรกในแต่ละเดือนจะใช้งานได้โดยไม่มีค่าใช้จ่าย โดยระบบจะเรียกเก็บเงินจากคุณสำหรับการใช้งานที่เกินเกณฑ์เหล่านั้นเท่านั้น
หลังจากพื้นที่เก็บข้อมูล 500 MB แรกที่ไม่มีค่าใช้จ่ายแล้ว การดำเนินการติดตั้งใช้งานแต่ละครั้งจะมีการเรียกเก็บเงินในอัตราเล็กน้อยสำหรับพื้นที่เก็บข้อมูลที่ใช้สำหรับคอนเทนเนอร์ของฟังก์ชัน หากกระบวนการพัฒนาของคุณขึ้นอยู่กับการใช้ฟังก์ชันเพื่อทดสอบ คุณสามารถลดค่าใช้จ่ายเพิ่มเติมได้โดยใช้ Firebase Local Emulator Suite ในระหว่างการพัฒนา
ดูแพ็กเกจราคาของ Firebase และตัวอย่างสถานการณ์Cloud Functionsราคา
Firebase วางแผนที่จะเพิ่มโควต้าและขีดจํากัดสําหรับ Cloud Functions for Firebase ไหม
ไม่ เราไม่มีแผนที่จะเปลี่ยนแปลงโควต้า ยกเว้นการนําขีดจํากัดเวลาสร้างสูงสุดออก แทนที่จะได้รับข้อผิดพลาดหรือคําเตือนเมื่อถึงโควต้าการสร้างรายวัน 120 นาที ระบบจะเรียกเก็บเงินจากคุณภายใต้ข้อกําหนดของแพ็กเกจราคา Blaze ดูโควต้าและขีดจํากัด
Can I get the Google Cloud $300 credit?
ได้ คุณสร้างบัญชี Cloud Billing ในคอนโซล Google Cloud เพื่อรับเครดิตมูลค่า $300 ได้ จากนั้นลิงก์บัญชี Cloud Billing นั้นกับโปรเจ็กต์ Firebase
ดูข้อมูลเพิ่มเติมเกี่ยวกับGoogle Cloudเครดิตได้ที่นี่
โปรดทราบว่าหากดำเนินการดังกล่าว คุณจะต้องตั้งค่าแพ็กเกจราคา Blaze ในคอนโซล Firebase เพื่อให้โปรเจ็กต์ทำงานต่อไปได้หลังจากที่เครดิตมูลค่า $300 หมดลง
ฉันต้องการทําตามโค้ดแล็บเพื่อศึกษาเกี่ยวกับ Firebase คุณช่วยระบุบัญชีสำหรับการเรียกเก็บเงินชั่วคราวได้ไหม
ไม่ได้ ขออภัย คุณใช้โปรแกรมจำลอง Firebase สําหรับการพัฒนาได้โดยไม่ต้องมีบัญชี Cloud Billing หรือลองสมัครใช้Google Cloudช่วงทดลองใช้ฟรี หากยังพบปัญหาในการชําระบิลเนื่องจากการเปลี่ยนแปลงนี้ โปรดติดต่อทีมสนับสนุน Firebase
ฉันกังวลว่าจะต้องจ่ายเงินค่าอินเทอร์เน็ตเป็นจํานวนมาก
คุณสามารถตั้งค่าการแจ้งเตือนงบประมาณในคอนโซล Google Cloud เพื่อช่วยควบคุมค่าใช้จ่าย นอกจากนี้ คุณยังกำหนดขีดจำกัดจำนวนอินสแตนซ์ที่เรียกเก็บเงินซึ่งสร้างขึ้นสำหรับฟังก์ชันแต่ละรายการได้ด้วย หากต้องการทราบข้อมูลคร่าวๆ เกี่ยวกับต้นทุนสำหรับสถานการณ์ทั่วไป โปรดดูตัวอย่างราคาของ Cloud Functions
ฉันจะตรวจสอบการเรียกเก็บเงินปัจจุบันได้อย่างไร
ดูแดชบอร์ดการใช้งานและการเรียกเก็บเงินในคอนโซล Firebase
ฉันใช้ Firebase Extensions ฉันต้องมีบัญชีสำหรับการเรียกเก็บเงินไหม
ได้ เนื่องจากส่วนขยายใช้ Cloud Functions ระบบจะเรียกเก็บเงินส่วนขยายในอัตราเดียวกับฟังก์ชันอื่นๆ
หากต้องการใช้ส่วนขยาย คุณจะต้องอัปเกรดเป็นแพ็กเกจราคา Blaze ระบบจะเรียกเก็บเงินเล็กน้อย (โดยปกติจะอยู่ที่ ประมาณ $0.01 ต่อเดือน) สำหรับทรัพยากร Firebase ที่ต้องมีในส่วนขยายแต่ละรายการที่คุณติดตั้ง (แม้ว่าจะไม่มีการใช้งานก็ตาม) โดยค่าใช้จ่ายขึ้นอยู่กับการใช้งาน
Cloud Messaging
Cloud Messaging: เครื่องมือเขียนข้อความแจ้งเตือนกับ Cloud Messaging แตกต่างกันอย่างไร
Firebase Cloud Messaging มีชุดความสามารถการรับส่งข้อความที่สมบูรณ์ผ่าน SDK ของไคลเอ็นต์และโปรโตคอลเซิร์ฟเวอร์ HTTP และ XMPP สำหรับการติดตั้งใช้งานที่มีข้อกำหนดการรับส่งข้อความที่ซับซ้อนมากขึ้น FCM คือตัวเลือกที่เหมาะสม
เครื่องมือแก้ไขการแจ้งเตือนเป็นโซลูชันการรับส่งข้อความแบบไม่ใช้เซิร์ฟเวอร์ที่เบาและสร้างขึ้นบน Firebase Cloud Messaging เครื่องมือเขียนข้อความแจ้งเตือนช่วยให้ผู้ใช้ส่งข้อความเพื่อดึงดูดผู้ใช้ให้กลับมามีส่วนร่วมและคงผู้ใช้ไว้ได้ง่ายๆ ส่งเสริมการเติบโตของแอป และรองรับแคมเปญการตลาด ด้วยคอนโซลแบบกราฟิกที่ใช้งานง่ายและข้อกำหนดในการเขียนโค้ดที่ลดลง
ความสามารถ | Notifications Composer | Cloud Messaging | |
---|---|---|---|
เป้าหมาย | อุปกรณ์เดียว | ||
ลูกค้าที่สมัครรับหัวข้อ (เช่น สภาพอากาศ) | |||
ลูกค้าในกลุ่มผู้ใช้ที่กําหนดไว้ล่วงหน้า (แอป เวอร์ชัน ภาษา) | |||
ลูกค้าในกลุ่มเป้าหมายการวิเคราะห์ที่ระบุ | |||
ไคลเอ็นต์ในกลุ่มอุปกรณ์ | |||
การรับส่งจากไคลเอ็นต์ไปยังเซิร์ฟเวอร์ | |||
ประเภทข้อความ | การแจ้งเตือนที่มีขนาดไม่เกิน 2 KB | ||
ข้อความข้อมูลที่มีขนาดไม่เกิน 4 KB | |||
การนำส่ง | ทันที | ||
เวลาท้องถิ่นของอุปกรณ์ไคลเอ็นต์ในอนาคต | |||
Analytics | คอลเล็กชันข้อมูลวิเคราะห์การแจ้งเตือนและการวิเคราะห์ Funnel ที่มีอยู่ในตัว |
Cloud Messaging: Apple ประกาศว่ากําลังเลิกใช้งานโปรโตคอลไบนารีเดิมสําหรับ APN ฉันต้องดำเนินการใดหรือไม่
ไม่ Firebase Cloud Messaging เปลี่ยนไปใช้โปรโตคอล APNs ที่ใช้ HTTP/2 ในปี 2017 หากคุณใช้ FCM เพื่อส่งการแจ้งเตือนไปยังอุปกรณ์ iOS ก็ไม่จำเป็นต้องดำเนินการใดๆ
Cloud Messaging: ฉันต้องใช้บริการอื่นๆ ของ Firebase เพื่อใช้ FCM ไหม
คุณสามารถใช้ Firebase Cloud Messaging เป็นคอมโพเนนต์แบบสแตนด์อโลนในลักษณะเดียวกับที่ใช้กับ GCM ได้โดยไม่ต้องใช้บริการอื่นๆ ของ Firebase
Cloud Messaging: ฉันเป็นนักพัฒนาแอป Google Cloud Messaging (GCM) เดิม ฉันควรย้ายไปใช้ Firebase Cloud Messaging ไหม
FCM คือ GCM เวอร์ชันใหม่ภายใต้แบรนด์ Firebase ซึ่งรับโครงสร้างพื้นฐานหลักของ GCM มาใช้ โดยมี SDK ใหม่เพื่อทำให้การพัฒนาCloud Messagingง่ายขึ้น
ประโยชน์ของการอัปเกรดเป็น FCM SDK มีดังนี้
- การพัฒนาลูกค้าได้ง่ายขึ้น คุณไม่จําเป็นต้องเขียนตรรกะการลงทะเบียนหรือการสมัครใช้บริการใหม่ด้วยตนเองอีกต่อไป
- โซลูชันการแจ้งเตือนที่พร้อมใช้งานทันที คุณสามารถใช้เครื่องมือแต่งการแจ้งเตือน ซึ่งเป็นโซลูชันการแจ้งเตือนแบบเซิร์ฟเวอร์เสมือนที่มีเว็บคอนโซลที่ช่วยให้ทุกคนส่งการแจ้งเตือนไปยังกลุ่มเป้าหมายที่เฉพาะเจาะจงตามข้อมูลเชิงลึกจาก 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 ที่เปิดขึ้นเมื่อผู้ใช้แตะการแจ้งเตือน
ดูข้อมูลเพิ่มเติมได้ที่รับและจัดการข้อความ
เครื่องมือเขียนข้อความแจ้งเตือน: เครื่องมือเขียนข้อความแจ้งเตือนและ Cloud Messaging แตกต่างกันอย่างไร
เครื่องมือแก้ไขการแจ้งเตือนเป็นโซลูชันการรับส่งข้อความแบบไม่ใช้เซิร์ฟเวอร์ที่เบาและสร้างขึ้นบน Firebase Cloud Messaging เครื่องมือเขียนข้อความแจ้งเตือนช่วยให้ผู้ใช้ส่งข้อความเพื่อดึงดูดผู้ใช้ให้กลับมามีส่วนร่วมและคงผู้ใช้ไว้ได้ง่ายๆ ส่งเสริมการเติบโตของแอป และรองรับแคมเปญการตลาด ด้วยคอนโซลแบบกราฟิกที่ใช้งานง่ายและข้อกำหนดในการเขียนโค้ดที่ลดลง
Firebase Cloud Messaging มีชุดความสามารถการรับส่งข้อความที่สมบูรณ์ผ่าน SDK ของไคลเอ็นต์และโปรโตคอลเซิร์ฟเวอร์ HTTP และ XMPP สำหรับการติดตั้งใช้งานที่มีข้อกำหนดการรับส่งข้อความที่ซับซ้อนมากขึ้น FCM คือตัวเลือกที่เหมาะสม
ต่อไปนี้เป็นการเปรียบเทียบความสามารถการรับส่งข้อความที่ Firebase Cloud Messaging และผู้เขียนข้อความแจ้งเตือนมีให้
ความสามารถ | Notifications Composer | Cloud Messaging | |
---|---|---|---|
เป้าหมาย | อุปกรณ์เดียว | ||
ลูกค้าที่สมัครรับหัวข้อ (เช่น สภาพอากาศ) | |||
ลูกค้าในกลุ่มผู้ใช้ที่กําหนดไว้ล่วงหน้า (แอป เวอร์ชัน ภาษา) | |||
ลูกค้าในกลุ่มเป้าหมายการวิเคราะห์ที่ระบุ | |||
ไคลเอ็นต์ในกลุ่มอุปกรณ์ | |||
การรับส่งจากไคลเอ็นต์ไปยังเซิร์ฟเวอร์ | |||
ประเภทข้อความ | การแจ้งเตือนที่มีขนาดไม่เกิน 2 KB | ||
ข้อความข้อมูลที่มีขนาดไม่เกิน 4 KB | |||
การนำส่ง | ทันที | ||
เวลาท้องถิ่นของอุปกรณ์ไคลเอ็นต์ในอนาคต | |||
Analytics | คอลเล็กชันข้อมูลวิเคราะห์การแจ้งเตือนและการวิเคราะห์ Funnel ที่มีอยู่ในตัว |
เครื่องมือสร้างการแจ้งเตือน: ฉันเป็นนักพัฒนาแอป Google Cloud Messaging (GCM) เดิมและต้องการใช้เครื่องมือสร้างการแจ้งเตือน ควรทำอย่างไร
เครื่องมือสร้างการแจ้งเตือนเป็นโซลูชันที่พร้อมใช้งานทันทีซึ่งช่วยให้ทุกคนส่งการแจ้งเตือนไปยังกลุ่มเป้าหมายที่เฉพาะเจาะจงตามข้อมูลเชิงลึกจาก Google Analytics ได้ นอกจากนี้เครื่องมือสร้างการแจ้งเตือนยังให้การวิเคราะห์ Funnel สําหรับข้อความทุกรายการ ซึ่งช่วยให้ประเมินประสิทธิภาพการแจ้งเตือนได้ง่าย
หากคุณเป็นนักพัฒนาแอป GCM อยู่แล้ว หากต้องการใช้เครื่องมือแต่งข้อความแจ้ง คุณต้องอัปเกรดจาก GCM SDK เป็น FCM SDK ดูคําแนะนําในการย้ายข้อมูลแอป Android และ iOS
ฟีเจอร์ FCM เลิกใช้งานในเดือนมิถุนายน 2023
FCM API ใดที่เลิกใช้งานไปเมื่อวันที่ 20 มิถุนายน 2023 และฉันควรทำอย่างไรหากใช้ API เหล่านั้นอยู่
API/SDK ต่อไปนี้จะได้รับผลกระทบจากการเลิกใช้งาน
Server 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 ของเซิร์ฟเวอร์ Instance ID | 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 ที่มาจากบัญชีบริการ | |
Device Group Management 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 |
Batch Send API | https://fcm.googleapis.com/batch | คำขอไปยังปลายทางจะเริ่มดำเนินการไม่สำเร็จหลังจากวันที่ 21/6/2024 | ย้ายข้อมูลไปยังเมธอดส่ง HTTP v1 API มาตรฐาน ซึ่งรองรับ HTTP/2 สําหรับมัลติเพล็กซ์ |
Firebase Admin SDK API
ชื่อ API | ภาษาของ API | ผลกระทบต่อผู้ใช้ | การดำเนินการที่จำเป็น |
---|---|---|---|
sendToDevice()
|
Node.js | API จะหยุดทํางานหลังจากวันที่ 21/6/2024 เนื่องจากเรียกใช้ API ส่ง HTTP เดิม | ใช้เมธอด send()
|
sendToDeviceGroup()
|
Node.js | API จะหยุดทํางานหลังจากวันที่ 21/6/2024 เนื่องจากเรียกใช้ API ส่ง HTTP เดิม | ใช้เมธอด send()
|
sendToTopic()
|
Node.js | API จะหยุดทํางานหลังจากวันที่ 21/6/2024 เนื่องจากเรียกใช้ API ส่ง HTTP เดิม | ใช้เมธอด send()
|
sendToCondition()
|
Node.js | API จะหยุดทํางานหลังจากวันที่ 21/6/2024 เนื่องจากเรียกใช้ API ส่ง HTTP เดิม | ใช้เมธอด 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 ส่งแบบเป็นกลุ่มที่เลิกใช้งานแล้วอีกต่อไป และด้วยเหตุนี้ API ใหม่จึงอาจสร้างการเชื่อมต่อ HTTP พร้อมกันได้มากกว่า API เก่า |
SDK ของไคลเอ็นต์
เวอร์ชัน SDK | ผลกระทบต่อผู้ใช้ | การดำเนินการที่จำเป็น |
---|---|---|
SDK ของ GCM (เลิกใช้งานในปี 2018) | แอปที่ใช้ GCM SDK จะลงทะเบียนโทเค็นหรือรับข้อความจาก FCM ไม่ได้หลังจากวันที่ 21/6/2024 | อัปเกรด Android SDK เป็น Firebase SDK เวอร์ชันล่าสุด หากยังไม่ได้ดำเนินการ |
JS SDK เวอร์ชัน <7.0.0 (การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นของ SDK เกิดขึ้นในเวอร์ชัน 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 ที่ระบุไว้ข้างต้น (ดูข้อมูลเพิ่มเติมในคําถามที่พบบ่อยถัดไป)
API ที่เลิกใช้งานจะหยุดให้บริการอย่างไรและเมื่อใด
FCMจะเริ่มปิดให้บริการ API ที่เลิกใช้งานอย่างค่อยเป็นค่อยไปประมาณวันที่ 22 กรกฎาคม 2024 หลังจากวันที่ดังกล่าว บริการที่เลิกใช้งานจะเข้าสู่กระบวนการ "กะพริบ" ซึ่งคำขอจํานวนมากขึ้นจะได้รับการตอบกลับเป็นข้อผิดพลาด ในช่วงที่ค่อยๆ ลดลง คุณอาจเห็นว่าลักษณะการทํางานและการตอบกลับข้อผิดพลาดต่อไปนี้มีความถี่มากขึ้นเมื่อเวลาผ่านไป
หมวดหมู่ | สิ่งที่จะเกิดขึ้น |
---|---|
โปรโตคอล HTTP เดิม | คำขอถูกปฏิเสธด้วยรหัส HTTP 301 |
โปรโตคอล XMPP เดิม | คำขอถูกปฏิเสธด้วยรหัสข้อผิดพลาด 302 |
FCM Upstream | แบ็กเอนด์ FCM ทิ้งข้อความไปโดยไม่มีการแจ้งเตือน |
Batch Send API | คำขอถูกปฏิเสธโดยมีรหัสข้อผิดพลาด UNIMPLEMENTED และข้อความแสดงข้อผิดพลาด "เลิกใช้งาน API แล้ว" |
GCM SDK - ลงทะเบียนโทเค็น | คำขอถูกปฏิเสธด้วยรหัส HTTP 301 |
GCM SDK - ส่งข้อความ | คำขอถูกปฏิเสธด้วยรหัสข้อผิดพลาด 400 และข้อความแสดงข้อผิดพลาด "เลิกใช้งานโทเค็น V3 แล้ว" |
JS SDK เวอร์ชัน < 7.0.0 | คำขอถูกปฏิเสธด้วยรหัส HTTP 501 |
การใช้คีย์เซิร์ฟเวอร์เพื่อเข้าถึงรหัสอินสแตนซ์และ API การจัดการกลุ่มอุปกรณ์ | คำขอถูกปฏิเสธด้วยรหัส HTTP 401 |
โทเค็น OAuth 2.0 และคีย์เซิร์ฟเวอร์แตกต่างกันอย่างไร
โทเค็น OAuth 2.0 คือโทเค็นที่มีอายุการใช้งานสั้นซึ่งมาจากบัญชีบริการ ซึ่งเป็นรูปแบบการตรวจสอบสิทธิ์มาตรฐานของ Google และปลอดภัยกว่าคีย์เซิร์ฟเวอร์แบบคงที่
โปรดดูคำแนะนำเกี่ยวกับการใช้ Google Auth Library เพื่อรับโทเค็นในหัวข้อใช้ข้อมูลเข้าสู่ระบบเพื่อสร้างโทเค็นการเข้าถึง
โปรดทราบว่าส่วนหัวคำขอจะแตกต่างกันเมื่อคุณใช้โทเค็น OAuth 2.0 สำหรับคำขอไปยังปลายทางต่างๆ
- HTTP v1 API:
Authorization: Bearer $oauth_token
- Instance ID Server API และ Device Group Management API:
Authorization: Bearer $oauth_token
access_token_auth: true
ฉันจะย้ายข้อมูลคำขอไปยัง API ใหม่พร้อมกันทั้งหมดได้ไหม
เราขอแนะนำให้คุณค่อยๆ เพิ่มปริมาณการเข้าชม API ใหม่ หากคุณคาดว่าจะส่งข้อความมากกว่า 600,000 ข้อความ/นาทีเป็นประจำ ให้ ติดต่อทีมสนับสนุน Firebase เพื่อขอวิธีการเพิ่มโควต้าหรือรับคำแนะนำเกี่ยวกับวิธีกระจายการเข้าชม
HTTP v1 API กับ API เดิมแตกต่างกันอย่างไรเมื่อฉันส่งข้อความไปยังกลุ่มหัวข้อ/อุปกรณ์
หัวข้อ: คุณไม่จําเป็นต้องเพิ่มคํานําหน้า "/topics/" ลงในเป้าหมายหัวข้อเมื่อใช้ v1 API
กลุ่มอุปกรณ์: คุณสามารถใช้โทเค็นกลุ่มเป็นเป้าหมายโทเค็นใน HTTP v1 API ได้ อย่างไรก็ตาม HTTP v1 API จะไม่แสดงจํานวนความสําเร็จ/ความล้มเหลวในการตอบกลับ เราขอแนะนําให้ใช้หัวข้อ FCM หรือจัดการกลุ่มอุปกรณ์ด้วยตนเอง
HTTP v1 API รองรับการส่งข้อความไปยังโทเค็นหลายรายการในคำขอเดียวไหม
ไม่ HTTP v1 API ซึ่งออกแบบมาเพื่อความสามารถในการปรับขนาดได้ดียิ่งขึ้นไม่รองรับฟีเจอร์นี้ซึ่งเรียกว่า "มัลติแคสต์" ใน HTTP API เดิม
สําหรับ Use Case ที่เวลาในการตอบสนองจากต้นทางถึงปลายทางสําคัญ หรือที่ขนาดการแยกย่อยทั้งหมดมีขนาดเล็ก (น้อยกว่า 1 ล้านรายการ) Google ขอแนะนําให้ส่งคําขอแยกหลายรายการโดยใช้ HTTP v1 API HTTP v1 API ผ่าน HTTP/2 มีประสิทธิภาพใกล้เคียงกันสำหรับคำขอมัลติแคสต์ 99.9% (การส่งโทเค็นน้อยกว่า 100 รายการ) สำหรับ Use Case ที่เป็นค่าเบี่ยงเบน (การส่งโทเค็น 1,000 รายการ) อัตราการรับส่งข้อมูลจะอยู่ที่ 1 ใน 3 ของอัตราการรับส่งข้อมูลสูงสุด จึงต้องใช้การทำงานพร้อมกันเพิ่มเติมเพื่อเพิ่มประสิทธิภาพสำหรับ Use Case ที่ไม่ปกตินี้ ผู้ใช้จะได้รับประสบการณ์การใช้งานที่เชื่อถือได้และพร้อมใช้งานมากขึ้นเมื่อใช้ HTTP v1 API มากกว่ามัลติแคสต์เดิม
สําหรับกรณีการใช้งานที่ให้ความสําคัญกับแบนด์วิดท์การรับส่งข้อมูลและการส่งออก หรือในกรณีที่ขนาดการแยกกลุ่มทั้งหมดมีขนาดใหญ่ (มากกว่า 1 ล้านรายการ) Google ขอแนะนําให้ใช้การรับส่งข้อความตามหัวข้อ แม้ว่าการรับส่งข้อความในหัวข้อจะต้องดำเนินการเพียงครั้งเดียวเพื่อติดตามผู้รับในหัวข้อ แต่ก็มีอัตราสูงสุดถึง 10,000 QPS ต่ออัตราการส่งต่อของโปรเจ็กต์ โดยไม่มีขีดจำกัดสูงสุดสำหรับขนาดหัวข้อ
Firebase Admin SDK เวอร์ชันใดมี API ใหม่
แพลตฟอร์ม | เวอร์ชัน Firebase Admin SDK |
---|---|
Node.js | >=11.7.0 |
Python | >=6.2.0 |
Java | >=9.2.0 |
Go | >=4.12.0 |
.NET | >=2.4.0 |
API ส่งหลายรายการพร้อมกันกับ HTTP v1 API แตกต่างกันอย่างไร
FCM Batch Send API ใช้รูปแบบข้อความและกลไกการตรวจสอบสิทธิ์เดียวกับ HTTP v1 API แต่จะใช้ปลายทางอื่น หากต้องการเพิ่มประสิทธิภาพ คุณควรพิจารณาใช้ HTTP/2 เพื่อส่งคําขอหลายรายการผ่านการเชื่อมต่อ HTTP เดียวกันไปยัง HTTP v1 API
ฉันควรทำอย่างไรหากเข้าถึงโปรเจ็กต์ไม่ได้
โปรดติดต่อทีมสนับสนุนของ Google Cloud เพื่อขอความช่วยเหลือ
โปรเจ็กต์ใหม่เปิดใช้ Cloud Messaging API รุ่นเดิมได้ไหม
ไม่ได้ ตั้งแต่วันที่ 20/5/2024 เป็นต้นไป โปรเจ็กต์ใหม่จะเปิดใช้ API เดิมของเราไม่ได้อีกต่อไป
ฉันจะปิดใช้ Cloud Messaging API เดิมได้เมื่อใด
เมื่อแน่ใจว่าได้ย้ายข้อมูลไปยัง HTTP v1 API โดยสมบูรณ์แล้ว คุณสามารถปิดใช้ Cloud Messaging API รุ่นเดิมได้ (หน้าเว็บอาจโหลดไม่สำเร็จหากปิดใช้ API ดังกล่าวแล้ว)
โควต้าและขีดจํากัดของ FCM
ฉันจะแจ้งฐานลูกค้าจำนวนมากภายใน 2 นาทีได้อย่างไร
ขออภัย กรณีการใช้งานนี้ไม่รองรับ คุณต้องกระจายการเข้าชมในช่วง 5 นาที
แอปของฉันจะแจ้งผู้ใช้เกี่ยวกับกิจกรรม และข้อความเหล่านี้ต้องได้รับการนำส่งทันทีเพื่อรองรับรูปแบบธุรกิจของฉัน ฉันขอโควต้าเพิ่มได้ไหม
ขออภัย เราไม่สามารถเพิ่มโควต้าให้คุณด้วยเหตุผลนี้ คุณต้องกระจายการเข้าชมในช่วง 5 นาที
ข้อความของฉันเกี่ยวกับกิจกรรมที่กำหนดเวลาไว้ ฉันจะส่งการเข้าชมทั้งหมดในช่วงเริ่มต้นของชั่วโมงได้อย่างไร
เราขอแนะนำให้คุณเริ่มส่งการแจ้งเตือนอย่างน้อย 5 นาทีก่อนถึงเวลา
คำขอโควต้าของฉันจะได้รับการอนุมัติในอีกนานเท่าใด
การดำเนินการนี้ขึ้นอยู่กับการใช้ FCM ของคุณ ไม่ว่าในกรณีใด คุณจะได้รับคำตอบภายใน 2-3 วันทำการ ในบางกรณี เราอาจต้องมีการพูดคุยกันเพิ่มเติมเกี่ยวกับการใช้งาน FCM และสถานการณ์ต่างๆ ซึ่งอาจทำให้กระบวนการนี้ใช้เวลานานขึ้น หากมีคุณสมบัติตรงตามข้อกำหนดทั้งหมด ระบบจะดำเนินการกับคำขอส่วนใหญ่ภายใน 2 สัปดาห์
ฉันจะตรวจสอบการใช้โควต้าได้อย่างไร
ดูคำแนะนำของ Google Cloud เกี่ยวกับวิธีสร้างแผนภูมิและตรวจสอบเมตริกโควต้า
รหัส 429 เป็นปัญหาที่ฉัน / ธุรกิจของฉันจัดการได้ยาก ฉันจะขอรับการยกเว้นหรือโควต้าเพิ่มเพื่อหลีกเลี่ยงการได้รับรหัส 429 ได้ไหม
แม้ว่าเราจะเข้าใจดีว่าขีดจำกัดโควต้าอาจทำให้เกิดปัญหา แต่โควต้าก็มีความสำคัญต่อการรักษาบริการให้น่าเชื่อถือ และเราไม่สามารถให้ข้อยกเว้นได้
ฉันขอโควต้าเพิ่มสำหรับกิจกรรมชั่วคราวได้ไหม
คุณขอโควต้าเพิ่มเติมเพื่อรองรับกิจกรรมได้นานถึง 1 เดือน ยื่นคำขอล่วงหน้าอย่างน้อย 1 เดือนก่อนถึงวันที่มีกิจกรรม พร้อมระบุรายละเอียดที่ชัดเจนเกี่ยวกับเวลาเริ่มต้นและสิ้นสุดของกิจกรรม แล้ว FCM จะพยายามอย่างเต็มที่เพื่อดำเนินการตามคำขอ (ไม่สามารถรับประกันว่าจะเพิ่มได้) ระบบจะเปลี่ยนโควต้าที่เพิ่มขึ้นเหล่านี้กลับเป็นปกติหลังจากวันที่สิ้นสุดกิจกรรม
โควต้าปัจจุบันของฉันอาจมีการเปลี่ยนแปลงไหม
แม้ว่า Google จะไม่ดำเนินการอย่างง่ายดาย แต่อาจเปลี่ยนแปลงโควต้าตามที่จำเป็นเพื่อปกป้องความสมบูรณ์ของระบบ Google จะแจ้งให้คุณทราบล่วงหน้าเกี่ยวกับการเปลี่ยนแปลงดังกล่าวเมื่อเป็นไปได้
Cloud Storage for Firebase
Cloud Storage for Firebase: ทำไมฉันจึงใช้ Cloud Storage for Firebase ไม่ได้
Cloud Storage for Firebase สร้างที่เก็บข้อมูลเริ่มต้นในApp Engine ระดับที่ไม่มีค่าใช้จ่าย ซึ่งจะช่วยให้คุณเริ่มต้นใช้งาน Firebase และ Cloud Storage for Firebase ได้อย่างรวดเร็วโดยไม่ต้องใส่บัตรเครดิตหรือเปิดใช้บัญชี Cloud Billing นอกจากนี้ คุณยังแชร์ข้อมูลระหว่าง Firebase กับโปรเจ็กต์ Google Cloud ได้อย่างง่ายดาย
อย่างไรก็ตาม มี 2 กรณีที่ทราบซึ่งสร้างที่เก็บข้อมูลนี้ไม่ได้และคุณจะใช้ Cloud Storage for Firebase ไม่ได้
- โปรเจ็กต์ที่นําเข้าจาก Google Cloud ซึ่งมีแอปพลิเคชัน App Engine Datastore หลัก/รอง
-
โปรเจ็กต์ที่นําเข้าจาก Google Cloud ซึ่งมีโปรเจ็กต์ที่มีคำนำหน้าโดเมน เช่น
domain.com:project-1234
ขณะนี้ยังไม่มีวิธีแก้ปัญหาเหล่านี้ และเราขอแนะนำให้คุณสร้างโปรเจ็กต์ใหม่ในคอนโซล Firebase แล้วเปิดใช้ Cloud Storage for 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 Hosting นโยบายนี้มีไว้เพื่อป้องกันการละเมิดในแพลตฟอร์มของเรา
ระบบจะบล็อกการแสดง การโฮสต์ และการอัปโหลดไฟล์ของไฟล์ที่ไม่อนุญาตสำหรับโปรเจ็กต์ Spark ทั้งหมดที่สร้างตั้งแต่วันที่ 28 กันยายน 2023 เป็นต้นไป สำหรับโปรเจ็กต์ Spark ที่มีอยู่ซึ่งมีไฟล์ที่อัปโหลดก่อนวันที่ดังกล่าว คุณจะยังอัปโหลดและโฮสต์ไฟล์ดังกล่าวได้
ข้อจำกัดนี้มีผลกับโปรเจ็กต์ในแพ็กเกจ Spark โปรเจ็กต์ในแพ็กเกจแบบจ่ายตามการใช้งาน (Blaze) จะไม่ได้รับผลกระทบ
ไฟล์ประเภทต่อไปนี้ไม่สามารถโฮสต์ใน Firebase Hosting และ Cloud Storage for Firebase
- ไฟล์ Windows ที่มีนามสกุล
.exe
,.dll
และ.bat
- ไฟล์ Android ที่มีนามสกุล
.apk
- ไฟล์แพลตฟอร์ม Apple ที่มีนามสกุล
.ipa
ฉันต้องทำอะไรบ้าง
หากยังต้องการโฮสต์ไฟล์ประเภทเหล่านี้หลังวันที่ 28 กันยายน 2023 ให้ทำดังนี้
- สําหรับโฮสติ้ง: อัปเกรดเป็นแพ็กเกจ Blaze ก่อนจึงจะติดตั้งใช้งานไฟล์ประเภทเหล่านี้ใน Firebase Hosting ผ่านคําสั่ง
firebase deploy
ได้ - สำหรับพื้นที่เก็บข้อมูล: อัปเกรดเป็นแพ็กเกจ Blaze เพื่ออัปโหลดไฟล์ประเภทเหล่านี้ไปยังที่เก็บข้อมูลที่ต้องการโดยใช้ GCS CLI, คอนโซล Firebase หรือคอนโซล Google Cloud
ใช้เครื่องมือ Firebase เพื่อจัดการทรัพยากร Firebase Hosting และ Cloud Storage
- หากต้องการจัดการทรัพยากรใน Firebase Hosting ให้ใช้คอนโซล Firebase เพื่อลบรุ่นตามคู่มือนี้
- หากต้องการจัดการทรัพยากรใน Cloud Storage ให้ไปที่หน้าผลิตภัณฑ์พื้นที่เก็บข้อมูลในโปรเจ็กต์
- ในแท็บไฟล์ ให้ค้นหาไฟล์ที่ไม่ได้รับอนุญาตให้ลบในลําดับชั้นโฟลเดอร์ แล้วเลือกไฟล์เหล่านั้นโดยใช้ช่องทําเครื่องหมายข้างชื่อไฟล์ทางด้านซ้ายมือของแผง
- คลิกลบ แล้วยืนยันว่าไฟล์ถูกลบแล้ว
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ แหล่งข้อมูลโฮสติ้งด้วยเครื่องมือ Firebase และที่เก็บข้อมูล Cloud Storage สำหรับ Firebase ในเอกสารประกอบของเรา
Cloud Storage for Firebase: ทำไมฉันจึงเห็นการอัปโหลดและการดาวน์โหลดเพิ่มขึ้นอย่างฉับพลัน
ก่อนหน้านี้ ระบบไม่ได้นับคำขอดาวน์โหลดและอัปโหลดไปยัง Cloud Storage for Firebase API อย่างถูกต้อง เราได้ดำเนินการแก้ไขปัญหานี้แล้ว โดยจะเริ่มตั้งแต่วันที่ 15 กันยายน 2023
สำหรับผู้ใช้ Blaze ระบบจะเริ่มนับการอัปโหลดและการดาวน์โหลดในใบเรียกเก็บเงินรายเดือน สำหรับผู้ใช้ Spark ระบบจะเริ่มนับจำนวนข้อความที่ส่งไปยังผู้ใช้รายดังกล่าวรวมกับขีดจำกัดการใช้งานฟรีรายเดือน
เราขอแนะนําให้ตรวจสอบหน้าการใช้งานเพื่อดูการเพิ่มขึ้นที่อาจนับรวมกับขีดจํากัด
Cloud Storage for Firebase: ทําไมฉันจึงเห็นรหัสบัญชีบริการใหม่เชื่อมโยงกับโปรเจ็กต์ Firebase ที่ใช้ Cloud Storage for Firebase
Firebase ใช้บัญชีบริการเพื่อดำเนินการและจัดการบริการโดยไม่ต้องแชร์ข้อมูลเข้าสู่ระบบของผู้ใช้ เมื่อสร้างโปรเจ็กต์ Firebase คุณอาจเห็นว่ามีบัญชีบริการจำนวนหนึ่งอยู่ในโปรเจ็กต์แล้ว
บัญชีบริการที่ Cloud Storage for Firebase ใช้จะมีขอบเขตระดับโปรเจ็กต์และตั้งชื่อว่า service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
หากคุณใช้ Cloud Storage for 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 ของคุณจากแอป หากต้องการนำบัญชีบริการออกจากโปรเจ็กต์ ให้ทำตามวิธีการในหัวข้อการปิดใช้บัญชีบริการ
ราคา Cloud Storage for Firebase
ฉันจะคาดคะเนจำนวนเงินที่ระบบจะเรียกเก็บสำหรับการดำเนินการอัปโหลดและดาวน์โหลดได้อย่างไร
ไปที่หน้าราคา Firebase และใช้เครื่องคำนวณแพ็กเกจ Blaze เครื่องคำนวณจะแสดงประเภทการใช้งานทั้งหมดของ Cloud Storage for Firebase
ใช้แถบเลื่อนเพื่อป้อนปริมาณการใช้งานที่คาดไว้ของที่เก็บข้อมูลในระบบเก็บข้อมูล เครื่องคำนวณจะประมาณยอดเรียกเก็บเงินรายเดือน
จะเกิดอะไรขึ้นหากฉันอัปโหลด ดาวน์โหลด หรือใช้พื้นที่เก็บข้อมูลเกินขีดจำกัดของแพ็กเกจ Spark สำหรับ Cloud Storage for Firebase
เมื่อคุณใช้ Cloud Storage ในโปรเจ็กต์เกินขีดจำกัดของแพ็กเกจ Spark ผลลัพธ์จะขึ้นอยู่กับประเภทของขีดจำกัดที่คุณใช้เกิน
- หากใช้พื้นที่เก็บข้อมูลเกินขีดจํากัด GB ที่เก็บ คุณจะจัดเก็บข้อมูลในโปรเจ็กต์นั้นไม่ได้อีก เว้นแต่จะนำข้อมูลบางส่วนที่เก็บไว้ออกหรืออัปเกรดเป็นแพ็กเกจที่มีพื้นที่เก็บข้อมูลมากขึ้นหรือพื้นที่เก็บข้อมูลแบบไม่จํากัด
- หากคุณดาวน์โหลดเกินขีดจํากัด GB ที่ดาวน์โหลด แอปจะดาวน์โหลดข้อมูลเพิ่มไม่ได้จนกว่าจะถึงวันถัดไป (เริ่มตั้งแต่เที่ยงคืนตามเวลาเขตเวลาแปซิฟิกสหรัฐอเมริกา) เว้นแต่คุณจะอัปเกรดเป็นแพ็กเกจที่มีขีดจํากัดที่เข้มงวดน้อยลงหรือไม่มีขีดจํากัด
- หากใช้การดำเนินการอัปโหลดหรือดาวน์โหลดเกินขีดจํากัด แอปจะอัปโหลดหรือดาวน์โหลดข้อมูลเพิ่มเติมไม่ได้จนกว่าจะถึงวันถัดไป (เริ่มตั้งแต่เที่ยงคืนตามเวลาเขตเวลาแปซิฟิกสหรัฐอเมริกา) เว้นแต่คุณจะอัปเกรดเป็นแพ็กเกจที่มีขีดจํากัดที่เข้มงวดน้อยกว่าหรือไม่มีขีดจํากัด
Crashlytics
ไปที่Crashlyticsหน้าคำถามที่พบบ่อยและการแก้ปัญหาเพื่อดูเคล็ดลับที่เป็นประโยชน์และคำตอบสำหรับคำถามที่พบบ่อยเพิ่มเติม
Dynamic Links
Dynamic Links: แผนในอนาคตของ Firebase สำหรับ Dynamic Links เป็นอย่างไร
Dynamic Links: ทำไมแอป Android ของฉันจึงเข้าถึง Dynamic Link แต่ละรายการ 2 ครั้ง
getInvitation
API จะล้าง Dynamic Link ที่บันทึกไว้เพื่อไม่ให้เข้าถึงซ้ำ อย่าลืมเรียกใช้ API นี้โดยตั้งค่าพารามิเตอร์ autoLaunchDeepLink
เป็น false
ในกิจกรรม Deep Link แต่ละรายการเพื่อล้างกิจกรรมในกรณีที่มีการทริกเกอร์กิจกรรมนอกกิจกรรมหลัก
Hosting
Hosting: ฉันจะจัดเก็บไฟล์ที่เรียกใช้งานได้ไหมในโปรเจ็กต์แพ็กเกจ Spark
สำหรับโปรเจ็กต์ในแพ็กเกจที่ไม่มีค่าใช้จ่าย (Spark) Firebase จะบล็อกการอัปโหลดและการโฮสต์ไฟล์ประเภทที่เรียกใช้งานได้บางประเภทสำหรับ Windows, Android และ Apple โดย Cloud Storage for Firebase และ Firebase Hosting นโยบายนี้มีไว้เพื่อป้องกันการละเมิดในแพลตฟอร์มของเรา
ระบบจะบล็อกการแสดง การโฮสต์ และการอัปโหลดไฟล์ของไฟล์ที่ไม่อนุญาตสำหรับโปรเจ็กต์ Spark ทั้งหมดที่สร้างตั้งแต่วันที่ 28 กันยายน 2023 เป็นต้นไป สำหรับโปรเจ็กต์ Spark ที่มีอยู่ซึ่งมีไฟล์ที่อัปโหลดก่อนวันที่ดังกล่าว คุณจะยังอัปโหลดและโฮสต์ไฟล์ดังกล่าวได้
ข้อจำกัดนี้มีผลกับโปรเจ็กต์ในแพ็กเกจ Spark โปรเจ็กต์ในแพ็กเกจแบบจ่ายตามการใช้งาน (Blaze) จะไม่ได้รับผลกระทบ
ไฟล์ประเภทต่อไปนี้ไม่สามารถโฮสต์ใน Firebase Hosting และ Cloud Storage for Firebase
- ไฟล์ Windows ที่มีนามสกุล
.exe
,.dll
และ.bat
- ไฟล์ Android ที่มีนามสกุล
.apk
- ไฟล์แพลตฟอร์ม Apple ที่มีนามสกุล
.ipa
ฉันต้องทำอะไรบ้าง
หากยังต้องการโฮสต์ไฟล์ประเภทเหล่านี้หลังวันที่ 28 กันยายน 2023 ให้ทำดังนี้
- สําหรับโฮสติ้ง: อัปเกรดเป็นแพ็กเกจ Blaze ก่อนจึงจะติดตั้งใช้งานไฟล์ประเภทเหล่านี้ใน Firebase Hosting ผ่านคําสั่ง
firebase deploy
ได้ - สำหรับพื้นที่เก็บข้อมูล: อัปเกรดเป็นแพ็กเกจ Blaze เพื่ออัปโหลดไฟล์ประเภทเหล่านี้ไปยังที่เก็บข้อมูลที่ต้องการโดยใช้ GCS CLI, คอนโซล Firebase หรือคอนโซล Google Cloud
ใช้เครื่องมือ Firebase เพื่อจัดการทรัพยากร Firebase Hosting และ Cloud Storage
- หากต้องการจัดการทรัพยากรใน Firebase Hosting ให้ใช้คอนโซล Firebase เพื่อลบรุ่นตามคู่มือนี้
- หากต้องการจัดการทรัพยากรใน Cloud Storage ให้ไปที่หน้าผลิตภัณฑ์พื้นที่เก็บข้อมูลในโปรเจ็กต์
- ในแท็บไฟล์ ให้ค้นหาไฟล์ที่ไม่ได้รับอนุญาตให้ลบในลําดับชั้นโฟลเดอร์ แล้วเลือกไฟล์เหล่านั้นโดยใช้ช่องทําเครื่องหมายข้างชื่อไฟล์ทางด้านซ้ายมือของแผง
- คลิกลบ แล้วยืนยันว่าไฟล์ถูกลบแล้ว
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ แหล่งข้อมูลโฮสติ้งด้วยเครื่องมือ Firebase และที่เก็บข้อมูล Cloud Storage สำหรับ Firebase ในเอกสารประกอบของเรา
Hosting: เหตุใดตารางประวัติรุ่น Hosting ในคอนโซล Firebase ของฉันจึงแสดงจํานวนไฟล์มากกว่าที่โปรเจ็กต์ในเครื่องของฉันมีจริง
Firebase จะเพิ่มไฟล์เพิ่มเติมที่มีข้อมูลเมตาเกี่ยวกับเว็บไซต์ Hosting โดยอัตโนมัติ และไฟล์เหล่านี้จะรวมอยู่ในจํานวนไฟล์ทั้งหมดของรุ่น
Hosting: ไฟล์ที่ใหญ่ที่สุดที่ฉันสามารถทำให้Firebase Hostingใช้งานได้มีขนาดเท่าใด
Hosting จำกัดขนาดสูงสุดของไฟล์แต่ละไฟล์ไว้ที่ 2 GB
เราขอแนะนำให้จัดเก็บไฟล์ขนาดใหญ่โดยใช้ Cloud Storage ซึ่งมีขีดจำกัดขนาดสูงสุดในช่วงเทราไบต์สำหรับออบเจ็กต์แต่ละรายการ
Hosting: ฉันมีเว็บไซต์ Hosting เว็บไซต์ต่อโปรเจ็กต์ Firebase ได้กี่เว็บไซต์
Firebase Hostingฟีเจอร์หลายเว็บไซต์รองรับเว็บไซต์ได้สูงสุด 36 เว็บไซต์ต่อโปรเจ็กต์
Performance Monitoring
ไปที่Performance Monitoringหน้าคำถามที่พบบ่อยและการแก้ปัญหาเพื่อดูเคล็ดลับที่เป็นประโยชน์และคำตอบสำหรับคำถามที่พบบ่อยเพิ่มเติม
Performance Monitoring: ฉันจะสร้างรูปแบบ URL ที่กำหนดเองได้กี่รายการ
คุณสร้างรูปแบบ URL ที่กำหนดเองได้สูงสุด 400 รายการต่อแอป และรูปแบบ URL ที่กำหนดเองได้สูงสุด 100 รายการต่อโดเมนสำหรับแอปนั้น
Performance Monitoring: เหตุใดฉันจึงไม่เห็นการแสดงข้อมูลประสิทธิภาพแบบเรียลไทม์
หากต้องการดูข้อมูลประสิทธิภาพแบบเรียลไทม์ ให้ตรวจสอบว่าแอปใช้ 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 เวอร์ชันล่าสุดเสมอ แต่เวอร์ชันใดก็ได้ที่ระบุไว้ข้างต้นจะช่วยให้ Performance Monitoring ประมวลผลข้อมูลของคุณแบบเกือบเรียลไทม์
Realtime Database
Realtime Database: "การเชื่อมต่อฐานข้อมูลพร้อมกัน" คืออะไร
การเชื่อมต่อพร้อมกันเทียบเท่ากับอุปกรณ์เคลื่อนที่ แท็บเบราว์เซอร์ หรือแอปเซิร์ฟเวอร์ 1 เครื่องที่เชื่อมต่อกับฐานข้อมูล Firebase จะจำกัดจำนวนการเชื่อมต่อพร้อมกันไปยังฐานข้อมูลของแอป ขีดจํากัดเหล่านี้มีไว้เพื่อปกป้องทั้ง Firebase และผู้ใช้ของเราจากการละเมิด
ขีดจํากัดของแพ็กเกจ Spark คือ 100 รายการและไม่สามารถเพิ่มได้ แพ็กเกจ Flame และ Blaze จำกัดการเชื่อมต่อพร้อมกันไว้ที่ 200,000 รายการต่อฐานข้อมูล
ขีดจํากัดนี้จะไม่เท่ากับจํานวนผู้ใช้ทั้งหมดของแอป เนื่องจากผู้ใช้ไม่ได้เชื่อมต่อพร้อมกันทั้งหมด หากต้องการการเชื่อมต่อพร้อมกันมากกว่า 200,000 ครั้ง โปรดอ่าน การปรับขนาดด้วยฐานข้อมูลหลายแห่ง
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 หากผู้ใช้ไม่จําเป็นต้องเชื่อมต่อแบบเรียลไทม์
Realtime Database: จะเกิดอะไรขึ้นหากฉันใช้พื้นที่เก็บข้อมูลหรือดาวน์โหลดเกินขีดจำกัดของแพ็กเกจ Spark สำหรับ Realtime Database
ระบบจำกัดทรัพยากรที่มีให้คุณในแพ็กเกจ Spark เพื่อให้คุณทราบราคาที่คาดการณ์ได้ ซึ่งหมายความว่าเมื่อคุณใช้เกินขีดจำกัดของแพ็กเกจในเดือนใดเดือนหนึ่ง แอปจะปิดเพื่อป้องกันการใช้ทรัพยากรเพิ่มเติมและการเรียกเก็บเงินเพิ่มเติม
Realtime Database: จะเกิดอะไรขึ้นหากฉันใช้การเชื่อมต่อพร้อมกันเกินขีดจำกัดของแพ็กเกจ Spark สำหรับ Realtime Database
เมื่อแอปของคุณถึงขีดจํากัดการทํางานพร้อมกันในแพ็กเกจ Spark ระบบจะปฏิเสธการเชื่อมต่อที่ตามมาจนกว่าการเชื่อมต่อที่มีอยู่บางส่วนจะปิดลง แอปจะยังคงทำงานต่อไปสำหรับผู้ใช้ที่เชื่อมต่ออยู่
Realtime Database: การสำรองข้อมูลอัตโนมัติคืออะไร คุณมีบริการสํารองข้อมูลรายชั่วโมงสําหรับ Realtime Database ไหม
การสำรองข้อมูลอัตโนมัติเป็นฟีเจอร์ขั้นสูงสำหรับลูกค้าในแพ็กเกจราคา Blaze ซึ่งจะสำรองข้อมูล Firebase Realtime Database วันละครั้งและอัปโหลดไปยัง Google Cloud Storage
เราไม่ได้ให้บริการสํารองข้อมูลรายชั่วโมง
Realtime Database: เหตุใดแบนด์วิดท์ของ Realtime Database ที่รายงานจึงต่ำกว่าค่าเฉลี่ยในช่วงเดือนกันยายน 2016 ถึงเดือนมีนาคม 2017
โดยทั่วไปแล้ว เราจะรวมส่วนเกินของการเข้ารหัส SSL (ตามเลเยอร์ 5 ของรูปแบบ OSI) ไว้ในการคำนวณแบนด์วิดท์ อย่างไรก็ตาม ในเดือนกันยายน 2016 เราได้พบข้อบกพร่องที่ทำให้การรายงานแบนด์วิดท์ไม่สนใจค่าใช้จ่ายเพิ่มเติมในการเข้ารหัส ซึ่งอาจส่งผลให้มีการรายงานแบนด์วิดท์และการเรียกเก็บเงินในบัญชีของคุณต่ำเกินจริงเป็นเวลา 2-3 เดือน
เราได้เผยแพร่การแก้ไขข้อบกพร่องในช่วงปลายเดือนมีนาคม 2017 ซึ่งทำให้การรายงานและการเรียกเก็บเงินแบนด์วิดท์กลับมาเป็นปกติ
Remote Config
Remote Config: เหตุใดค่าที่ดึงข้อมูลจึงไม่เปลี่ยนลักษณะการทำงานและลักษณะที่ปรากฏของแอป
ระบบจะจัดเก็บค่าไว้ในเครื่องแต่จะไม่เปิดใช้งาน เว้นแต่คุณจะดึงข้อมูลค่าด้วย fetchAndActivate()
หากต้องการเปิดใช้งานค่าที่ดึงข้อมูลเพื่อให้มีผล ให้เรียกใช้ activate
การออกแบบนี้ช่วยให้คุณควบคุมได้ว่าจะให้ลักษณะการทำงานและลักษณะที่ปรากฏของแอปเปลี่ยนแปลงเมื่อใด เนื่องจากคุณเลือกเวลาเรียกใช้ activate
ได้ หลังจากเรียกใช้ activate
แล้ว แหล่งที่มาของแอปจะกำหนดว่าจะใช้ค่าพารามิเตอร์ที่อัปเดตเมื่อใด
เช่น คุณสามารถดึงข้อมูลค่าแล้วเปิดใช้งานในครั้งถัดไปที่ผู้ใช้เริ่มแอป ซึ่งจะช่วยลดความจำเป็นในการเลื่อนเวลาการเริ่มต้นแอปขณะที่แอปรอค่าที่ดึงมาจากบริการ จากนั้นการเปลี่ยนแปลงลักษณะการทำงานและรูปลักษณ์ของแอปจะเกิดขึ้นเมื่อแอปใช้ค่าพารามิเตอร์ที่อัปเดตแล้ว
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Remote Config API และรูปแบบการใช้งานได้ที่ภาพรวมของ Remote Config API
Remote Config: ฉันส่งคําขอดึงข้อมูลจํานวนมากขณะพัฒนาแอป เหตุใดแอปจึงไม่ได้รับค่าล่าสุดจากบริการทุกครั้งที่ส่งคําขอดึงข้อมูล
ในระหว่างการพัฒนาแอป คุณอาจต้องการดึงข้อมูลและเปิดใช้งานการกําหนดค่าบ่อยครั้ง (หลายครั้งต่อชั่วโมง) เพื่อให้คุณนําไปใช้งานซ้ำได้อย่างรวดเร็วขณะพัฒนาและทดสอบแอป คุณสามารถตั้งค่าออบเจ็กต์ FirebaseRemoteConfigSettings
เป็นการชั่วคราวในแอปโดยให้มีช่วงเวลาการดึงข้อมูลขั้นต่ำต่ำ (setMinimumFetchIntervalInSeconds
) เพื่อให้รองรับการนําไปใช้งานซ้ำอย่างรวดเร็วในโปรเจ็กต์ที่มีนักพัฒนาแอปไม่เกิน 10 คน
Remote Config: บริการ Remote Config แสดงผลค่าที่ดึงข้อมูลมาได้เร็วเพียงใดหลังจากที่แอปของฉันส่งคำขอดึงข้อมูล
โดยปกติอุปกรณ์จะรับค่าที่ดึงข้อมูลได้ภายในไม่ถึง 1 วินาที และมักจะรับค่าที่ดึงข้อมูลได้ในมิลลิวินาที บริการ Remote Config จะจัดการคำขอดึงข้อมูลภายในไม่กี่มิลลิวินาที แต่เวลาที่ใช้ในการดึงข้อมูลให้เสร็จสมบูรณ์จะขึ้นอยู่กับความเร็วของเครือข่ายของอุปกรณ์และเวลาในการตอบสนองของการเชื่อมต่อเครือข่ายที่อุปกรณ์ใช้
หากเป้าหมายของคุณคือทำให้ค่าที่ดึงข้อมูลมีผลในแอปโดยเร็วที่สุด แต่ไม่สร้างประสบการณ์การใช้งานที่กระอักกระอ่วน ให้ลองเพิ่มการเรียกใช้ fetchAndActivate
ทุกครั้งที่แอปรีเฟรชแบบเต็มหน้าจอ
Test Lab
ไปที่Test Labหน้าการแก้ปัญหาเพื่อดูเคล็ดลับที่เป็นประโยชน์และคำตอบสำหรับคำถามที่พบบ่อย
พื้นที่เก็บข้อมูลการแบ่งกลุ่มผู้ใช้ของ Firebase
พื้นที่เก็บข้อมูลการแบ่งกลุ่มผู้ใช้ของ Firebase คืออะไร
พื้นที่เก็บข้อมูลการแบ่งกลุ่มผู้ใช้ Firebase จะจัดเก็บรหัสการติดตั้ง Firebase และแอตทริบิวต์และกลุ่มที่เกี่ยวข้อง รวมถึงรายการกลุ่มเป้าหมายที่คุณสร้างขึ้นเพื่อระบุข้อมูลการกําหนดเป้าหมายให้กับบริการอื่นๆ ของ Firebase ที่ใช้ข้อมูลดังกล่าว เช่น Crashlytics, FCM, การปรับเปลี่ยนในแบบของคุณของ Remote Config และอื่นๆ