ทำความเข้าใจ Firebase สำหรับ Android

ขณะที่คุณกำลังพัฒนาโปรเจ็กต์ Android โดยใช้ Firebase คุณอาจพบแนวคิดที่ไม่คุ้นเคยหรือเป็นแนวคิดเฉพาะของ Firebase หน้านี้มีจุดมุ่งหมายเพื่อตอบคำถามเหล่านั้นหรือชี้แนะแหล่งข้อมูลให้คุณได้เรียนรู้เพิ่มเติม

หากมีคำถามเกี่ยวกับหัวข้อที่ไม่ได้กล่าวถึงในหน้านี้ โปรดไปที่ หนึ่งในชุมชนออนไลน์ของเรา นอกจากนี้ เราจะอัปเดตหน้านี้ด้วยหัวข้อใหม่ๆ เป็นระยะๆ ดังนั้นโปรดกลับมาดูว่าเราได้เพิ่มหัวข้อที่คุณต้องการเรียนรู้หรือไม่

ปลั๊กอิน Firebase Assistant สำหรับ Android Studio

Firebase Assistant เป็นปลั๊กอิน Android Studio ที่ลงทะเบียนแอป Android ของคุณกับโปรเจ็กต์ Firebase และเพิ่มไฟล์การกำหนดค่า ปลั๊กอิน และทรัพยากร Dependency ของ Firebase ที่จำเป็นลงในโปรเจ็กต์ Android ทั้งหมดนี้ทำได้จากภายใน Android Studio

ทำตามวิธีการใน หน้าเริ่มต้นใช้งาน Android เพื่อใช้ Firebase Assistant ตรวจสอบว่าคุณใช้ Android Studio และ Firebase Assistant เวอร์ชันล่าสุด (ไปที่ไฟล์ > ตรวจสอบการอัปเดต)

เมื่อคุณเลือกผลิตภัณฑ์ Firebase ที่ต้องการเพิ่มลงในแอป Firebase Assistant จะประกาศทรัพยากร Dependency ที่จำเป็นในไฟล์ app/build.gradle โดยอัตโนมัติ โปรดทราบว่าหากต้องการใช้ Firebase Android BoM (แนะนำ) ให้อัปเดตทรัพยากร Dependency ใน ไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยมากจะเป็นไฟล์ app/build.gradle) เพื่อนำเข้าแพลตฟอร์ม BoM นอกจากนี้ คุณจะต้องนำเวอร์ชันออกจากบรรทัดทรัพยากร Dependency ของไลบรารี Firebase แต่ละบรรทัดด้วย

นอกจากนี้ คุณต้องเปิดใช้ API หรือจัดสรรทรัพยากรภายนอก Android Studio เพื่อใช้ผลิตภัณฑ์ Firebase บางอย่าง วิธีการสำหรับผลิตภัณฑ์แต่ละรายการใน Firebase Assistant จะอธิบายการดำเนินการเพิ่มเติมที่คุณต้องทำ เช่น หากต้องการใช้ Cloud Firestore คุณต้องตั้งค่าฐานข้อมูลและกฎใน Firebase คอนโซล

บริการของ Google - ปลั๊กอินและไฟล์การกำหนดค่า

คุณต้องเพิ่มปลั๊กอิน google-services และไฟล์การกำหนดค่า google-services.json ลงใน โปรเจ็กต์ Android

หากเพิ่ม Firebase ลงในโปรเจ็กต์ Android ผ่าน คอนโซล Firebase, Management REST API, หรือ Firebase CLI, คุณต้องเพิ่มปลั๊กอินและไฟล์การกำหนดค่าลงในโปรเจ็กต์ด้วยตนเอง อย่างไรก็ตาม หาก คุณใช้ Firebase Assistant ระบบจะดำเนินการเหล่านี้ให้คุณโดยอัตโนมัติระหว่างการตั้งค่า

ไปที่ เอกสารประกอบของ Android เพื่อดูข้อมูลเกี่ยวกับวิธีที่ปลั๊กอินและไฟล์การกำหนดค่าของบริการ Google ทำงานร่วมกัน

Firebase Android BoM (Bill of Materials)

Firebase Android BoM (Bill of Materials) ช่วยให้คุณจัดการไลบรารี Firebase ทุกเวอร์ชันได้โดยการระบุเพียงเวอร์ชันเดียว นั่นคือเวอร์ชันของ BoM's

เมื่อคุณใช้ Firebase BoM ในแอป BoM จะดึง ไลบรารีแต่ละเวอร์ชันที่แมปกับ BoM's เวอร์ชันมาโดยอัตโนมัติ ไลบรารีแต่ละเวอร์ชันจะเข้ากันได้ เมื่อคุณอัปเดตเวอร์ชันของ BoM's ในแอป ไลบรารี Firebase ทั้งหมดที่คุณใช้ในแอปจะ อัปเดตเป็นเวอร์ชันที่แมปกับเวอร์ชันของ BoM นั้น

หากต้องการดูว่าไลบรารี Firebase เวอร์ชันใดที่แมปกับBoM เวอร์ชันที่เฉพาะเจาะจง ให้ดูบันทึกประจำรุ่นสำหรับเวอร์ชัน BoMนั้น หากต้องการเปรียบเทียบไลบรารีเวอร์ชันที่แมปกับเวอร์ชันหนึ่ง BoMกับอีกเวอร์ชันBoMให้ใช้ วิดเจ็ตการเปรียบเทียบด้านล่าง

ดูข้อมูลเพิ่มเติมเกี่ยวกับการรองรับแพลตฟอร์ม Gradle's BoM ของ

วิธีใช้ Firebase Android BoM เพื่อประกาศทรัพยากร Dependency ใน ไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยมากจะเป็นไฟล์ app/build.gradle) เมื่อใช้ BoM คุณจะไม่ต้องระบุไลบรารีแต่ละเวอร์ชันในบรรทัดทรัพยากร Dependency

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:34.17.0')

  // Declare the dependencies for the desired Firebase products without specifying versions
  // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
  implementation 'com.google.firebase:firebase-auth'
  implementation 'com.google.firebase:firebase-firestore'
}

คำถามที่พบบ่อยเกี่ยวกับการใช้ Firebase Android BoM

เปรียบเทียบเวอร์ชัน Firebase BoM

โมดูลไลบรารีส่วนขยาย Kotlin (KTX)

โมดูลฟีเจอร์และการนำส่งฟีเจอร์ Play

ตั้งแต่เดือนพฤษภาคม 2021 (Firebase BoM เวอร์ชัน 28.0.0) เป็นต้นมา คุณสามารถใช้ Firebase Android SDK ในโมดูลฟีเจอร์แบบไดนามิกซึ่งติดตั้งแยกจากโมดูลแอปพลิเคชันหลักได้

หากต้องการเปิดใช้การรองรับโมดูลฟีเจอร์แบบไดนามิก ให้เพิ่มทรัพยากร Dependency ต่อไปนี้ลงในไฟล์ build.gradle ของโมดูลหลัก

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta04'
}

เมื่อเพิ่มการรองรับโมดูลแบบไดนามิกแล้ว คุณจะเพิ่มทรัพยากร Dependency ของ Firebase SDK (มีหรือไม่มี Firebase BoM ก็ได้) ลงในโมดูลฟีเจอร์ของ แอปและใช้ทรัพยากร Dependency เหล่านั้นได้ตามปกติ

ตัวอย่างเช่น หากแอปพลิเคชันใช้ Realtime Database เพื่อขับเคลื่อนฟีเจอร์แบบเรียลไทม์ที่เฉพาะเจาะจง คุณสามารถเพิ่มทรัพยากร Dependency firebase-database ลงใน build.gradle ของโมดูลฟีเจอร์แทนที่จะเพิ่มลงในโมดูลฐาน ซึ่งจะช่วยลดขนาดการดาวน์โหลดสำหรับผู้ใช้ส่วนใหญ่

โปรดทราบข้อควรระวังต่อไปนี้เมื่อใช้ Firebase SDK ในโมดูลฟีเจอร์

  • ผลิตภัณฑ์ เช่น Dynamic Links หรือ Firebase In-App Messaging ซึ่งอาศัยเหตุการณ์ Analytics first_open อาจไม่ได้รับเหตุการณ์นี้เมื่อใช้ในโมดูลฟีเจอร์แบบไดนามิก

  • เมื่อใช้ Cloud Firestore และ Authentication ร่วมกัน คุณควรใส่ทั้ง 2 รายการไว้ในโมดูลเดียวกันเสมอ หากทำไม่ได้ ให้ตรวจสอบว่าได้โหลด Authentication ก่อน Cloud Firestore มิฉะนั้น การดำเนินการบางอย่างของ Cloud Firestore อาจ มีสถานะการตรวจสอบสิทธิ์ที่ไม่ถูกต้อง

  • เมื่อใช้ firebase-crashlytics-ndk เป็นทรัพยากร Dependency ของโมดูลฟีเจอร์แบบไดนามิก คุณต้องตั้งค่าพร็อพเพอร์ตี้ unstrippedNativeLibsDir ในไฟล์ build.gradle ของแอป ตามที่อธิบายไว้ในเอกสารประกอบ Crashlytics NDK

ดูข้อมูลเพิ่มเติมเกี่ยวกับโมดูลฟีเจอร์และการนำส่งฟีเจอร์ Play ได้ที่ ภาพรวมของการนำส่งฟีเจอร์ Play

ปลั๊กอิน Gradle ของบริการ Google เทียบกับบริการ Google Play เทียบกับ Google Play Store

ระบบนิเวศของ Google, Firebase และ Android หลายส่วนมีรูปแบบการตั้งชื่อที่คล้ายกัน คำอธิบายสั้นๆ สำหรับแต่ละส่วนมีดังนี้

ปลั๊กอิน Gradle ของบริการ Google
ปลั๊กอิน Gradle (com.google.gms.google-services) ที่ทำงานในเวลาบิลด์เพื่อให้แน่ใจว่าแอปของคุณมีการกำหนดค่าที่ถูกต้องในการเข้าถึง Firebase และ Google APIs
แม้จะมีชื่อเช่นนี้ แต่ปลั๊กอินนี้ไม่มีความเกี่ยวข้องกับบริการ Google Play (ดูรายการถัดไป) และไม่มีผลต่อความสามารถของแอปในขณะรันไทม์
นอกจากนี้ ปลั๊กอินนี้ยังประมวลผลไฟล์ google-services.json ที่คุณเพิ่มลงในแอปซึ่งเป็นส่วนหนึ่งของการตั้งค่า Firebase ดูข้อมูลเพิ่มเติมเกี่ยวกับ ปลั๊กอิน Gradle ของบริการ Google
บริการ Google Play
บริการที่ทำงานอยู่เบื้องหลังที่มองไม่เห็นซึ่งทำงานบนอุปกรณ์ Android และมี Google APIs ทั่วไปหลายรายการ (เช่น Google Maps และ Google Sign-In) ให้แอปในอุปกรณ์
การรวม Google APIs ทั่วไปเหล่านี้ไว้ในบริการเดียวจะช่วยลดขนาดของแอปอื่นๆ และช่วยให้อุปกรณ์ได้รับการอัปเดตความปลอดภัยและการปรับปรุงฟีเจอร์โดยอัตโนมัติโดยไม่ต้องอัปเดตระบบปฏิบัติการ ดูข้อมูลเพิ่มเติมเกี่ยวกับ บริการ Google Play
Google Play Store
ร้านค้าสำหรับดาวน์โหลดแอป ภาพยนตร์ หนังสือ และอื่นๆ ในอุปกรณ์ Android
ในฐานะนักพัฒนาแอป คุณจะจัดการการเผยแพร่ รุ่น และอื่นๆ สำหรับแอปผ่าน Google Play Console หากอุปกรณ์มี Google Play Store อุปกรณ์นั้นก็จะใช้บริการ Google Play ด้วย (ดูรายการก่อนหน้า) ดูข้อมูลเพิ่มเติมเกี่ยวกับ Google Play Store สำหรับนักพัฒนาแอป
บริการเกมของ Google Play
ชุด API สำหรับนักพัฒนาเกมมือถือ
ดูข้อมูลเพิ่มเติมเกี่ยวกับ บริการเกมของ Google Play และวิธี ผสานรวม Firebase กับโปรเจ็กต์บริการเกมของ Google Play

แหล่งข้อมูลโอเพนซอร์สสำหรับ Firebase Android SDK

Firebase สนับสนุนการพัฒนาแบบโอเพนซอร์ส และเราสนับสนุนให้ชุมชนมีส่วนร่วมและแสดงความคิดเห็น

Firebase Android SDK

Firebase Android SDK ส่วนใหญ่ได้รับการพัฒนาเป็นไลบรารีโอเพนซอร์สในที่เก็บ Firebase สาธารณะบน GitHub เรากำลังดำเนินการย้ายไลบรารี Firebase ที่พัฒนาขึ้นเป็นการภายในที่เหลือไปยัง GitHub สาธารณะในเร็วๆ นี้

ตัวอย่างการเริ่มต้นใช้งานอย่างรวดเร็ว

Firebase มีชุดตัวอย่างการเริ่มต้นใช้งานอย่างรวดเร็วสำหรับ Firebase APIs ส่วนใหญ่ใน Android ดูตัวอย่างการเริ่มต้นใช้งานอย่างรวดเร็วเหล่านี้ได้ในที่เก็บการเริ่มต้นใช้งานอย่างรวดเร็วของ Firebase สาธารณะบน GitHub

คุณสามารถเปิดตัวอย่างการเริ่มต้นใช้งานอย่างรวดเร็วแต่ละรายการเป็นโปรเจ็กต์ Android Studio แล้วเรียกใช้ในอุปกรณ์เคลื่อนที่หรืออุปกรณ์เสมือนจริง (AVD) หรือจะใช้ตัวอย่างการเริ่มต้นใช้งานอย่างรวดเร็วเหล่านี้เป็นโค้ดตัวอย่างสำหรับการใช้ Firebase SDK ก็ได้

หัวข้ออื่นๆ ที่น่าสนใจ