0Pricing
Android Academy · บทเรียน

การตั้งค่า 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การตั้งค่า Firebase
  2. การยืนยันตัวตนด้วย Firebase
  3. พื้นฐาน Cloud Firestore
  4. การพุชด้วย Cloud Messaging
← กลับไปที่ Android Academy