การตั้งค่า Firebase
เชื่อมต่อแอปของคุณกับโปรเจกต์ Firebase
การตั้งค่า Firebase เป็นบทเรียน Android Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Android Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Android Academy มีบทเรียนทั้งหมด 4 บทเรียน
Firebase คืออะไร
Firebase คือแพลตฟอร์มพัฒนาแอปของ Google ซึ่งมอบแบ็กเอนด์สำเร็จรูปให้แอป Android ของคุณ คุณจึงไม่ต้องสร้างและดูแลเซิร์ฟเวอร์ด้วยตนเอง
ในหลักสูตรนี้ คุณจะเชื่อมต่อแอปกับ Firebase แล้วใช้บริการยอดนิยมสามรายการ:
- การตรวจสอบสิทธิ์ — ให้ผู้ใช้เข้าสู่ระบบด้วยอีเมลหรือ Google
- Cloud Firestore — ฐานข้อมูล NoSQL แบบเรียลไทม์
- Cloud Messaging (FCM) — การแจ้งเตือนแบบพุช
บทเรียนแรกนี้เน้นเรื่อง การตั้งค่า: การสร้างโปรเจกต์และเชื่อมต่อเข้ากับแอป Android
การสร้างโปรเจกต์ Firebase
ทุกอย่างเริ่มต้นที่ คอนโซล Firebase ที่ console.firebase.google.com
- คลิก Add project แล้วตั้งชื่อให้โปรเจกต์
- เบื้องหลัง โปรเจกต์ Firebase แต่ละรายการจะเชื่อมโยงกับโปรเจกต์ Google Cloud หนึ่งรายการ
- โปรเจกต์ Firebase หนึ่งรายการสามารถมีหลายแอปได้ (Android, iOS, เว็บ)
ภายในโปรเจกต์ ให้ลงทะเบียนแอป Android ของคุณโดยใช้ รหัสแอปพลิเคชัน (ชื่อแพ็กเกจ) เช่น com.coddykit.demo Firebase ใช้ ID นี้เพื่อระบุว่ารีเควสต์มาจากแอปใด
ไฟล์ google-services.json
เมื่อลงทะเบียนแอป Android แล้ว Firebase จะสร้างไฟล์กำหนดค่าชื่อ google-services.json
ดาวน์โหลดไฟล์นี้แล้ววางไว้ในโฟลเดอร์รากของโมดูลแอป (ถัดจาก build.gradle.kts ภายในไดเรกทอรี app/)
JSON นี้มี ID โปรเจกต์ คีย์ API และรายละเอียดการลงทะเบียนแอป เครื่องมือสร้างจะอ่านไฟล์นี้โดยอัตโนมัติ — คุณแทบไม่ต้องเปิดดูด้วยตนเอง
// File location in your project:
// app/google-services.json
// It is generated for you and looks roughly like:
{
"project_info": {
"project_id": "my-demo-app",
"storage_bucket": "my-demo-app.appspot.com"
},
"client": [
{ "client_info": { "mobilesdk_app_id": "1:1234567890:android:abc123" } }
]
}การเพิ่มปลั๊กอิน Google Services
เพื่อให้ Gradle อ่าน google-services.json ให้เพิ่ม ปลั๊กอิน Google Services Gradle
แนวทางสมัยใหม่ใช้ บล็อก plugins พร้อมแค็ตตาล็อกเวอร์ชัน คุณประกาศปลั๊กอินในไฟล์สร้างระดับราก (พร้อม apply false) แล้วนำไปใช้ในไฟล์สร้างของโมดูล
// Root build.gradle.kts (project level)
plugins {
id("com.android.application") version "8.5.0" apply false
id("org.jetbrains.kotlin.android") version "2.0.0" apply false
id("com.google.gms.google-services") version "4.4.2" apply false
}การใช้ปลั๊กอินในโมดูล
ใน build.gradle.kts ของ โมดูลแอป ให้ใช้ปลั๊กอินเพื่อให้ปลั๊กอินประมวลผลไฟล์กำหนดค่าระหว่างการสร้าง
หากไม่มีบรรทัดนี้ การเริ่มต้น Firebase จะล้มเหลวขณะรันไทม์ แม้ว่าส่วนอื่นจะถูกต้องทั้งหมดก็ตาม
// app/build.gradle.kts (module level)
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("com.google.gms.google-services")
}Firebase BoM
Firebase มีไลบรารีมากมาย (Auth, Firestore, Messaging, Analytics...) การทำให้เวอร์ชันของไลบรารีเหล่านี้สอดคล้องกันทำได้ง่ายด้วย Bill of Materials (BoM)
คุณประกาศ BoM เพียงครั้งเดียว จากนั้นเพิ่มการพึ่งพาแต่ละรายการของ Firebase โดยไม่ต้องระบุเวอร์ชัน — BoM จะเลือกเวอร์ชันที่เข้ากันได้ให้คุณ
// app/build.gradle.kts -> dependencies { }
dependencies {
// One BoM controls all Firebase versions
implementation(platform("com.google.firebase:firebase-bom:33.1.0"))
// No version numbers here - the BoM decides
implementation("com.google.firebase:firebase-auth")
implementation("com.google.firebase:firebase-firestore")
implementation("com.google.firebase:firebase-messaging")
}การเริ่มต้นโดยอัตโนมัติ
คุณอาจคาดว่าจะต้องเรียกใช้บางอย่าง เช่น Firebase.initialize() ในคลาส Application แต่สำหรับ SDK สมัยใหม่ โดยทั่วไปคุณ ไม่ต้องทำเช่นนั้น
ปลั๊กอิน Google Services จะสร้างผู้ให้บริการเริ่มต้นโดยอัตโนมัติ ซึ่งทำงานเมื่อแอปเริ่มต้นโดยใช้ google-services.json เมื่อ Activity ของคุณเริ่มทำงาน Firebase ก็พร้อมใช้งานแล้ว
// You normally do NOT need this anymore:
// FirebaseApp.initializeApp(context)
// Firebase is initialized automatically on app launch.
// You can just start using a service:
import com.google.firebase.Firebase
import com.google.firebase.firestore.firestore
val db = Firebase.firestore // ready to useรูปแบบ Kotlin KTX
Firebase มีตัวเข้าถึงแบบ Kotlin ที่สอดคล้องกับรูปแบบภาษา ผ่านออบเจ็กต์ Firebase แทนที่จะเขียน FirebaseFirestore.getInstance() คุณสามารถเขียน Firebase.firestore ได้
ส่วนขยายเหล่านี้อ่านได้เป็นธรรมชาติมากกว่า และเป็นรูปแบบที่แนะนำสำหรับโค้ด Android สมัยใหม่
import com.google.firebase.Firebase
import com.google.firebase.auth.auth
import com.google.firebase.firestore.firestore
import com.google.firebase.messaging.messaging
val auth = Firebase.auth // FirebaseAuth
val db = Firebase.firestore // FirebaseFirestore
val fcm = Firebase.messaging // FirebaseMessaging
// Equivalent old style:
// val auth = FirebaseAuth.getInstance()การเพิ่มสิทธิ์อินเทอร์เน็ต
Firebase ติดต่อกับเซิร์ฟเวอร์ของ Google ดังนั้นแอปของคุณจึงต้องมีสิทธิ์เข้าถึงเครือข่าย ให้ประกาศ สิทธิ์ INTERNET ในไฟล์ manifest
นี่เป็นสิทธิ์แบบ ปกติ ซึ่งได้รับโดยอัตโนมัติเมื่อติดตั้ง จึงไม่ต้องขอสิทธิ์ขณะรันไทม์
<!-- AndroidManifest.xml -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<application ... >
<!-- activities, services -->
</application>
</manifest>การตรวจสอบการเชื่อมต่อ
วิธีรวดเร็วในการยืนยันว่าการตั้งค่าทำงานคืออ่านค่าบางอย่างหรือตรวจสอบแอป Firebase ปัจจุบัน หาก Firebase ยังไม่ได้เริ่มต้น การเข้าถึงบริการจะทำให้เกิดข้อผิดพลาด
นักพัฒนาหลายคนยังเพิ่มการพึ่งพา Analytics ชั่วคราว แล้วมองหาเหตุการณ์ในคอนโซลเพื่อทดสอบเบื้องต้น แต่เพียงเรียกใช้บริการในโค้ดก็ยืนยันการเชื่อมต่อได้แล้ว
import android.util.Log
import com.google.firebase.Firebase
import com.google.firebase.firestore.firestore
fun verifyFirebase() {
val app = Firebase.firestore.app
Log.d("Firebase", "Connected to project: ${app.options.projectId}")
}ข้อผิดพลาดในการตั้งค่าที่พบบ่อย
หาก Firebase ไม่ทำงาน ให้ตรวจสอบรายการต่อไปนี้ก่อน:
- ชื่อแพ็กเกจไม่ถูกต้อง — applicationId ของแอปต้องตรงกับที่ลงทะเบียนไว้
- ไม่มี google-services.json — ไฟล์ต้องอยู่ในโฟลเดอร์
app/ - ลืมใช้ปลั๊กอิน ในไฟล์สร้างของโมดูล
- ไม่มีสิทธิ์ INTERNET ในไฟล์ manifest
- ยังไม่ได้เพิ่มลายนิ้วมือ SHA-1 — จำเป็นในภายหลังสำหรับการเข้าสู่ระบบด้วย Google
ตรวจสอบความเข้าใจ
ไฟล์ google-services.json มีไว้เพื่ออะไร
ทบทวน: ตั้งค่าเสร็จแล้ว
คุณเชื่อมต่อแอป Android กับ Firebase แล้ว ขั้นตอนสำคัญมีดังนี้:
- สร้างโปรเจกต์ในคอนโซล Firebase และลงทะเบียนแอปด้วยชื่อแพ็กเกจ
- เพิ่ม
google-services.jsonลงในโฟลเดอร์app/ - ใช้ ปลั๊กอิน Google Services และเพิ่ม Firebase BoM พร้อมไลบรารีที่ต้องการ
- Firebase เริ่มต้นโดยอัตโนมัติ — เข้าถึงบริการต่าง ๆ ผ่าน
Firebase.auth,Firebase.firestoreและอื่น ๆ - อย่าลืม สิทธิ์ INTERNET
ถัดไป: การให้ผู้ใช้เข้าสู่ระบบด้วย Firebase Authentication
คำถามที่พบบ่อย
บทเรียน “การตั้งค่า Firebase” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การตั้งค่า Firebase” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Android Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Android Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การตั้งค่า Firebase”
เชื่อมต่อแอปของคุณกับโปรเจกต์ Firebase คุณปฏิบัติ Android Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Android Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Android Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การตั้งค่า Firebase” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Android Academy นี้ได้ไหม
ได้ บทเรียน Android Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การตั้งค่า Firebase
- การยืนยันตัวตนด้วย Firebase
- พื้นฐาน Cloud Firestore
- การพุชด้วย Cloud Messaging