ขณะที่พัฒนาโครงการ Android โดยใช้ Firebase คุณอาจพบ ที่ไม่คุ้นเคยหรือเฉพาะเจาะจงสำหรับ Firebase หน้านี้มีไว้เพื่อตอบคำถาม คำถามเหล่านั้นหรือแนะนำแหล่งข้อมูลเพื่อเรียนรู้เพิ่มเติม
หากคุณมีคำถามเกี่ยวกับหัวข้อที่ไม่ได้กล่าวถึงในหน้านี้ โปรดไปที่ ชุมชนออนไลน์ของเรา นอกจากนี้เรายังจะ อัปเดตหน้านี้ด้วยหัวข้อใหม่ๆ เป็นระยะ ดังนั้นโปรดกลับมาตรวจสอบเพื่อดูว่าเราได้ เพิ่มหัวข้อที่คุณต้องการเรียนรู้แล้ว!
ปลั๊กอิน Firebase Assistant สำหรับ Android Studio
Firebase Assistant คือปลั๊กอิน Android Studio ที่ลงทะเบียน กับโปรเจ็กต์ Firebase และเพิ่มไฟล์การกำหนดค่า Firebase ที่จำเป็น ปลั๊กอิน และทรัพยากร Dependency ต่างๆ ในโปรเจ็กต์ Android ทั้งหมดนี้ทำได้จากภายใน Android สตูดิโอ
ทำตามวิธีการใน หน้าเริ่มต้นใช้งาน Android เพื่อใช้ Firebase Assistant ตรวจสอบว่าคุณใช้เวอร์ชันล่าสุดของ ทั้ง Android Studio และ Firebase Assistant (ไปที่ไฟล์ > ตรวจหาการอัปเดต)
เมื่อคุณเลือกผลิตภัณฑ์ Firebase ที่ต้องการเพิ่มลงในแอป Firebase
Assistant จะประกาศทรัพยากร Dependency ที่จำเป็นโดยอัตโนมัติใน
app/build.gradle
ไฟล์ แต่หากต้องการใช้ฟีเจอร์ Firebase ที่เป็นมากกว่านั้น
ความสามารถในปัจจุบันของ Firebase Assistant คุณอาจต้องทำด้วยตนเอง
การเปลี่ยนแปลงของทรัพยากร Dependency เหล่านี้
หากต้องการใช้BoM ของ Firebase Android ให้อัปเดตทรัพยากร Dependency ในไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยทั่วไปจะเป็น
app/build.gradle
) เพื่อ นำเข้าแพลตฟอร์ม BoM คุณจะต้องนำเวอร์ชันออกจากแต่ละเวอร์ชันด้วย บรรทัดทรัพยากร Dependency ของไลบรารี Firebaseหากต้องการใช้ไลบรารีส่วนขยาย Kotlin ให้แก้ไขทรัพยากร Dependency บรรทัดที่เพิ่มในไฟล์ Gradle ของโมดูล (ระดับแอป) (ปกติแล้ว
app/build.gradle
) เพื่อใช้ไลบรารี Firebase เวอร์ชันktx
แทน
บริการของ Google — ปลั๊กอินและไฟล์การกำหนดค่า
เมื่อเพิ่ม Firebase ลงในโปรเจ็กต์ Android คุณต้องเพิ่ม
ปลั๊กอิน google-services
และไฟล์การกำหนดค่า
ไปยัง
โปรเจ็กต์ของคุณ
หากคุณเพิ่ม Firebase ลงในโปรเจ็กต์ Android ผ่าน คอนโซล Firebase Management REST API หรือ Firebase CLI คุณต้องเพิ่มปลั๊กอินและไฟล์การกำหนดค่าลงในโครงการด้วยตนเอง อย่างไรก็ตาม หาก คุณใช้ Firebase Assistant งานเหล่านี้ โดยอัตโนมัติในระหว่างการตั้งค่า
เข้าชม เอกสารประกอบของ Android เพื่อดูวิธีการทำงานร่วมกันระหว่างปลั๊กอินบริการของ Google และไฟล์การกำหนดค่า
BoM ของ Firebase Android (Bill of Materials)
BoM ของ Firebase Android (Bill of Materials) ช่วยให้คุณสามารถจัดการ เวอร์ชันไลบรารี Firebase โดยระบุเพียงเวอร์ชันเดียว นั่นคือ BoM เวอร์ชัน
เมื่อคุณใช้ Firebase BoM ในแอป BoM จะดึง ในไลบรารีแต่ละเวอร์ชันซึ่งแมปกับเวอร์ชันของ BoM ทั้งหมด ไลบรารีแต่ละเวอร์ชันที่เข้ากันได้ เมื่อคุณอัปเดตของ BoM เวอร์ชันในแอปของคุณ ไลบรารี Firebase ทั้งหมดที่คุณใช้ในแอปจะ อัปเดตเป็นเวอร์ชันที่แมปกับเวอร์ชัน BoM นั้น
เพื่อดูว่าไลบรารี Firebase เวอร์ชันใดแมปกับ BoM ที่เฉพาะเจาะจง โปรดดูข้อมูลในบันทึกประจำรุ่น เวอร์ชัน BoM หากต้องการเปรียบเทียบเวอร์ชันไลบรารีที่แมปกับเวอร์ชัน เวอร์ชัน BoM เทียบกับเวอร์ชัน BoM อื่น ให้ใช้ วิดเจ็ตการเปรียบเทียบด้านล่าง
ดูข้อมูลเพิ่มเติมเกี่ยวกับการสนับสนุนของ Gradle สำหรับแพลตฟอร์ม BoM
ต่อไปนี้เป็นวิธีใช้ BoM ของ Firebase Android เพื่อประกาศทรัพยากร Dependency ใน
ไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติจะเป็น app/build.gradle
) เมื่อใช้
BoM คุณไม่ได้ระบุเวอร์ชันไลบรารีแต่ละเวอร์ชันในบรรทัดทรัพยากร Dependency
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:33.1.2') // 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' }
ต่อไปนี้เป็นคำถามที่พบบ่อยเกี่ยวกับการใช้ BoM ของ Firebase Android
เปรียบเทียบเวอร์ชัน Firebase BoM
โมดูลไลบรารีส่วนขยายของ Kotlin (KTX)
โมดูลไลบรารีส่วนขยายของ Firebase Kotlin (KTX) เป็นเครื่องมือที่ใช้ร่วมกันกับ โมดูลหลักของไลบรารี Firebase และคุณสามารถใช้โมดูลเหล่านี้เขียน โค้ด Kotlin ที่มีเอกลักษณ์
หากต้องการใช้โมดูลไลบรารี KTX ในแอป ให้เปลี่ยนทรัพยากร Dependency เพื่อรวม
คำต่อท้าย -ktx
โมดูล KTX แต่ละรายการจะขึ้นต่อกันกับโมดูลหลัก
โมดูลไลบรารี คุณจึงไม่จำเป็นต้องใส่ทรัพยากร Dependency ทั้ง 2 อย่างในแอป
dependencies { // Import the BoM for the Firebase platform (learn more) implementation platform('com.google.firebase:firebase-bom:33.1.2')// Declare the main module implementation 'com.google.firebase:firebase-analytics'// Declare the KTX module instead (which automatically has a dependency on the main module) implementation 'com.google.firebase:firebase-analytics-ktx' }
โมดูล KTX แต่ละรายการจะมีส่วนขยายไวยากรณ์ที่แตกต่างกันของโมดูลหลัก เช่น โมดูล Analytics KTX ช่วยให้บันทึกเหตุการณ์ได้ง่ายขึ้น
ก่อน (ใช้โมดูลหลัก)
val analytics = FirebaseAnalytics.getInstance(); val bundle = Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name); bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image"); analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);
หลัง (ใช้โมดูล KTX แทน)
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) { param(FirebaseAnalytics.Param.ITEM_ID, id) param(FirebaseAnalytics.Param.ITEM_NAME, name) param(FirebaseAnalytics.Param.CONTENT_TYPE, "image") }
ผลิตภัณฑ์ Firebase ทั้งหมดมี โมดูล KTX ยกเว้น Firebase ML และการจัดทำดัชนีแอป
หากยังไม่ได้อ่าน โปรดดู เอกสารอ้างอิง API สำหรับโมดูล KTX
โมดูลฟีเจอร์และการนำส่งฟีเจอร์ Play
ตั้งแต่เดือนพฤษภาคม 2021 (Firebase BoM v28.0.0) Firebase Android SDK สามารถ ที่ใช้ในโมดูลฟีเจอร์แบบไดนามิก ซึ่งจะติดตั้งแยกต่างหากจากฐานของคุณ โมดูลแอปพลิเคชัน
หากต้องการเปิดใช้การรองรับโมดูลฟีเจอร์แบบไดนามิก ให้เพิ่มทรัพยากร Dependency ต่อไปนี้
ลงในไฟล์ build.gradle
ของโมดูล base ดังนี้
dependencies {
implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03'
}
เมื่อเพิ่มการรองรับโมดูลแบบไดนามิกแล้ว คุณก็เพิ่ม Firebase SDK ได้ ทรัพยากร Dependency (ที่มีหรือไม่มี Firebase BoM) เพื่อแสดงโมดูล และใช้งานตามปกติ
ตัวอย่างเช่น หากแอปพลิเคชันของคุณใช้ฐานข้อมูลเรียลไทม์เพื่อขับเคลื่อนแบบเรียลไทม์ที่เฉพาะเจาะจง
คุณสามารถเพิ่มทรัพยากร Dependency firebase-database
ไปยัง build.gradle
ได้
ของโมดูลฟีเจอร์ ไม่ใช่โมดูลฐาน การดำเนินการนี้จะลดการดาวน์โหลด
ขนาดสำหรับผู้ใช้ส่วนใหญ่
โปรดระวังสิ่งต่อไปนี้เมื่อใช้ Firebase SDK ในโมดูลฟีเจอร์
ผลิตภัณฑ์ เช่น ลิงก์แบบไดนามิกหรือการรับส่งข้อความในแอปของ Firebase ที่ใช้ Analytics
first_open
เหตุการณ์อาจพลาดเหตุการณ์นี้เมื่อใช้ในโมดูลฟีเจอร์แบบไดนามิกเมื่อใช้ Cloud Firestore และ 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 API - แม้ว่าจะมีชื่อ แต่ปลั๊กอินนี้ไม่มีผลต่อบริการ Google Play (โปรดดู รายการถัดไป) และไม่มีผลต่อความสามารถของแอปขณะรันไทม์
- ปลั๊กอินนี้ยังประมวลผลไฟล์
google-services.json
ที่คุณเพิ่มด้วย แอปของคุณเป็นส่วนหนึ่งของการตั้งค่า Firebase ดูข้อมูลเพิ่มเติมเกี่ยวกับ ปลั๊กอิน Gradle สำหรับบริการของ Google - บริการ Google Play
- บริการเบื้องหลังที่มองไม่เห็นซึ่งทำงานบนอุปกรณ์ Android และให้ Google API ทั่วไปหลายรายการ (เช่น Google Maps และ Google Sign-In) ไปยังแอปใน อุปกรณ์
- การรวม API ทั่วไปเหล่านี้ไว้ในบริการเดียวจะช่วยลดขนาด แอปอื่นๆ และทำให้อุปกรณ์ได้รับการอัปเดตความปลอดภัยอัตโนมัติ การเพิ่มประสิทธิภาพฟีเจอร์โดยไม่ต้องอัปเดตระบบปฏิบัติการ ดูข้อมูลเพิ่มเติมเกี่ยวกับ บริการ 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 สนับสนุนการพัฒนาโอเพนซอร์สและเราสนับสนุนให้ชุมชน การมีส่วนร่วมและความคิดเห็น
Android SDK ของ Firebase
Firebase Android SDK ส่วนใหญ่ได้รับการพัฒนาเป็นไลบรารีโอเพนซอร์สที่เป็นสาธารณะ ที่เก็บ Firebase GitHub เรากำลังดำเนินการอย่างเต็มที่เพื่อย้าย Firebase ที่พัฒนาแบบส่วนตัวที่เหลือ ไปยัง GitHub สาธารณะของเราเร็วๆ นี้
ตัวอย่างการเริ่มต้นอย่างรวดเร็ว
Firebase เก็บรักษาคอลเล็กชันตัวอย่างการเริ่มต้นอย่างรวดเร็วสำหรับ Firebase API ส่วนใหญ่ใน Android ค้นหาการเริ่มต้นอย่างรวดเร็วเหล่านี้ในที่สาธารณะ ที่เก็บสำหรับการเริ่มต้นอย่างรวดเร็วของ Firebase GitHub
คุณสามารถเปิดแต่ละการเริ่มต้นอย่างรวดเร็วเป็นโปรเจ็กต์ Android Studio แล้วเรียกใช้ใน อุปกรณ์เคลื่อนที่หรืออุปกรณ์เสมือน (AVD) หรือคุณสามารถใช้การเริ่มต้นอย่างรวดเร็วเหล่านี้ โค้ดตัวอย่างสำหรับการใช้ Firebase SDK
หัวข้ออื่นๆ ที่สนใจ
- ทรัพยากร Dependency ของ Android SDK ของ Firebase ในบริการ Google Play
- ลิงก์แอป Firebase กับ Google Play
- ผสานรวมกับโปรเจ็กต์บริการเกมของ Play