ขณะที่คุณกำลังพัฒนาโปรเจ็กต์ Android โดยใช้ Firebase คุณอาจค้นพบแนวคิดที่ไม่คุ้นเคยหรือเฉพาะเจาะจงสำหรับ Firebase หน้านี้มีวัตถุประสงค์เพื่อตอบคำถามเหล่านั้นหรือแนะนำแหล่งข้อมูลเพื่อเรียนรู้เพิ่มเติม
หากคุณมีคำถามเกี่ยวกับหัวข้อที่ไม่ได้กล่าวถึงในหน้านี้ โปรดเยี่ยมชมหนึ่งใน ชุมชนออนไลน์ของ เรา นอกจากนี้ เราจะอัปเดตหน้านี้ด้วยหัวข้อใหม่เป็นระยะๆ ดังนั้น โปรดกลับมาตรวจสอบเพื่อดูว่าเราได้เพิ่มหัวข้อที่คุณต้องการเรียนรู้หรือไม่!
ปลั๊กอิน Firebase Assistant สำหรับ Android Studio
Firebase Assistant เป็นปลั๊กอิน Android Studio ที่ลงทะเบียนแอป Android ของคุณกับโปรเจ็กต์ Firebase และเพิ่มไฟล์การกำหนดค่า Firebase ปลั๊กอิน และการพึ่งพาที่จำเป็นให้กับโปรเจ็กต์ Android ของคุณ ทั้งหมดนี้ทำได้จากภายใน Android Studio!
ทำตามคำแนะนำใน หน้าเริ่มต้นใช้งาน Android เพื่อใช้ Firebase Assistant ตรวจสอบให้แน่ใจว่าคุณใช้ทั้ง Android Studio และ Firebase Assistant เวอร์ชันล่าสุด (ไปที่ File > Check for updates )
เมื่อคุณเลือกผลิตภัณฑ์ Firebase ที่ต้องการเพิ่มลงในแอปของคุณ Firebase Assistant จะประกาศการพึ่งพาที่จำเป็นในไฟล์ 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- 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:30.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 ของการจัดทำดัชนีแอป ไม่ว่าเวอร์ชันใดที่กำหนดไว้ใน BoM แต่ คุณต้องการใช้เวอร์ชันของ BoM สำหรับการตรวจสอบสิทธิ์และ Cloud Firestore:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.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:30.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:30.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' }
เยี่ยมชม repo 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:30.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
โมดูลคุณลักษณะและการเล่นคุณลักษณะ Delivery
ในเดือนพฤษภาคม 2021 (Firebase BoM v28.0.0) Firebase Android SDK สามารถใช้ได้ในโมดูลฟีเจอร์แบบไดนามิกซึ่งติดตั้งแยกต่างหากจากโมดูลแอปพลิเคชันพื้นฐานของคุณ
ในการเปิดใช้งานการสนับสนุนสำหรับโมดูลคุณลักษณะแบบไดนามิก ให้เพิ่มการพึ่งพาต่อไปนี้ในไฟล์ build.gradle
ของโมดูล ฐาน :
dependencies {
implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta01'
}
เมื่อคุณได้เพิ่มการรองรับโมดูลแบบไดนามิกแล้ว คุณสามารถเพิ่มการพึ่งพา Firebase SDK (มีหรือไม่มี 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
บริการของ Google ปลั๊กอิน Gradle เทียบกับบริการ 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 Games และวิธี ผสานรวม Firebase กับโครงการบริการ Google Play Games ของคุณ
แหล่งข้อมูลโอเพนซอร์สสำหรับ Firebase Android SDK
Firebase รองรับการพัฒนาโอเพ่นซอร์ส และเราสนับสนุนการมีส่วนร่วมและข้อเสนอแนะของชุมชน
Firebase Android SDKs
Firebase Android SDK ส่วนใหญ่ได้รับการพัฒนาเป็นไลบรารีโอเพนซอร์สในที่ เก็บ Firebase GitHub สาธารณะของเรา เรากำลังดำเนินการอย่างแข็งขันเพื่อย้ายไลบรารี Firebase ที่พัฒนาแบบส่วนตัวที่เหลือไปยัง GitHub สาธารณะของเราเร็วๆ นี้
ตัวอย่างการเริ่มต้นอย่างรวดเร็ว
Firebase เก็บรักษาคอลเลกชันของตัวอย่างการเริ่มต้นอย่างรวดเร็วสำหรับ Firebase API ส่วนใหญ่บน Android ค้นหาการเริ่มต้นอย่างรวดเร็วเหล่านี้ในที่ เก็บ Firebase GitHub Quickstart สาธารณะของเรา
คุณสามารถเปิดแต่ละโครงการเริ่มต้นอย่างรวดเร็วเป็นโปรเจ็กต์ Android Studio จากนั้นเรียกใช้บนอุปกรณ์มือถือหรืออุปกรณ์เสมือน (AVD) หรือคุณสามารถใช้การเริ่มต้นอย่างรวดเร็วเหล่านี้เป็นโค้ดตัวอย่างสำหรับการใช้ Firebase SDK
หัวข้ออื่นๆ ที่น่าสนใจ
- การพึ่งพา Firebase Android SDK บนบริการ Google Play
- เชื่อมโยงแอป Firebase ของคุณกับ Google Play
- ผสานรวมกับโครงการบริการ Play Games ของคุณ