ไม่ว่าคุณจะเพิ่งเริ่มพัฒนาแอปหรือมีแอปเวอร์ชันสมบูรณ์ที่พร้อมใช้งานจริง คุณก็ควรทำความเข้าใจค่าใช้จ่ายและวิธีหลีกเลี่ยงค่าใช้จ่ายที่ไม่คาดคิด
หากยังไม่ได้ดู โปรดดูแพ็กเกจราคาของ Firebase เพื่อทำความเข้าใจวิธีการเรียกเก็บเงิน ของ Firebase
หน้านี้จะแนะนำคุณเกี่ยวกับแง่มุมที่สำคัญในการทำความเข้าใจและตรวจสอบ ระดับการใช้งานและการใช้จ่าย ซึ่งรวมถึง
ทดสอบโค้ด
การทดสอบโค้ดก่อนที่จะนำไปใช้ในเวอร์ชันที่ใช้งานจริงเป็นความคิดที่ดีด้วยเหตุผลหลายประการ เช่น การตรวจหาข้อผิดพลาดที่อาจทำให้คุณเสียเงินเป็นจำนวนมาก ขณะสร้างโครงสร้างพื้นฐานสำหรับแอป เราขอแนะนำอย่างยิ่งให้ ทดสอบในเครื่องโดยใช้ Firebase Local Emulator Suite ก่อน
Local Emulator Suite ช่วยให้คุณเรียกใช้อินสแตนซ์ของ Cloud Functions, Cloud Firestore, Realtime Database และอื่นๆ ทั้งหมดได้ในเครื่องเดสก์ท็อปของคุณ ซึ่งไม่เพียงแต่ช่วยให้คุณทำซ้ำฟังก์ชันการทำงานใหม่ๆ ได้อย่างรวดเร็ว โดยเฉพาะอย่างยิ่ง Cloud Functions แต่ยังช่วยให้คุณไม่ต้องเสียค่าใช้จ่ายของ Firebase ที่อาจเกิดขึ้นจากการทดสอบกับบริการในเวอร์ชันที่ใช้งานจริงด้วย
ขณะทำการทดสอบ ให้ตรวจสอบสาเหตุทั่วไปต่อไปนี้ที่ทำให้การใช้งานและ ค่าใช้จ่ายเกินกว่าที่คาดไว้
- ลืมเพิ่มขีดจำกัดในการค้นหาฐานข้อมูลที่มีผลลัพธ์นับล้าน 
- การรวมกันของ Cloud Functions ที่ทำให้เกิดภาระงานแบบ Fan-Out มากเกินไป หรือแม้แต่ลูปที่ไม่มีที่สิ้นสุด 
ดูระดับการใช้งานและค่าใช้จ่าย
คุณต้องทราบว่ารูปแบบการใช้งานปกติของแอปเป็นอย่างไร และตรวจสอบว่า คุณยังคงอยู่ภายในเกณฑ์ที่สำคัญต่อคุณ
ดูการใช้งานผลิตภัณฑ์แต่ละรายการ
คุณดูการใช้งานผลิตภัณฑ์แต่ละรายการได้ในแท็บ "การใช้งาน" ของผลิตภัณฑ์หลายรายการในFirebaseคอนโซล
- คุณดูช่วงวันที่ที่เฉพาะเจาะจงได้ในแดชบอร์ดเหล่านี้ 
- แดชบอร์ดระดับผลิตภัณฑ์พร้อมใช้งานสำหรับ Authentication และผลิตภัณฑ์โครงสร้างพื้นฐานทั้งหมด ได้แก่ Realtime Database Cloud Firestore Cloud Storage Cloud Functions และ Hosting 
ดูการใช้งานโปรเจ็กต์โดยรวม
คุณสามารถดูการใช้งานโดยรวมของโปรเจ็กต์ได้ใน แดชบอร์ดการใช้งานและการเรียกเก็บเงิน ในFirebaseคอนโซล (ไปที่การตั้งค่าโปรเจ็กต์ > การใช้งานและการเรียกเก็บเงิน)
- คุณสามารถดูการใช้งานรายเดือนและระดับการใช้งานของคุณเทียบกับโควต้าการใช้งานแบบไม่มีค่าใช้จ่ายที่จัดสรรไว้ได้ 
- คลิกผลิตภัณฑ์ใดก็ได้เพื่อดูสรุปการใช้งานรายวันและดูว่าการใช้งานนั้น เป็นไปตามโควต้าการใช้งานแบบไม่มีค่าใช้จ่ายที่จัดสรรไว้หรือไม่ 
โปรดทราบว่าผลิตภัณฑ์แต่ละรายการมีโควต้าการใช้งานที่แตกต่างกัน จึงมีไทม์ไลน์ที่แตกต่างกันด้วย เช่น
- ระบบจะคำนวณการใช้งาน Cloud Firestore และ Cloud Storage ทุกวัน 
- ระบบจะคำนวณการใช้งาน Cloud Functions เป็นรายเดือน 
ตั้งค่าอีเมลแจ้งเตือนงบประมาณ
หลีกเลี่ยงรายจ่ายที่ไม่คาดคิดในใบเรียกเก็บเงินของคุณโดยการสร้างงบประมาณใน Google Cloud Billing และตั้งค่าการแจ้งเตือนงบประมาณ
- งบประมาณคือจำนวนเงินทั่วไปที่คุณวางแผนจะใช้จ่ายในแต่ละเดือน 
- การแจ้งเตือนเรื่องงบประมาณคือการแจ้งเตือนทางอีเมลที่ส่งถึงทีมของคุณหากโปรเจ็กต์ มีการใช้จ่ายเกินเกณฑ์ที่ตั้งไว้ 
โดยค่าเริ่มต้น Firebase และ Google Cloud จะไม่ปิดบริการและการใช้งานตามงบประมาณและเกณฑ์ของคุณ เนื่องจากแม้ว่าคุณอาจมีข้อบกพร่องในแอป ที่ทำให้ค่าใช้จ่ายเพิ่มขึ้น แต่คุณก็อาจเพียงแค่ประสบกับการเติบโตในเชิงบวกของแอปโดยไม่คาดคิด คุณคงไม่ต้องการให้แอปปิดตัวลงโดยไม่คาดคิด ในเวลาที่คุณต้องการให้แอปทำงานมากที่สุด
คุณอาจมีการแจ้งเตือนงบประมาณอยู่แล้วหากเพิ่งอัปเกรดเป็นแพ็กเกจราคา Blaze แต่หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับการแจ้งเตือนงบประมาณ ตั้งค่าการแจ้งเตือนใหม่ หรือแก้ไขการแจ้งเตือนที่มีอยู่ ส่วนนี้เหมาะสำหรับคุณ
ตั้งงบประมาณและการแจ้งเตือนงบประมาณพื้นฐาน
ส่วนนี้อธิบายงบประมาณและการแจ้งเตือนงบประมาณในระดับสูงโดยมี บริบทของ Firebase โปรดดูข้อมูลโดยละเอียดที่หัวข้อ ตั้งค่าการแจ้งเตือนงบประมาณ ในเอกสารประกอบของ Google Cloud
วิธีตั้งงบประมาณและการแจ้งเตือนงบประมาณพื้นฐานมีดังนี้
- ไปที่การตั้งค่างบประมาณโดยทำดังนี้ - เข้าถึงโปรเจ็กต์ในFirebaseคอนโซล แล้วไปที่หน้าการใช้งานและการเรียกเก็บเงิน > รายละเอียดและการตั้งค่า 
- ในส่วนงบประมาณและการแจ้งเตือน ให้คลิกสร้างงบประมาณแรก ซึ่งจะนำคุณไปยังหน้างบประมาณและการแจ้งเตือนในCloudคอนโซล - โปรดทราบว่าหากตั้งงบประมาณไว้แล้ว คุณจะเห็นงบประมาณที่นี่ แทนลิงก์ "สร้างงบประมาณแรก" 
 
- ทําตามขั้นตอนต่อไปนี้เพื่อตั้งค่างบประมาณและการแจ้งเตือนงบประมาณทางอีเมล - เลือกงบประมาณที่มีอยู่หรือสร้างงบประมาณใหม่ 
- ตั้งชื่อที่สื่อความหมายให้งบประมาณ 
- กำหนดขอบเขตสำหรับการแจ้งเตือนงบประมาณ รวมถึงโปรเจ็กต์และ บริการที่ต้องการให้การแจ้งเตือนงบประมาณมีผล คุณอาจต้องการ เลือกบริการทั้งหมดเมื่อเริ่มใช้การแจ้งเตือนงบประมาณ 
- ตั้งค่าจํานวนเงิน > ประเภทงบประมาณโดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้ - จำนวนเงินที่กำหนด - ใช้ประเภทนี้เมื่อคุณเพิ่งเริ่มต้นหรือทดสอบแอป 
- จำนวนเงินเท่ากับที่โปรเจ็กต์ของคุณใช้จ่ายในเดือนที่แล้ว – ใช้ประเภทนี้เมื่อแอปของคุณเติบโตอย่างต่อเนื่องและคุณไม่ต้องการ อัปเดตจำนวนงบประมาณทุกเดือน 
 
- ตั้งค่าการแจ้งเตือนเปอร์เซ็นต์ของงบประมาณ - สำหรับการทดสอบครั้งแรก ให้ลองใช้เปอร์เซ็นต์ต่างๆ เช่น 1%, 2%, 5% และ 50% ของจริง 
- สําหรับแอปเวอร์ชันที่ใช้งานจริง ให้ลองใช้เปอร์เซ็นต์สําคัญ เช่น 50% และ 100% ของจริง รวมถึง 150% ของคาดการณ์ 
 
- ตั้งค่าผู้ที่ควรได้รับอีเมล - โดยค่าเริ่มต้น ทุกคนที่มีสิทธิ์ในการเรียกเก็บเงินที่เหมาะสมจะได้รับ อีเมลแจ้งเตือน (โดยค่าเริ่มต้น ผู้ดูแลระบบบัญชีสำหรับการเรียกเก็บเงินและ ผู้ใช้บัญชีสำหรับการเรียกเก็บเงินในบัญชี Cloud Billing ที่เชื่อมโยง) 
- นอกจากนี้ คุณยังส่งอีเมลถึงคนอื่นๆ ในทีมได้ด้วย ซึ่งต้องCloud Monitoringสร้าง Workspace แล้วเพิ่มช่องทางการแจ้งเตือนทางอีเมลลงในส่วนการแจ้งเตือนของ Workspace ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่านี้ได้ที่ตั้งค่าการแจ้งเตือนและการเรียกเก็บเงินขั้นสูง 
 
 
หากตั้งค่าการแจ้งเตือนสำหรับเปอร์เซ็นต์ของงบประมาณที่ต่ำ (เช่น 1%) คุณควรได้รับอีเมลภายใน 2-3 ชั่วโมงหรือ 2-3 วันเพื่อแจ้งให้ทราบ ว่าโปรเจ็กต์ของคุณถึงเกณฑ์ดังกล่าวแล้ว
ขั้นตอนถัดไป
- ลองใช้การแจ้งเตือนงบประมาณเพื่อปิดใช้ Cloud Billing ในโปรเจ็กต์โดยอัตโนมัติ 
- ไปที่ ตั้งค่าการแจ้งเตือนและการตรรกะการเรียกเก็บเงินขั้นสูง เพื่อดูวิธีทำสิ่งต่อไปนี้ - ใช้ Cloud Monitoring เพื่อสร้างการแจ้งเตือนที่ซับซ้อนมากขึ้นสำหรับการเรียกเก็บเงิน และการใช้งาน รวมถึงการแจ้งเตือนที่กำหนดเองซึ่งส่งการแจ้งเตือนไปยังสื่ออื่นๆ เช่น Slack 
- สร้างตรรกะการเรียกเก็บเงินเพิ่มเติมตาม Google Cloud Pub/Sub