เพิ่ม Firebase ลงในโปรเจ็กต์ Android

ข้อกำหนดเบื้องต้น

  • ติดตั้งหรืออัปเดต Android Studio เป็นเวอร์ชันล่าสุด

  • ตรวจสอบว่าโปรเจ็กต์เป็นไปตามข้อกำหนดต่อไปนี้ (โปรดทราบว่าผลิตภัณฑ์บางรายการอาจมีข้อกำหนดที่เข้มงวดกว่า)

    • กำหนดเป้าหมายเป็น API ระดับ 21 (Lollipop) ขึ้นไป
    • ใช้ Android 5.0 ขึ้นไป
    • ใช้ Jetpack (AndroidX) ซึ่งรวมถึงการปฏิบัติตามข้อกำหนดเวอร์ชันต่อไปนี้
      • com.android.tools.build:gradle v7.3.0 ขึ้นไป
      • compileSdkVersion 28 ขึ้นไป
  • ตั้งค่าอุปกรณ์จริงหรือใช้โปรแกรมจำลองเพื่อเรียกใช้แอป
    โปรดทราบว่า SDK ของ Firebase ที่ต้องอาศัยบริการ Google Play กำหนดให้อุปกรณ์หรือโปรแกรมจำลองต้องติดตั้งบริการ Google Play

  • ลงชื่อเข้าใช้ Firebase ด้วยบัญชี Google

หากยังไม่มีโปรเจ็กต์ Android และต้องการลองใช้ผลิตภัณฑ์ Firebase เพียงอย่างเดียว คุณสามารถดาวน์โหลดตัวอย่างการเริ่มต้นใช้งานอย่างรวดเร็วของเรา


คุณสามารถเชื่อมต่อแอป Android กับ Firebase โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้



ตัวเลือกที่ 1: เพิ่ม Firebase โดยใช้คอนโซล Firebase

การเพิ่ม Firebase ลงในแอปเกี่ยวข้องกับงานทั้งในคอนโซล Firebase และโปรเจ็กต์ Android ที่เปิดอยู่ (เช่น คุณดาวน์โหลดไฟล์กําหนดค่า Firebase จากคอนโซล แล้วย้ายไฟล์เหล่านั้นไปยังโปรเจ็กต์ Android)

ขั้นตอนที่ 1: สร้างโปรเจ็กต์ Firebase

คุณต้องสร้างโปรเจ็กต์ Firebase เพื่อเชื่อมต่อกับแอป Android ก่อนจึงจะเพิ่ม Firebase ในแอปได้ โปรดไปที่ทําความเข้าใจโปรเจ็กต์ Firebase เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับโปรเจ็กต์ Firebase

ขั้นตอนที่ 2: ลงทะเบียนแอปกับ Firebase

หากต้องการใช้ Firebase ในแอป Android คุณต้องลงทะเบียนแอปกับโปรเจ็กต์ Firebase การลงทะเบียนแอปมักเรียกว่า "การเพิ่ม" แอปลงในโปรเจ็กต์

  1. ไปที่คอนโซล Firebase

  2. ตรงกลางหน้าภาพรวมโปรเจ็กต์ ให้คลิกไอคอน Android () หรือเพิ่มแอปเพื่อเปิดเวิร์กโฟลว์การตั้งค่า

  3. ป้อนชื่อแพ็กเกจของแอปในช่องชื่อแพ็กเกจ Android

  4. (ไม่บังคับ) ป้อนข้อมูลอื่นๆ ของแอป ได้แก่ชื่อเล่นของแอปและใบรับรองการแก้ไขข้อบกพร่อง SHA-1

  5. คลิกลงทะเบียนแอป

ขั้นตอนที่ 3: เพิ่มไฟล์กําหนดค่า Firebase

  1. ดาวน์โหลดแล้วเพิ่มไฟล์การกําหนดค่า Firebase สำหรับ Android (google-services.json) ลงในแอป

    1. คลิกดาวน์โหลด google-services.json เพื่อรับไฟล์การกําหนดค่า Firebase สำหรับ Android

    2. ย้ายไฟล์การกําหนดค่าไปยังไดเรกทอรีรากโมดูล (ระดับแอป) ของแอป

  2. หากต้องการให้ Firebase SDK เข้าถึงค่าในgoogle-services.jsonไฟล์การกําหนดค่าได้ คุณต้องมีปลั๊กอิน Gradle ของบริการ Google (google-services)

    1. ในไฟล์ Gradle ระดับรูท (ระดับโปรเจ็กต์) (<project>/build.gradle.kts หรือ <project>/build.gradle) ให้เพิ่มปลั๊กอินบริการของ Google เป็น Dependency ดังนี้

      Kotlin

      plugins {
        id("com.android.application") version "7.3.0" apply false
        // ...
      
        // Add the dependency for the Google services Gradle plugin
        id("com.google.gms.google-services") version "4.4.2" apply false
      }

      Groovy

      plugins {
        id 'com.android.application' version '7.3.0' apply false
        // ...
      
        // Add the dependency for the Google services Gradle plugin
        id 'com.google.gms.google-services' version '4.4.2' apply false
      }
    2. ในไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติจะเป็น <project>/<app-module>/build.gradle.kts หรือ <project>/<app-module>/build.gradle) ให้เพิ่มปลั๊กอินบริการของ Google ดังนี้

      Kotlin

      plugins {
        id("com.android.application")
      
        // Add the Google services Gradle plugin
        id("com.google.gms.google-services")
        // ...
      }

      Groovy

      plugins {
        id 'com.android.application'
      
        // Add the Google services Gradle plugin
        id 'com.google.gms.google-services'
        // ...
      }

ขั้นตอนที่ 4: เพิ่ม Firebase SDK ลงในแอป

  1. ในไฟล์ Gradle ระดับโมดูลหรือระดับแอป (มักจะเป็น <project>/<app-module>/build.gradle.kts หรือ <project>/<app-module>/build.gradle) ให้เพิ่มทรัพยากร Dependency สำหรับผลิตภัณฑ์ Firebase ที่ต้องการใช้ในแอป เราขอแนะนำให้ใช้ Firebase Android BoM เพื่อควบคุมการกำหนดเวอร์ชันของไลบรารี

    เปิดใช้ Analytics

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation(platform("com.google.firebase:firebase-bom:33.7.0"))
    
      // When using the BoM, you don't specify versions in Firebase library dependencies
    
      // Add the dependency for the Firebase SDK for Google Analytics
      implementation("com.google.firebase:firebase-analytics")
    
      // TODO: Add the dependencies for any other Firebase products you want to use
      // See https://firebase.google.com/docs/android/setup#available-libraries
      // For example, add the dependencies for Firebase Authentication and Cloud Firestore
      implementation("com.google.firebase:firebase-auth")
      implementation("com.google.firebase:firebase-firestore")
    }

    การใช้ Firebase Android BoM จะทำให้แอปใช้ไลบรารี Firebase Android เวอร์ชันที่เข้ากันได้อยู่เสมอ

    หากกำลังมองหาโมดูลไลบรารีสำหรับ Kotlin โดยเฉพาะ ตั้งแต่เดือนตุลาคม 2023 (Firebase BoM 32.5.0) เป็นต้นไป นักพัฒนาซอฟต์แวร์ทั้ง Kotlin และ Java จะใช้โมดูลไลบรารีหลักได้ (ดูรายละเอียดได้ในคําถามที่พบบ่อยเกี่ยวกับโครงการริเริ่มนี้)

    ไม่ได้เปิดใช้ Analytics

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation(platform("com.google.firebase:firebase-bom:33.7.0"))
    
      // When using the BoM, you don't specify versions in Firebase library dependencies
    
      // TODO: Add the dependencies for Firebase products you want to use
      // See https://firebase.google.com/docs/android/setup#available-libraries
      // For example, add the dependencies for Firebase Authentication and Cloud Firestore
      implementation("com.google.firebase:firebase-auth")
      implementation("com.google.firebase:firebase-firestore")
    }

    การใช้ Firebase Android BoM จะทำให้แอปใช้ไลบรารี Firebase Android เวอร์ชันที่เข้ากันได้อยู่เสมอ

    หากกำลังมองหาโมดูลไลบรารีสำหรับ Kotlin โดยเฉพาะ ตั้งแต่เดือนตุลาคม 2023 (Firebase BoM 32.5.0) เป็นต้นไป นักพัฒนาซอฟต์แวร์ทั้ง Kotlin และ Java จะใช้โมดูลไลบรารีหลักได้ (ดูรายละเอียดได้ในคําถามที่พบบ่อยเกี่ยวกับโครงการริเริ่มนี้)

  2. หลังจากเพิ่ม Dependency สำหรับผลิตภัณฑ์ที่ต้องการใช้แล้ว ให้ซิงค์โปรเจ็กต์ Android กับไฟล์ Gradle

เพียงเท่านี้ก็เสร็จแล้ว! คุณข้ามไปดูขั้นตอนถัดไปที่แนะนำได้

แต่หากพบปัญหาในการตั้งค่า โปรดไปที่หัวข้อการแก้ปัญหาและคำถามที่พบบ่อยเกี่ยวกับ Android



ตัวเลือกที่ 2: เพิ่ม Firebase โดยใช้ Firebase Assistant

Firebase Assistant จะลงทะเบียนแอปกับโปรเจ็กต์ Firebase และเพิ่มไฟล์ ปลั๊กอิน และทรัพยากร Dependency ที่จำเป็นของ Firebase ลงในโปรเจ็กต์ Android ของคุณ ทั้งหมดนี้ทำได้จากภายใน Android Studio

  1. เปิดโปรเจ็กต์ Android ใน Android Studio แล้วตรวจสอบว่าคุณใช้ Android Studio และ Firebase Assistant เวอร์ชันล่าสุดอยู่ โดยทำดังนี้

    • Windows / Linux: ความช่วยเหลือ > ตรวจหาการอัปเดต
    • macOS: Android Studio > ตรวจหาการอัปเดต
  2. เปิด Firebase Assistant: เครื่องมือ > Firebase

  3. ในแผงผู้ช่วย ให้เลือกผลิตภัณฑ์ Firebase ที่จะเพิ่มลงในแอป ขยายส่วนนั้น แล้วคลิกลิงก์บทแนะนํา (เช่น Analytics > บันทึกเหตุการณ์ Analytics)

    1. คลิกเชื่อมต่อกับ Firebase เพื่อเชื่อมต่อโปรเจ็กต์ Android กับ Firebase

    2. คลิกปุ่มเพื่อเพิ่มผลิตภัณฑ์ Firebase ที่ต้องการ (เช่น เพิ่ม Analytics ลงในแอป)

  4. ซิงค์แอปเพื่อให้ทรัพยากร Dependency ทั้งหมดมีเวอร์ชันที่จำเป็น

  5. ในแผงผู้ช่วย ให้ทําตามวิธีการตั้งค่าที่เหลือสําหรับผลิตภัณฑ์ Firebase ที่เลือก

  6. เพิ่มผลิตภัณฑ์อื่นๆ ของ Firebase ได้มากเท่าที่ต้องการผ่าน Firebase Assistant

เพียงเท่านี้ก็เสร็จแล้ว! อย่าลืมดูขั้นตอนถัดไปที่แนะนํา

แต่หากพบปัญหาในการตั้งค่า โปรดไปที่หัวข้อการแก้ปัญหาและคำถามที่พบบ่อยเกี่ยวกับ Android



ไลบรารีที่ใช้ได้

ส่วนนี้จะแสดงผลิตภัณฑ์ Firebase ที่รองรับสำหรับ Android และข้อกําหนดของ Gradle ดูข้อมูลเพิ่มเติมเกี่ยวกับไลบรารี Firebase สำหรับ Android เหล่านี้

โปรดทราบว่าเมื่อใช้ Firebase Android BoM คุณไม่จำเป็นต้องระบุเวอร์ชันของไลบรารีแต่ละรายการเมื่อประกาศทรัพยากร Dependency ของไลบรารี Firebase ในไฟล์การกําหนดค่าการสร้าง Gradle

บริการหรือผลิตภัณฑ์ Dependency ของ Gradle
เวอร์ชันล่าสุด
เพิ่ม Analytics ใช่ไหม
Firebase Android BoM
(Bill of Materials)
com.google.firebase:firebase-bom

Firebase BoM เวอร์ชันล่าสุดมีไลบรารี Firebase Android แต่ละรายการเวอร์ชันล่าสุด หากต้องการดูว่าเวอร์ชันไลบรารีใดแมปกับ BoM เวอร์ชันใด ให้อ่านบันทึกประจำรุ่นของ BoM เวอร์ชันนั้น

33.7.0
AdMob com.google.android.gms:play-services-ads 23.6.0
Analytics com.google.firebase:firebase-analytics 22.1.2
App Check ผู้ให้บริการที่กําหนดเอง com.google.firebase:firebase-appcheck 18.0.0
App Check ผู้ให้บริการแก้ไขข้อบกพร่อง com.google.firebase:firebase-appcheck-debug 18.0.0
App Check ผู้ให้บริการ Play Integrity com.google.firebase:firebase-appcheck-playintegrity 18.0.0
App Distribution com.google.firebase:firebase-appdistribution 16.0.0-beta14
App Distribution API com.google.firebase:firebase-appdistribution-api 16.0.0-beta14
ปลั๊กอิน App Distribution com.google.firebase:firebase-appdistribution-gradle 5.0.0
Authentication com.google.firebase:firebase-auth 23.1.0
Cloud Firestore com.google.firebase:firebase-firestore 25.1.1
Cloud Functions for Firebase Client SDK com.google.firebase:firebase-functions 21.1.0
Cloud Messaging com.google.firebase:firebase-messaging 24.1.0
Cloud Storage com.google.firebase:firebase-storage 21.0.1
Crashlytics com.google.firebase:firebase-crashlytics 19.3.0
Crashlytics NDK com.google.firebase:firebase-crashlytics-ndk 19.3.0
ปลั๊กอิน Crashlytics com.google.firebase:firebase-crashlytics-gradle 3.0.2
การรองรับโมดูลฟีเจอร์แบบไดนามิก com.google.firebase:firebase-dynamic-module-support 16.0.0-beta03
Dynamic Links com.google.firebase:firebase-dynamic-links 22.1.0
In-App Messaging com.google.firebase:firebase-inappmessaging 21.0.1
(ต้องระบุ)
In-App Messaging Display com.google.firebase:firebase-inappmessaging-display 21.0.1
(ต้องระบุ)
Firebase การติดตั้ง com.google.firebase:firebase-installations 18.0.0
Firebase ML Model Downloader API com.google.firebase:firebase-ml-modeldownloader 25.0.1
Performance Monitoring com.google.firebase:firebase-perf 21.0.3
ปลั๊กอิน Performance Monitoring com.google.firebase:perf-plugin 1.4.2
Realtime Database com.google.firebase:firebase-database 21.0.0
Remote Config com.google.firebase:firebase-config 22.0.1
Vertex AI in Firebase com.google.firebase:firebase-vertexai 16.0.2
ปลั๊กอินบริการ Google Play com.google.gms:google-services 4.4.2
ไลบรารีที่เลิกใช้งานแล้ว
App Check ผู้ให้บริการ SafetyNet com.google.firebase:firebase-appcheck-safetynet 16.1.2
App Indexing com.google.firebase:firebase-appindexing 20.0.0

โมดูล KTX ของ Firebase

Analytics com.google.firebase:firebase-analytics-ktx 22.1.2
App Check ผู้ให้บริการที่กําหนดเอง com.google.firebase:firebase-appcheck-ktx 18.0.0
App Distribution API com.google.firebase:firebase-appdistribution-api-ktx 16.0.0-beta14
Authentication com.google.firebase:firebase-auth-ktx 23.1.0
Cloud Firestore com.google.firebase:firebase-firestore-ktx 25.1.1
Cloud Functions for Firebase Client SDK com.google.firebase:firebase-functions-ktx 21.1.0
Cloud Messaging com.google.firebase:firebase-messaging-ktx 24.1.0
Cloud Storage com.google.firebase:firebase-storage-ktx 21.0.1
Crashlytics com.google.firebase:firebase-crashlytics-ktx 19.3.0
Dynamic Links com.google.firebase:firebase-dynamic-links-ktx 22.1.0
In-App Messaging com.google.firebase:firebase-inappmessaging-ktx 21.0.1
(ต้องระบุ)
In-App Messaging Display com.google.firebase:firebase-inappmessaging-display-ktx 21.0.1
(ต้องระบุ)
Firebase การติดตั้ง com.google.firebase:firebase-installations-ktx 18.0.0
Firebase ML Model Downloader API com.google.firebase:firebase-ml-modeldownloader-ktx 25.0.1
Performance Monitoring com.google.firebase:firebase-perf-ktx 21.0.3
Realtime Database com.google.firebase:firebase-database-ktx 21.0.0
Remote Config com.google.firebase:firebase-config-ktx 22.0.1

ไลบรารี Firebase ML Kit

Firebase ML Custom Model API com.google.firebase:firebase-ml-model-interpreter 22.0.4
Firebase ML Vision API com.google.firebase:firebase-ml-vision 24.1.0
Firebase ML: โมเดลการติดป้ายกำกับรูปภาพ com.google.firebase:firebase-ml-vision-image-label-model 20.0.2
Firebase ML: โมเดลการตรวจจับและการติดตามวัตถุ com.google.firebase:firebase-ml-vision-object-detection-model 19.0.6
Firebase ML: โมเดลการตรวจจับใบหน้า com.google.firebase:firebase-ml-vision-face-model 20.0.2
Firebase ML: รูปแบบการสแกนบาร์โค้ด com.google.firebase:firebase-ml-vision-barcode-model 16.1.2
Firebase ML: AutoML Vision Edge API com.google.firebase:firebase-ml-vision-automl 18.0.6
Firebase ML: Natural Language API com.google.firebase:firebase-ml-natural-language 22.0.1
Firebase ML: โมเดลการระบุภาษา com.google.firebase:firebase-ml-natural-language-language-id-model 20.0.8
Firebase ML: แปลโมเดล com.google.firebase:firebase-ml-natural-language-translate-model 20.0.9
Firebase ML: รูปแบบช่วยตอบ com.google.firebase:firebase-ml-natural-language-smart-reply-model 20.0.8



ขั้นตอนถัดไป

เพิ่มบริการ Firebase ลงในแอป

  • รับข้อมูลเชิงลึกเกี่ยวกับพฤติกรรมของผู้ใช้ด้วย Analytics

  • ตั้งค่าขั้นตอนการตรวจสอบสิทธิ์ของผู้ใช้ด้วย Authentication

  • จัดเก็บข้อมูล เช่น ข้อมูลผู้ใช้ ด้วย Cloud Firestore หรือ Realtime Database

  • จัดเก็บไฟล์ เช่น รูปภาพและวิดีโอ ด้วย Cloud Storage

  • ทริกเกอร์โค้ดแบ็กเอนด์ที่ทำงานในสภาพแวดล้อมที่ปลอดภัยด้วย Cloud Functions

  • ส่งการแจ้งเตือนด้วย Cloud Messaging

  • ดูว่าแอปขัดข้องเมื่อใดและสาเหตุที่ขัดข้องด้วย Crashlytics

ดูข้อมูลเกี่ยวกับ Firebase