ขณะที่คุณกำลังพัฒนาโปรเจ็กต์ Android โดยใช้ Firebase คุณอาจค้นพบแนวคิดที่ไม่คุ้นเคยหรือเฉพาะเจาะจงกับ Firebase หน้านี้มีวัตถุประสงค์เพื่อตอบคำถามเหล่านั้นหรือนำคุณไปยังแหล่งข้อมูลเพื่อเรียนรู้เพิ่มเติม
หากคุณมีคำถามเกี่ยวกับหัวข้อที่ไม่ครอบคลุมในหน้านี้ โปรดเยี่ยมชมหนึ่งใน ชุมชนออนไลน์ ของเรา นอกจากนี้เรายังจะอัปเดตหน้านี้ด้วยหัวข้อใหม่เป็นระยะ ดังนั้นโปรดกลับมาตรวจสอบอีกครั้งเพื่อดูว่าเราได้เพิ่มหัวข้อที่คุณต้องการเรียนรู้หรือไม่!
ปลั๊กอิน Firebase Assistant สำหรับ 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.4.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
ในบรรทัดการขึ้นต่อกันของไลบรารี ให้ระบุเวอร์ชันไลบรารีที่ต้องการ ตัวอย่างเช่น ต่อไปนี้คือวิธีการประกาศการขึ้นต่อกันหากคุณต้องการใช้เวอร์ชัน 18.0.0 ของการจัดทำดัชนีแอป ไม่ว่าจะกำหนดเวอร์ชันใดไว้ใน BoM แต่ คุณต้องการใช้เวอร์ชันของ BoM สำหรับ Authentication และ Cloud Firestore:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.4.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.4.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.4.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' }
เยี่ยมชม repo Firebase Android SDK บน GitHub
เปรียบเทียบเวอร์ชัน Firebase BoM
โมดูลไลบรารีส่วนขยาย Kotlin (KTX)
โมดูลไลบรารีส่วนขยาย Firebase Kotlin (KTX) เป็นเพื่อนขนาดเล็กกับโมดูลไลบรารี Firebase หลัก และคุณสามารถใช้โมดูลเหล่านี้เพื่อเขียนโค้ด Kotlin ที่สวยงามและเป็นสำนวนได้
หากต้องการใช้โมดูลไลบรารี KTX ในแอปของคุณ ให้เปลี่ยนการพึ่งพาของคุณเพื่อรวมส่วนต่อท้าย -ktx
โมดูล KTX แต่ละโมดูลมีการขึ้นต่อกันในโมดูลไลบรารีหลักโดยอัตโนมัติ ดังนั้นจึงไม่จำเป็นต้องรวมการขึ้นต่อกันทั้งสองอย่างในแอปของคุณ
dependencies { // Import the BoM for the Firebase platform (learn more) implementation platform('com.google.firebase:firebase-bom:32.4.0')// 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
โมดูลคุณลักษณะและการนำเสนอคุณลักษณะการเล่น
ตั้งแต่เดือนพฤษภาคม 2021 (Firebase BoM เวอร์ชัน 28.0.0) Firebase Android SDK สามารถใช้ในโมดูลฟีเจอร์ไดนามิกซึ่งติดตั้งแยกต่างหากจากโมดูลแอปพลิเคชันพื้นฐานของคุณ
หากต้องการเปิดใช้งานการรองรับโมดูลคุณลักษณะไดนามิก ให้เพิ่มการพึ่งพาต่อไปนี้ในไฟล์ build.gradle
ของโมดูล ฐาน ของคุณ:
dependencies {
implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03'
}
เมื่อคุณได้เพิ่มการรองรับโมดูลไดนามิกแล้ว คุณสามารถเพิ่มการพึ่งพา Firebase SDK (โดยมีหรือไม่มี Firebase BoM) เพื่อแสดงโมดูลของแอปของคุณและใช้งานได้ตามปกติ
ตัวอย่างเช่น หากแอปพลิเคชันของคุณใช้ Realtime Database เพื่อขับเคลื่อนฟีเจอร์เรียลไทม์ที่เฉพาะเจาะจง คุณสามารถเพิ่มการพึ่งพา firebase-database
ให้กับ build.gradle
ของโมดูลฟีเจอร์แทนโมดูลฐานได้ วิธีนี้จะลดขนาดการดาวน์โหลดสำหรับผู้ใช้ส่วนใหญ่
โปรดระวังข้อควรระวังต่อไปนี้เมื่อใช้ Firebase SDK ในโมดูลฟีเจอร์:
ผลิตภัณฑ์ต่างๆ เช่น ลิงก์แบบไดนามิกหรือการรับส่งข้อความในแอป Firebase ที่ใช้เหตุการณ์
first_open
ของ Analytics อาจพลาดเหตุการณ์นี้เมื่อใช้ในโมดูลคุณลักษณะแบบไดนามิกเมื่อใช้ Cloud Firestore และ Authentication ร่วมกัน คุณควรรวมทั้งสองอย่างไว้ในโมดูลเดียวกันเสมอ หากไม่สามารถทำได้ ตรวจสอบให้แน่ใจว่าได้โหลดการตรวจสอบสิทธิ์ ก่อน Cloud Firestore แล้ว มิฉะนั้น การดำเนินการ Cloud Firestore บางอย่างอาจมีสถานะการตรวจสอบสิทธิ์ที่ไม่ถูกต้อง
เมื่อใช้
firebase-crashlytics-ndk
เป็นการพึ่งพาโมดูลฟีเจอร์ไดนามิก คุณจะต้องตั้งค่าคุณสมบัติunstrippedNativeLibsDir
ในไฟล์build.gradle
ของแอป ตามที่อธิบายไว้ใน เอกสารประกอบ Crashlytics NDK
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโมดูลฟีเจอร์และ Play Feature Delivery โปรดไปที่ ภาพรวมของ Play Feature Delivery
ปลั๊กอิน 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 สโตร์
- ร้านค้าสำหรับดาวน์โหลดแอป ภาพยนตร์ หนังสือ และอื่นๆ บนอุปกรณ์ 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 API ส่วนใหญ่บน Android ค้นหาการเริ่มต้นอย่างรวดเร็วเหล่านี้ใน พื้นที่เก็บข้อมูลการเริ่มต้นอย่างรวดเร็วของ Firebase GitHub สาธารณะของเรา
คุณสามารถเปิดการเริ่มต้นอย่างรวดเร็วแต่ละรายการเป็นโปรเจ็กต์ Android Studio จากนั้นรันบนอุปกรณ์เคลื่อนที่หรืออุปกรณ์เสมือน (AVD) หรือคุณสามารถใช้การเริ่มต้นอย่างรวดเร็วเหล่านี้เป็นโค้ดตัวอย่างสำหรับการใช้ Firebase SDK
หัวข้ออื่นๆ ที่น่าสนใจ
- การพึ่งพาของ Firebase Android SDK บนบริการ Google Play
- เชื่อมโยงแอป Firebase ของคุณกับ Google Play
- ผสานรวมกับโครงการบริการ Play Games ของคุณ