ขณะที่คุณกำลังพัฒนาโปรเจ็กต์ Android โดยใช้ Firebase คุณอาจค้นพบแนวคิดที่ไม่คุ้นเคยหรือเฉพาะสำหรับ Firebase หน้านี้มีจุดประสงค์เพื่อตอบคำถามเหล่านั้นหรือนำคุณไปยังแหล่งข้อมูลเพื่อเรียนรู้เพิ่มเติม
หากคุณมีคำถามเกี่ยวกับหัวข้อที่ไม่ได้กล่าวถึงในหน้านี้ โปรดไปที่ ชุมชนออนไลน์ ของเรา นอกจากนี้ เราจะอัปเดตหน้านี้ด้วยหัวข้อใหม่ๆ เป็นระยะ ดังนั้นโปรดกลับมาตรวจสอบเพื่อดูว่าเราได้เพิ่มหัวข้อที่คุณต้องการเรียนรู้หรือไม่!
ปลั๊กอินผู้ช่วย Firebase สำหรับ Android Studio
Firebase Assistant คือปลั๊กอิน Android Studio ที่ลงทะเบียนแอป Android ของคุณกับโปรเจ็กต์ Firebase และเพิ่มไฟล์กำหนดค่า Firebase ปลั๊กอิน และการอ้างอิงที่จำเป็นให้กับโปรเจ็กต์ Android ของคุณ ทั้งหมดนี้ทำได้จากภายใน Android Studio!
ทำตามคำแนะนำใน หน้าเริ่มต้นใช้งาน Android เพื่อใช้ Firebase Assistant ตรวจสอบว่าคุณใช้ทั้ง Android Studio และ Firebase Assistant เวอร์ชันล่าสุด (ไปที่ ไฟล์ > ตรวจหาการอัปเดต )
เมื่อคุณเลือกผลิตภัณฑ์ Firebase ที่ต้องการเพิ่มลงในแอปของคุณ ผู้ช่วย Firebase จะประกาศการพึ่งพาที่จำเป็นโดยอัตโนมัติในไฟล์ app/build.gradle
ของคุณ อย่างไรก็ตาม หากต้องการใช้ฟีเจอร์ Firebase ที่เหนือกว่าความสามารถปัจจุบันของ Firebase Assistant คุณอาจต้องทำการเปลี่ยนแปลงบางอย่างด้วยตนเองกับการอ้างอิงเหล่านี้:
หากคุณต้องการใช้ Firebase Android BoM ให้อัปเดตการอ้างอิงใน ไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติคือ
app/build.gradle
) เพื่อนำเข้าแพลตฟอร์ม BoM คุณจะต้องลบเวอร์ชันออกจากแต่ละบรรทัดการขึ้นต่อกันของไลบรารี Firebaseหากคุณต้องการใช้ ไลบรารีส่วนขยายของ Kotlin ให้แก้ไขบรรทัดการพึ่งพาที่เพิ่มลงใน ไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติคือ
app/build.gradle
) เพื่อใช้ไลบรารี Firebase เวอร์ชันktx
แทน
บริการของ Google — ปลั๊กอินและไฟล์กำหนดค่า
ในการเพิ่ม Firebase ให้กับโปรเจ็กต์ Android คุณต้องเพิ่มปลั๊กอิน google-services
และไฟล์กำหนดค่า
ให้กับโปรเจ็กต์ของคุณ
หากคุณเพิ่ม Firebase ในโครงการ Android ผ่าน คอนโซล Firebase , Management REST API หรือ Firebase CLI คุณต้องเพิ่มปลั๊กอินและไฟล์กำหนดค่าในโครงการของคุณด้วยตนเอง อย่างไรก็ตาม หากคุณใช้ Firebase Assistant งานเหล่านี้จะดำเนินการให้คุณโดยอัตโนมัติในระหว่างการตั้งค่า
ไปที่ เอกสารประกอบของ Android เพื่อเรียนรู้เกี่ยวกับวิธีที่ปลั๊กอินบริการของ Google และไฟล์การกำหนดค่าทำงานร่วมกัน
Firebase Android BoM (รายการวัสดุ)
Firebase Android BoM (Bill of Materials) ช่วยให้คุณจัดการเวอร์ชันของไลบรารี Firebase ทั้งหมดได้ด้วยการระบุเพียงเวอร์ชันเดียว นั่นคือเวอร์ชันของ BoM
เมื่อคุณใช้ Firebase BoM ในแอปของคุณ BoM จะดึงไลบรารีแต่ละเวอร์ชันที่แมปกับเวอร์ชันของ BoM โดยอัตโนมัติ ไลบรารีแต่ละเวอร์ชันทั้งหมดจะเข้ากันได้ เมื่อคุณอัปเดตเวอร์ชันของ BoM ในแอปของคุณ ไลบรารี Firebase ทั้งหมดที่คุณใช้ในแอปจะอัปเดตเป็นเวอร์ชันที่แมปกับเวอร์ชัน BoM นั้น
หากต้องการเรียนรู้ว่าไลบรารี Firebase เวอร์ชันใดที่แมปกับเวอร์ชัน BoM เฉพาะ โปรดดู บันทึกย่อประจำ รุ่นสำหรับเวอร์ชัน BoM นั้น หากคุณต้องการเปรียบเทียบเวอร์ชันของไลบรารีที่แมปกับเวอร์ชัน BoM หนึ่งเวอร์ชันเทียบกับเวอร์ชัน BoM อื่น ให้ใช้ วิดเจ็ตการเปรียบเทียบ ด้านล่าง
เรียนรู้เพิ่มเติมเกี่ยวกับ การสนับสนุนของ Gradle สำหรับแพลตฟอร์ม BoM
ต่อไปนี้คือวิธีใช้ Firebase Android BoM เพื่อประกาศการอ้างอิงใน ไฟล์ Gradle โมดูล (ระดับแอป) ของคุณ (โดยปกติคือ app/build.gradle
) เมื่อใช้ BoM คุณไม่ต้องระบุเวอร์ชันของไลบรารีแต่ละรายการในบรรทัดการขึ้นต่อกัน
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.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:
วิธีลบล้างเวอร์ชันของไลบรารีที่กำหนดไว้ใน BoM มีดังนี้
ดูแลสายงานนำเข้าแพลตฟอร์ม BoM
ในบรรทัดอ้างอิงของไลบรารี ให้ระบุเวอร์ชันของไลบรารีที่ต้องการ ตัวอย่างเช่น ต่อไปนี้คือวิธีประกาศการอ้างอิงหากคุณต้องการใช้ v18.0.0 ของ App Indexing ไม่ว่าเวอร์ชันใดถูกกำหนดไว้ใน BoM แต่ คุณต้องการใช้เวอร์ชันของ BoM สำหรับการรับรองความถูกต้องและ Cloud Firestore:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.0') // Declare the dependency for the App Indexing library and specify a version // This specified library version overrides the version designated in the BoM. implementation 'com.google.firebase:firebase-appindexing:18.0.0' // Declare the dependencies for the other Firebase libraries without specifying versions // These libraries will use the versions designated in the BoM. implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
ไม่ หากต้องการเพิ่มและใช้ไลบรารี Firebase ในแอป คุณต้องประกาศแต่ละไลบรารีเป็นบรรทัดอ้างอิงแยกต่างหากใน ไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติคือ app/build.gradle
)
การใช้ BoM ทำให้แน่ใจว่า เวอร์ชัน ของไลบรารี Firebase ใดๆ ในแอปของคุณเข้ากันได้ แต่จริงๆ แล้ว BoM ไม่ได้ เพิ่ม ไลบรารี Firebase เหล่านั้นลงในแอปของคุณ
ใช่! เมื่อคุณประกาศบรรทัดการขึ้นต่อกันของไลบรารี Firebase เพียงใช้ชื่อไลบรารี KTX เช่น:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.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-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
ไม่ Firebase Android BoM จัดการเวอร์ชันไลบรารีสำหรับไลบรารี Firebase เท่านั้น ข้อยกเว้นประการเดียวคือการรวม SDK โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google เนื่องจากมีการใช้กันทั่วไปในแอป Firebase
แม้ว่าไลบรารี Firebase แต่ละไลบรารีจะมีเวอร์ชันแยกจากกัน แต่ก็สร้างร่วมกันเพื่อให้แน่ใจว่ารีลีสล่าสุดของแต่ละไลบรารีสามารถทำงานร่วมกับไลบรารีอื่นๆ ได้
เมื่อใช้ BoM เพื่อจัดการเวอร์ชันของไลบรารี Firebase ของแอป คุณไม่จำเป็นต้องติดตามว่าไลบรารี Firebase เวอร์ชันใดเข้ากันได้กับไลบรารี Firebase อื่น
แม้ว่าคุณจะใช้ไลบรารี Firebase เพียงไลบรารีเดียวในแอปของคุณในตอนนี้ เรายังคงแนะนำให้ใช้ BoM เพราะคุณไม่มีทางรู้ว่าเมื่อใดที่คุณอาจต้องการใช้ไลบรารี Firebase อื่น
ใช่ คุณยังสามารถใช้ BoM ได้! สำหรับ Gradle 5.0 และใหม่กว่า การสนับสนุน BoM จะเปิดใช้งานโดยอัตโนมัติ อย่างไรก็ตาม สำหรับ Gradle เวอร์ชันก่อนหน้า คุณเพียงแค่ต้อง เปิดใช้ฟีเจอร์ BoM และนำเข้า BoM ให้แตกต่างออกไปเล็กน้อย
ในไฟล์
settings.gradle
ให้เพิ่มenableFeaturePreview('IMPROVED_POM_SUPPORT')
ไปยัง โมดูลของคุณ (ระดับแอพ) ไฟล์ Gradle (โดยปกติคือ
app/build.gradle
) ให้นำเข้า BoM เหมือนไลบรารี่ทั่วไป (โดยไม่มีตัวดัดแปลงplatform
) เช่น:dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:32.1.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 SDK บน GitHub
เปรียบเทียบเวอร์ชัน Firebase BoM
ไลบรารีส่วนขยายของ Kotlin (KTX)
ไลบรารีส่วนขยายของ Firebase Kotlin (KTX) เป็นส่วนร่วมขนาดเล็กของ Firebase SDK พื้นฐานที่ช่วยให้คุณเขียนโค้ด Kotlin ที่สวยงามและใช้สำนวนได้
หากต้องการใช้ไลบรารี KTX ในแอป ให้เปลี่ยนการขึ้นต่อกันเพื่อรวมส่วนต่อท้าย -ktx
ไลบรารี KTX แต่ละไลบรารีมีการพึ่งพาไลบรารีฐานโดยอัตโนมัติ ดังนั้นจึงไม่จำเป็นต้องรวมการพึ่งพาทั้งสองในแอปของคุณ
dependencies { // Import the BoM for the Firebase platform (learn more) implementation platform('com.google.firebase:firebase-bom:32.1.0')// Declare the base library implementation 'com.google.firebase:firebase-analytics'// Declare the KTX library instead (which automatically has a dependency on the base library) 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 Delivery
ตั้งแต่เดือนพฤษภาคม 2021 (Firebase BoM v28.0.0) คุณสามารถใช้ Firebase Android SDK ในโมดูลฟีเจอร์ไดนามิกซึ่งติดตั้งแยกต่างหากจากโมดูลแอปพลิเคชันพื้นฐานของคุณ
หากต้องการเปิดใช้งานการสนับสนุนสำหรับโมดูลฟีเจอร์แบบไดนามิก ให้เพิ่มการอ้างอิงต่อไปนี้ไปยังไฟล์ build.gradle
ของโมดูล ฐาน ของคุณ:
dependencies {
implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03'
}
ตอนนี้ คุณได้เพิ่มการรองรับโมดูลไดนามิกแล้ว คุณสามารถเพิ่มการพึ่งพา SDK ของ Firebase (โดยมีหรือไม่มี Firebase BoM) ให้กับโมดูลฟีเจอร์ของแอปและใช้งานได้ตามปกติ
ตัวอย่างเช่น หากแอปพลิเคชันของคุณใช้ฐานข้อมูลเรียลไทม์เพื่อขับเคลื่อนฟีเจอร์เรียลไทม์ที่เฉพาะเจาะจง คุณสามารถเพิ่มการพึ่งพา firebase-database
ไปยัง build.gradle
ของโมดูลฟีเจอร์แทนที่จะเป็นโมดูลพื้นฐาน วิธีนี้จะลดขนาดการดาวน์โหลดสำหรับผู้ใช้ส่วนใหญ่
ระวังข้อควรระวังต่อไปนี้เมื่อใช้ Firebase SDK ในโมดูลฟีเจอร์
ผลิตภัณฑ์ต่างๆ เช่น ลิงก์แบบไดนามิกหรือการส่งข้อความในแอปของ Firebase ซึ่งอาศัยเหตุการณ์
first_open
ของ Analytics อาจพลาดเหตุการณ์นี้เมื่อใช้ในโมดูลคุณลักษณะแบบไดนามิกเมื่อใช้ Cloud Firestore และการรับรองความถูกต้องร่วมกัน คุณควรรวมทั้งสองอย่างไว้ในโมดูลเดียวกันเสมอ หากไม่สามารถทำได้ ตรวจสอบให้แน่ใจว่าได้โหลดการรับรองความถูกต้อง ก่อน Cloud Firestore มิฉะนั้น การดำเนินการบางอย่างของ Cloud Firestore อาจมีสถานะการรับรองความถูกต้องที่ไม่ถูกต้อง
เมื่อใช้
firebase-crashlytics-ndk
เป็นการพึ่งพาของโมดูลฟีเจอร์แบบไดนามิก คุณต้องตั้งค่าคุณสมบัติ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 APIs ทั่วไปหลายตัว (เช่น Google Maps และ Google Sign In) แก่แอปบนอุปกรณ์
- การรวมศูนย์ API ทั่วไปเหล่านี้ไว้ในบริการเดียว จะช่วยลดขนาดของแอพอื่นๆ และอนุญาตให้อุปกรณ์รับการอัปเดตความปลอดภัยอัตโนมัติและการปรับปรุงคุณสมบัติโดยไม่ต้องอัปเดตระบบปฏิบัติการ เรียนรู้เพิ่มเติมเกี่ยวกับ บริการ Google Play
- Google Play สโตร์
- ร้านค้าสำหรับดาวน์โหลดแอป ภาพยนตร์ หนังสือ และอื่นๆ บนอุปกรณ์ Android
- ในฐานะนักพัฒนาซอฟต์แวร์ คุณจัดการการเผยแพร่ การเผยแพร่ ฯลฯ สำหรับแอปของคุณผ่าน Google Play Console หากอุปกรณ์มี Google Play Store แสดงว่ากำลังใช้บริการ Google Play อยู่ด้วย (ดูรายการก่อนหน้า) เรียนรู้เพิ่มเติมเกี่ยวกับ Google Play Store สำหรับนักพัฒนาซอฟต์แวร์
- บริการเกมของ Google Play
- ชุด API สำหรับนักพัฒนาเกมมือถือ
- เรียนรู้เพิ่มเติมเกี่ยวกับ บริการ Google Play Games และวิธี รวม Firebase กับโครงการบริการ Google Play Games ของคุณ
ทรัพยากรโอเพ่นซอร์สสำหรับ 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
หัวข้ออื่นๆ ที่น่าสนใจ
- การพึ่งพา Firebase Android SDK บนบริการ Google Play
- ลิงก์แอป Firebase กับ Google Play
- ผสานรวมกับโครงการบริการ Play Games ของคุณ