เรียนรู้เพิ่มเติมเกี่ยวกับ Android และ Firebase

ขณะที่คุณกำลังพัฒนาโปรเจ็กต์ 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 และไฟล์การกำหนดค่า google-services.json ลงในโปรเจ็กต์ของคุณ

หากคุณเพิ่ม 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:

เปรียบเทียบเวอร์ชัน 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

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