ประเด็นสำคัญ
Firebase คือแพลตฟอร์ม Backend-as-a-Service (BaaS) ที่ให้เครื่องมือพร้อมใช้สำหรับการพัฒนาแอปพลิเคชัน Firebase ช่วยให้นักพัฒนาไม่ต้องสร้างโครงสร้างพื้นฐานเซิร์ฟเวอร์จากศูนย์ — การวิเคราะห์ ฐานข้อมูล การรับรองตัวตน การแจ้งเตือนแบบพุช และอีกมากมายพร้อมใช้งานทันทีผ่าน SDK
Google ซื้อ Firebase ในปี 2014 ด้วยมูลค่า 100 ล้านดอลลาร์และรวมเข้ากับ Google Cloud Platform Firebase นำเสนอผลิตภัณฑ์มากกว่า 20 รายการ ซึ่งสามารถรวมกันได้ตามความต้องการของโปรเจ็กต์ บริการส่วนใหญ่มีขีดจำกัดฟรีที่ generous (Spark Plan) และมีแผนชำระเงินตามการใช้งาน (Blaze Plan) สำหรับการเติบโต
การรวม Firebase เริ่มต้นด้วยการสร้างโปรเจ็กต์ใน Firebase Console และเพิ่มไฟล์การกำหนดค่า (GoogleService-Info.plist สำหรับ iOS, google-services.json สำหรับ Android) Firebase รองรับ iOS, Android, Flutter, React Native, Unity และแอปพลิเคชันเว็บ ทำให้เป็นโซลูชันสากลสำหรับทุกแพลตฟอร์ม
Firebase Analytics คือเครื่องมือวิเคราะห์ฟรีที่รวบรวมข้อมูลเกี่ยวกับพฤติกรรมผู้ใช้ Firebase Analytics เป็นแกนหลักของทั้งแพลตฟอร์ม — ข้อมูลการวิเคราะห์ถูกใช้โดยบริการ Firebase อื่นๆ ทั้งหมดสำหรับการกำหนดเป้าหมายและการปรับแต่งเฉพาะบุคคล
Firebase Crashlytics เป็นเครื่องมือยอดนิยมที่สุดสำหรับการติดตามข้อขัดข้องของแอป Crashlytics จะรวบรวม stack traces บันทึก และข้อมูลอุปกรณ์โดยอัตโนมัติ ทุกครั้งที่แอปขัดข้อง รายงานจะถูกจัดกลุ่มตามประเภทข้อผิดพลาด ทำให้ระบุปัญหาที่สำคัญที่สุดได้อย่างรวดเร็ว
Crashlytics รองรับบันทึกที่กำหนดเอง คีย์ และข้อยกเว้นที่ไม่ร้ายแรง ข้อยกเว้นที่ไม่ร้ายแรงช่วยให้ติดตามข้อผิดพลาดที่ถูกจัดการได้โดยไม่ทำให้แอปขัดข้อง — ตัวอย่างเช่น คำขอ API ที่ล้มเหลวหรือข้อยกเว้นในตรรกะทางธุรกิจ
Firebase Performance คือเครื่องมือสำหรับตรวจสอบประสิทธิภาพของแอป Performance ติดตามเวลาเริ่มต้น ความหน่วงของเครือข่าย การเรนเดอร์หน้าจอ และคำขอ HTTP ระบุจุดคอขวดที่ทำให้แอปช้าลงและทำให้ประสบการณ์ผู้ใช้แย่ลง
การรวม Firebase Analytics กับ Crashlytics ให้ความสามารถพิเศษในการเห็นไม่เพียงแต่อะไรที่ขัดข้อง แต่ยังรวมถึงการกระทำใดของผู้ใช้ที่นำไปสู่การขัดข้อง IT Sectr ใช้การรวมนี้สำหรับการวินิจฉัยบั๊กอย่างรวดเร็วในโปรดักชัน — เวลาจากการตรวจพบจนถึงการแก้ไขลดลง 3–4 เท่า
Firebase มีฐานข้อมูล NoSQL สองแบบและพื้นที่จัดเก็บคลาวด์สำหรับไฟล์ การเลือกระหว่าง Firestore และ Realtime Database ขึ้นอยู่กับกรณีการใช้งาน — ฐานข้อมูลทั้งสองซิงค์ข้อมูลแบบเวลาจริงแต่มีสถาปัตยกรรมที่แตกต่างกัน
| คุณลักษณะ | Cloud Firestore | Realtime Database |
|---|---|---|
| โมเดลข้อมูล | คอลเลกชันและเอกสาร (วัตถุ JSON) | ต้นไม้ JSON ขนาดใหญ่เดี่ยว |
| คำค้นหา | เชิงประกอบ, ดัชนี, การเรียงลำดับ, การกรอง | ง่าย, การเรียงลำดับจากโหนดเดียว |
| การปรับขนาด | อัตโนมัติ, หลายภูมิภาค | ภูมิภาคเดียว, ข้อจำกัดแบนด์วิดท์ |
| การกำหนดราคา | ปริมาณการอ่าน/เขียน/ลบ | ปริมาณการรับส่งข้อมูลและพื้นที่จัดเก็บ |
| โหมดออฟไลน์ | รองรับ (แคชดิสก์) | รองรับ (แคชหน่วยความจำ) |
| การใช้งานที่ดีที่สุด | แชท, โซเชียลเน็ตเวิร์ก, คำค้นหาที่ซับซ้อน | แชท, เกม, การซิงค์อย่างง่าย |
Cloud Storage คือพื้นที่จัดเก็บไฟล์ (รูปภาพ, วิดีโอ, เสียง) Firebase Storage ปรับขนาดอัตโนมัติจนถึงระดับเพตาไบต์ และให้การอัปโหลดที่เชื่อถือได้พร้อมการ resume เมื่อการเชื่อมต่อขาดหาย รวมเข้ากับ Firebase Auth เพื่อการเข้าถึงที่ปลอดภัย
Firestore ได้รับคำแนะนำสำหรับโปรเจ็กต์ใหม่เนื่องจากคำค้นหาที่ยืดหยุ่นและความสามารถในการปรับขนาด Realtime Database ยังคงเป็นตัวเลือกที่ดีสำหรับแชทและเกมง่ายๆ ที่มีข้อมูลจำนวนน้อย IT Sectr มักใช้ Firestore เป็นฐานข้อมูลหลักและใช้ Realtime Database สำหรับการทำงานร่วมกันแบบเวลาจริงเท่านั้น
Firebase Authentication คือโซลูชันพร้อมใช้สำหรับการรับรองตัวตนผู้ใช้ Firebase Auth รองรับอีเมล/รหัสผ่าน, Google, Apple, Facebook, Twitter, GitHub, การรับรองตัวตนทางโทรศัพท์และการเข้าสู่ระบบแบบไม่ระบุชื่อ กระบวนการรับรองตัวตนทั้งหมดถูกดำเนินการฝั่งไคลเอนต์ผ่าน SDK
Google Sign-In เป็นหนึ่งในผู้ให้บริการรับรองตัวตนที่ได้รับความนิยมมากที่สุด การรวม Google Sign-In ใช้เวลา 15–30 นาทีผ่าน Firebase Console และไม่ต้องมีการพัฒนาแบ็กเอนด์ ผู้ใช้เข้าสู่ระบบด้วยคลิกเดียวโดยใช้บัญชี Google ของตน
Firebase Auth ยังมีฟังก์ชันแบ็กเอนด์ผ่าน Admin SDK คุณสามารถสร้างผู้ใช้ อัปเดตโปรไฟล์ จัดการเซสชัน และตรวจสอบโทเค็น ID บนเซิร์ฟเวอร์ได้ การรวมกับ Cloud Functions ช่วยให้สร้างสถานการณ์การรับรองตัวตนแบบกำหนดเองได้
Security Rules — กลไกความปลอดภัยของ Firebase สำหรับฐานข้อมูลและพื้นที่จัดเก็บ กฎการเข้าถึงถูกอธิบายในเชิงประกาศและตรวจสอบในทุกคำขอ ตัวอย่างเช่น: อนุญาตให้อ่านเอกสารเฉพาะเมื่อ userId เท่ากับผู้ใช้ที่ได้รับการรับรองตัวตนปัจจุบัน
ตัวอย่าง Security Rule อย่างง่ายสำหรับ Firestore:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth.uid == userId;
}
match /posts/{postId} {
allow read: if true;
allow write: if request.auth.uid == resource.data.authorId;
}
}
}
Firebase Cloud Messaging (FCM) คือบริการส่งการแจ้งเตือนแบบพุช FCM จัดการข้อความได้มากถึง 500 พันล้านข้อความต่อวัน และรองรับ iOS, Android และ Web ข้อความแบ่งเป็น notification messages (แสดงอัตโนมัติ) และ data messages (ประมวลผลในแอป)
Firebase Remote Config ช่วยให้เปลี่ยนพฤติกรรมของแอปได้โดยไม่ต้องเผยแพร่เวอร์ชันใหม่ Remote Config ใช้สำหรับการทดสอบ A/B การเปิด/ปิดฟีเจอร์ การปรับแต่งอินเทอร์เฟซ และการเปลี่ยนพารามิเตอร์แบบไดนามิก (เช่น ความถี่โฆษณา ข้อความ paywall)
Firebase A/B Testing คือเครื่องมือสำหรับทำการทดลอง สร้างแอปสองเวอร์ชันที่มีพารามิเตอร์ต่างกันและวัดผลกระทบต่อเมตริก ( Conversion, การรักษาผู้ใช้, รายได้) การทดสอบจะคำนวณนัยสำคัญทางสถิติโดยอัตโนมัติและกำหนดผู้ชนะ
Firebase Dynamic Links คือลิงก์อัจฉริยะที่พาผู้ใช้ไปยังตำแหน่งที่ถูกต้องในแอป Dynamic Links ทำงานแม้ว่าแอปจะยังไม่ได้ติดตั้ง — ในกรณีนี้จะไปที่หน้าร้านค้า และหลังการติดตั้งจะกู้คืนบริบทและเปลี่ยนเส้นทางไปยังหน้าจอเป้าหมาย
IT Sectr ใช้การรวม Remote Config + A/B Testing เพื่อปรับแต่งสถานการณ์สำคัญทั้งหมด: จากหน้าต้อนรับไปจนถึงขั้นตอนการชำระเงิน พารามิเตอร์ Remote Config สามารถเปลี่ยนได้แบบเวลาจริงผ่าน Firebase Console — ซึ่งให้ความยืดหยุ่นที่ไม่สามารถทำได้ในวงจรการเผยแพร่แบบดั้งเดิม
Firebase Test Lab คือโซลูชันคลาวด์สำหรับการทดสอบแอปอัตโนมัติ Test Lab รันการทดสอบของคุณบนอุปกรณ์ Google จริง ในการกำหนดค่าต่างๆ (เวอร์ชัน OS ต่างกัน, ความละเอียดหน้าจอ, ภาษา) รองรับ Espresso (Android), XCUITest (iOS) และการทดสอบ Robo
Firebase App Distribution คือแพลตฟอร์มสำหรับการกระจายเวอร์ชันเบต้าของแอป App Distribution แทนที่ TestFlight สำหรับ Android และเสริมสำหรับ iOS คุณสามารถอัปโหลด APK/AAB และรับคำติชมจากผู้ทดสอบผ่านการรวมกับ Crashlytics
การรวม Test Lab และ App Distribution ช่วยให้มั่นใจในคุณภาพในทุกขั้นตอนของการพัฒนา: จากการทดสอบอัตโนมัติบนอุปกรณ์จริงไปจนถึงการทดสอบเบต้ากับผู้ใช้จริง การรวมกับ CI/CD (GitHub Actions, Bitrise) ทำให้กระบวนการเป็นอัตโนมัติอย่างสมบูรณ์
| บริการ | วัตถุประสงค์ | ขีดจำกัดฟรี | iOS | Android | Web |
|---|---|---|---|---|---|
| Analytics | รวบรวมและวิเคราะห์เหตุการณ์ผู้ใช้ | ไม่จำกัด | + | + | + |
| Crashlytics | การรายงานข้อขัดข้อง | ไม่จำกัด | + | + | - |
| Firestore | ฐานข้อมูล NoSQL | พื้นที่จัดเก็บ 1 GB | + | + | + |
| Realtime DB | ฐานข้อมูลเวลาจริง | พื้นที่จัดเก็บ 1 GB | + | + | + |
| Auth | การรับรองตัวตนผู้ใช้ | ไม่จำกัด | + | + | + |
| Cloud Messaging | การแจ้งเตือนแบบพุช | ไม่จำกัด | + | + | + |
| Remote Config | การจัดการพารามิเตอร์ | ไม่จำกัด | + | + | + |
| Performance | การตรวจสอบประสิทธิภาพ | ไม่จำกัด | + | + | + |
| Test Lab | การทดสอบคลาวด์ | 10 การทดสอบ/วัน | + | + | - |
| App Distribution | การกระจายเวอร์ชันเบต้า | ไม่จำกัด | + | + | - |
| Cloud Functions | โค้ดฝั่งเซิร์ฟเวอร์ตามต้องการ | 2 ล้านการเรียก/เดือน | + | + | + |
คำถามที่พบบ่อย
Firebase มีแผนฟรี Spark Plan ที่มีขีดจำกัดที่ generous — การวิเคราะห์ การรายงานข้อขัดข้อง และการรับรองตัวตนฟรีและไม่จำกัด แผน Blaze Plan (จ่ายตามการใช้งาน) จำเป็นเมื่อเกินขีดจำกัด — ตัวอย่างเช่น พื้นที่จัดเก็บมากกว่า 1 GB ใน Firestore หรือมากกว่า 2 ล้านการเรียก Cloud Functions สตาร์ทอัพส่วนใหญ่ไม่เกินขีดจำกัดฟรีใน 1–2 ปีแรก
สำหรับโปรเจ็กต์ใหม่ส่วนใหญ่ แนะนำให้ใช้ Firestore Firestore ให้ความสามารถในการปรับขนาดที่ดีกว่า คำค้นหาที่หลากหลายกว่า และการจำลองหลายภูมิภาค Realtime Database ควรเลือกเฉพาะสำหรับสถานการณ์เวลาจริงอย่างง่าย (แชทที่มีข้อมูลจำนวนน้อย เกมเวลาจริง)
ได้ Firebase ใช้โปรโตคอลเปิดและสามารถส่งออกข้อมูลได้ Firestore มีการส่งออกแบบจัดการไปยัง BigQuery และ Google Cloud Storage การรับรองตัวตนสามารถย้ายได้โดยการส่งออกแฮชรหัสผ่าน Cloud Functions สามารถเขียนใหม่บนเฟรมเวิร์กแบ็กเอนด์ใดก็ได้อย่างง่ายดาย
Firebase ใช้การป้องกันหลายชั้น: การเข้ารหัสในระดับการส่งข้อมูล (TLS) และในระดับพื้นที่จัดเก็บ (AES-256) Security Rules ให้การควบคุมการเข้าถึงในเชิงประกาศ Firebase ยังปฏิบัติตามมาตรฐาน SOC 1/2/3, ISO 27001 และ GDPR
Firebase ทำงานได้อย่างจำกัดในจีนเนื่องจากการปิดกั้นบริการของ Google สำหรับตลาดจีน จำเป็นต้องใช้ทางเลือกในท้องถิ่น — ตัวอย่างเช่น Alibaba Cloud Push แทน FCM หรือ LeanCloud แทน Firebase Firebase Analytics และ Crashlytics จะไม่สามารถใช้งานได้หากไม่มี VPN
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ