Firebase App Distribution: แนวคิดหลัก การแจกจ่าย APK และ IPA และการตั้งค่า

ผู้แต่ง: IT Sectr เผยแพร่เมื่อ: 2026-04-29 เวลาอ่าน: 8 นาที

Firebase App Distribution คือบริการของ Google สำหรับแจกจ่ายบิลด์ก่อนวางจำหน่ายของแอปพลิเคชันมือถือให้กับผู้ทดสอบและทีมภายในโดยไม่ต้องเผยแพร่ในร้านค้าแอป App Distribution มีอินเทอร์เฟซแบบรวมสำหรับอัปโหลดไฟล์ APK และ IPA จัดการกลุ่มผู้ทดสอบ และรวบรวมความคิดเห็น ตาม Firebase Documentation, 2026 บริการจะแจ้งให้ผู้ทดสอบทราบโดยอัตโนมัติเกี่ยวกับเวอร์ชันใหม่ทางอีเมลและการแจ้งเตือนแบบพุช และการรวม Fastlane ช่วยให้เผยแพร่บิลด์ได้โดยตรงจากไปป์ไลน์ CI/CD โดยไม่ต้องดำเนินการด้วยตนเอง App Distribution รองรับทั้ง Android (AAB/APK) และ iOS (IPA) รวมถึงการแจกจ่ายแบบ ad-hoc และระดับองค์กร

ประเด็นสำคัญ

  • App Distribution — บริการ Firebase สำหรับแจกจ่ายเวอร์ชันเบต้าของแอปให้กับผู้ทดสอบโดยไม่ต้องเผยแพร่บน Google Play หรือ App Store
  • กลุ่มผู้ทดสอบ — ระบบจัดการการเข้าถึงที่ยืดหยุ่น: สร้างกลุ่มตามบทบาท โปรเจกต์ หรือขั้นตอนการทดสอบ โดยมีสิทธิ์ต่างกันบนบิลด์
  • การแจ้งเตือนอัตโนมัติ — ผู้ทดสอบได้รับการแจ้งเตือนทางอีเมลและพุชสำหรับบิลด์ใหม่แต่ละครั้งพร้อมลิงก์ติดตั้ง
  • Fastlane + Gradle — การรวมอย่างสมบูรณ์กับระบบ CI/CD สำหรับการเผยแพร่บิลด์อัตโนมัติทุกครั้งที่มีการคอมมิตหรือคำขอดึง
  • ความคิดเห็น — ผู้ทดสอบสามารถส่งภาพหน้าจอ บันทึก และความคิดเห็นผ่านอินเทอร์เฟซในตัวหรือ Firebase Crashlytics

Firebase App Distribution คืออะไร

Firebase App Distribution คือบริการของ Google สำหรับแจกจ่ายเวอร์ชันก่อนวางจำหน่ายของแอปพลิเคชันมือถือให้กับผู้ทดสอบและผู้มีส่วนได้ส่วนเสีย แตกต่างจากการเผยแพร่ในร้านค้าแอป App Distribution ช่วยให้ส่งบิลด์ถึงผู้เข้าร่วมที่เลือกได้ทันที โดยไม่มีกระบวนการตรวจสอบที่ยาวนาน บริการนี้รวมเข้ากับ Firebase Crashlytics ซึ่งช่วยให้นักพัฒนาได้รับรายงานข้อขัดข้องโดยตรงจากผู้ทดสอบและแก้ไขปัญหาก่อนการเผยแพร่สู่สาธารณะ

ทำไมต้องใช้ App Distribution

กระบวนการแจกจ่ายเวอร์ชันเบต้าแบบดั้งเดิมเกี่ยวข้องกับการส่งไฟล์ APK/IPA ด้วยตนเองทางอีเมล อัปโหลดไปยังบริการแชร์ไฟล์ของบุคคลที่สาม หรือตั้งค่าเซิร์ฟเวอร์ของคุณเอง Firebase App Distribution แก้ปัญหาเหล่านี้: พื้นที่เก็บบิลด์แบบรวมบน Google Cloud การแจ้งเตือนผู้ทดสอบอัตโนมัติ การจัดการการเข้าถึงแบบรวมศูนย์ และความคิดเห็นในตัวผ่าน Firebase Crashlytics บริการนี้จำเป็นสำหรับทีมที่ฝึกใช้ CI/CD และเผยแพร่เป็นประจำ: บิลด์ใหม่จะพร้อมให้ผู้ทดสอบใช้งานภายในหนึ่งนาทีหลังจากอัปโหลด

รูปแบบบิลด์ที่รองรับ

App Distribution รองรับรูปแบบบิลด์มาตรฐานทั้งหมดสำหรับแพลตฟอร์มมือถือ สำหรับ Android — APK และ Android App Bundle (AAB) พร้อมการสร้าง APK อัตโนมัติจาก AAB ระหว่างการติดตั้ง สำหรับ iOS — ไฟล์ IPA สำหรับการแจกจ่ายแบบ ad-hoc การพัฒนา และระดับองค์กร แต่ละบิลด์มาพร้อมกับบันทึกการเผยแพร่ หมายเลขเวอร์ชัน และรหัสบิลด์สำหรับการติดตาม ขนาดไฟล์อัปโหลดสูงสุดคือ 500 MB และบิลด์จะถูกเก็บไว้เป็นเวลา 150 วัน

การอัปโหลดบิลด์และการจัดการเวอร์ชัน

การอัปโหลดบิลด์ ไปยัง Firebase App Distribution ทำผ่าน Firebase Console, CLI (firebase appdistribution:distribute) หรือเครื่องมืออัตโนมัติอย่าง Fastlane และ Gradle เมื่ออัปโหลด คุณระบุเวอร์ชันบิลด์ บันทึกการเผยแพร่ และรายชื่อผู้ทดสอบหรือกลุ่มที่ควรได้รับการแจ้งเตือน Firebase กำหนดตัวระบุที่ไม่ซ้ำกันให้กับบิลด์โดยอัตโนมัติและทำให้พร้อมสำหรับการติดตั้งผ่านลิงก์

การจัดการเวอร์ชันผ่าน Firebase Console

Firebase Console มีอินเทอร์เฟซเว็บสำหรับอัปโหลดบิลด์และจัดการเวอร์ชัน คอนโซลแสดง ประวัติของบิลด์ทั้งหมดที่อัปโหลดพร้อมวันที่ เวอร์ชัน สถานะ และจำนวนการติดตั้ง นักพัฒนาสามารถปิดใช้งานเวอร์ชันเฉพาะได้หากพบข้อบกพร่องร้ายแรง — ซึ่งจะบล็อกการติดตั้งเวอร์ชันนั้นสำหรับผู้ทดสอบทั้งหมด คอนโซลยังแสดงกราฟการติดตั้งตามวัน ซึ่งช่วยติดตามกิจกรรมการทดสอบ

การอัปโหลดอัตโนมัติผ่าน Firebase CLI

Firebase CLI ช่วยให้อัปโหลดบิลด์ด้วยคำสั่งเดียว ซึ่งสะดวกสำหรับการรวมเข้ากับไปป์ไลน์ CI/CD คำสั่ง distribute รับพาธไฟล์ โทเค็นการเข้าถึงโปรเจกต์ รายการกลุ่มผู้ทดสอบ และบันทึกการเผยแพร่แบบเลือกได้ การตรวจสอบสิทธิ์ใช้บัญชีบริการ Firebase ที่มีบทบาทผู้ดูแล Firebase App Distribution CLI รองรับบิลด์ทั้ง Android และ iOS โดยตรวจจับแพลตฟอร์มโดยอัตโนมัติจากนามสกุลไฟล์

bash
# การอัปโหลดบิลด์ผ่าน Firebase CLI
firebase appdistribution:distribute \
    app-release.apk \
    --app 1:123456789:android:abc123def456 \
    --groups "qa-team,product-owners" \
    --release-notes "แก้ไขบักการอนุญาตแล้ว" \
    --token "FIREBASE_TOKEN"

การจัดการผู้ทดสอบและกลุ่ม

Firebase App Distribution มีระบบจัดการผู้ทดสอบที่ยืดหยุ่น: คุณสามารถเพิ่มผู้เข้าร่วมทางอีเมล สร้างกลุ่มตามบทบาทหรือโปรเจกต์ และกำหนดบิลด์ต่างกันให้กลุ่มต่างกัน เมื่อผู้ทดสอบใหม่ถูกเพิ่ม ระบบจะส่งอีเมลเชิญพร้อมคำแนะนำในการติดตั้งแอปพลิเคชัน ผู้ทดสอบได้รับการแจ้งเตือนอัตโนมัติเกี่ยวกับบิลด์ใหม่แต่ละครั้งที่กำหนดให้กับกลุ่มของตน

การสร้างกลุ่มผู้ทดสอบ

กลุ่มช่วยให้จัดระเบียบผู้ทดสอบตามหน้าที่ ตัวอย่างกลุ่ม: ทีม QA (เข้าถึงบิลด์ทั้งหมดได้เต็มที่), เจ้าของผลิตภัณฑ์ (เข้าถึงบิลด์ที่เสถียร), ผู้ทดสอบภายนอก (เข้าถึงแบบจำกัดสำหรับผู้ทดสอบเบต้าภายนอก) ผู้ทดสอบหนึ่งคนสามารถเป็นสมาชิกของหลายกลุ่มได้ เมื่ออัปโหลดบิลด์ นักพัฒนาเลือกกลุ่มเป้าหมาย — เฉพาะสมาชิกของกลุ่มที่เลือกเท่านั้นที่ได้รับการแจ้งเตือน ซึ่งช่วยขจัดสัญญาณรบกวนข้อมูล

การเพิ่มผู้ทดสอบผ่าน API

ในการเพิ่มผู้ทดสอบด้วยโปรแกรม ใช้ Firebase App Distribution API API ช่วยให้ สร้างผู้ทดสอบ เพิ่มพวกเขาในกลุ่ม และลบเมื่อจำเป็น ซึ่งสะดวกสำหรับการรวมกับระบบจัดการการทดสอบภายในและตัวติดตามข้อบกพร่อง เมื่อผู้ทดสอบถูกเพิ่มผ่าน API พวกเขาจะได้รับอีเมลเชิญพร้อมลิงก์เพื่อติดตั้งแอปพลิเคชันแรกด้วย

js
const admin = require("firebase-admin")

const serviceAccount = require("./serviceAccountKey.json")
admin.initializeApp({ credential: admin.credential.cert(serviceAccount) })

async function addTestersToGroup(email, groupAlias) {
    try {
        await admin.appDistribution().addTesters(email, [groupAlias])
        console.log("ผู้ทดสอบถูกเพิ่มเข้ากลุ่มแล้ว")
    } catch (error) {
        console.error("ข้อผิดพลาด:", error)
    }
}

addTestersToGroup("tester@example.com", "qa-team")

การแจกจ่ายบิลด์ Android

การแจกจ่ายบิลด์ Android ผ่าน Firebase App Distribution รองรับสองรูปแบบ: APK และ Android App Bundle (AAB) เมื่ออัปโหลด AAB Firebase จะสร้าง APK ที่เข้ากันได้กับอุปกรณ์ของผู้ทดสอบโดยอัตโนมัติโดยใช้ Google Play App Signing ผู้ทดสอบติดตั้งแอปพลิเคชันผ่านลิงก์โดยตรง — พวกเขาไม่จำเป็นต้องเข้าถึง Google Play Console และไม่จำเป็นต้องถูกเพิ่มเป็นผู้ทดสอบใน Play Console ซึ่งช่วยลดความซับซ้อนของกระบวนการทดสอบเบต้าสำหรับ Android อย่างมาก

ข้อกำหนดสำหรับบิลด์ Android

ในการติดตั้งผ่าน App Distribution ผู้ทดสอบต้องเปิดใช้งานการติดตั้งจากแหล่งที่ไม่รู้จักบนอุปกรณ์ของตน Firebase สร้างลิงก์โดยอัตโนมัติ ไปยังหน้าเว็บที่มีปุ่มติดตั้ง APK สำหรับรูปแบบ AAB อุปกรณ์ต้องรองรับ Play Core Library และมี Google Play Store ติดตั้งอยู่ Firebase แนะนำให้ใช้ AAB สำหรับเวอร์ชันสุดท้ายและ APK สำหรับการทำซ้ำอย่างรวดเร็ว

การกำหนดค่า Gradle สำหรับ App Distribution

ปลั๊กอิน Firebase App Distribution สำหรับ Gradle ช่วยให้ส่งบิลด์ได้โดยตรงจากงาน Gradle การกำหนดค่ารวมถึง การเพิ่มปลั๊กอิน com.google.firebase.appdistribution การตั้งค่าบัญชีบริการ และการกำหนดค่ากลุ่มเป้าหมาย หลังการตั้งค่า งาน assembleDistRelease จะสร้างแอปพลิเคชันและอัปโหลดไปยัง Firebase App Distribution ด้วยคำสั่งเดียว

groovy
// build.gradle (module: app)
plugins {
    id 'com.android.application'
    id 'com.google.firebase.appdistribution'
}

android { // standard config }

firebaseAppDistribution {
    appId "1:123456789:android:abc123def456"
    serviceCredentialsFile "firebase-sa.json"
    groups "qa-team"
    releaseNotes "บิลด์อัตโนมัติ"
}

การแจกจ่ายบิลด์ iOS

การแจกจ่ายบิลด์ iOS ผ่าน Firebase App Distribution ต้องการการตั้งค่าเพิ่มเติมเนื่องจาก Apple จำกัดการติดตั้งแอปพลิเคชันภายนอก App Store ในการแจกจ่ายแอป iOS จำเป็นต้องใช้ใบรับรองแบบ ad-hoc หรือระดับองค์กรจาก Apple Developer Program ผู้ทดสอบต้องถูกเพิ่มในพอร์ทัลนักพัฒนา Apple ในฐานะอุปกรณ์สำหรับการแจกจ่ายแบบ ad-hoc หรือใช้การแจกจ่ายระดับองค์กรโดยไม่มีข้อจำกัดด้านอุปกรณ์

การตั้งค่าการแจกจ่ายแบบ ad-hoc

สำหรับการแจกจ่ายแบบ ad-hoc คุณต้องรวบรวม UDID ของอุปกรณ์ผู้ทดสอบทั้งหมดและเพิ่มในพอร์ทัลนักพัฒนา Apple Firebase App Distribution แสดงคำแนะนำแก่ผู้ทดสอบในการค้นหา UDID ของตนและบันทึกอุปกรณ์ที่ลงทะเบียนโดยอัตโนมัติ หลังจากเพิ่ม UDID ในโปรไฟล์การจัดเตรียมและสร้าง IPA แล้ว ผู้ทดสอบจะได้รับลิงก์ติดตั้ง Firebase แนะนำให้ใช้ใบรับรองระดับองค์กรสำหรับโปรเจกต์ที่มีผู้ทดสอบจำนวนมาก เนื่องจาก ad-hoc จำกัดไว้ที่ 100 อุปกรณ์ต่อบัญชี

การสร้าง IPA ผ่าน Fastlane

Fastlane เป็นเครื่องมือที่แนะนำสำหรับการสร้างแอป iOS อัตโนมัติ lane match จัดการใบรับรองและโปรไฟล์การจัดเตรียม ในขณะที่ lane sigh สร้าง IPA สำหรับการแจกจ่าย Firebase App Distribution รวมกับ Fastlane ผ่านปลั๊กอิน firebase_app_distribution ซึ่งอัปโหลด IPA และแจ้งผู้ทดสอบ Fastlane ยังรองรับการจัดการเวอร์ชันและบันทึกการเผยแพร่ผ่านปลั๊กอินเพิ่มเติม

ruby
# Fastfile
lane :beta do
    match(type: :adhoc)
    gym(scheme: "MyApp", export_method: "ad-hoc")
    firebase_app_distribution(
        app: "1:123456789:ios:abc123def456",
        groups: "qa-team",
        release_notes: "บิลด์จาก #\{Time.now.strftime
            ('%Y-%m-%d %H:%M')}"
    )
end

การรวมกับ CI/CD และ Fastlane

การรวม Firebase App Distribution อย่างสมบูรณ์ กับ CI/CD ช่วยให้เผยแพร่บิลด์ใหม่โดยอัตโนมัติทุกครั้งที่มีการคอมมิตในพื้นที่เก็บข้อมูล โดยการตั้งค่าไปป์ไลน์ CI ทีมงานจะได้รับความคิดเห็นทันทีจากผู้ทดสอบภายในไม่กี่นาทีหลังจากการพุชโค้ด App Distribution รองรับระบบ CI ยอดนิยมทั้งหมด: GitHub Actions, GitLab CI, Jenkins, Bitrise และ CircleCI แต่ละแพลตฟอร์มต้องการการกำหนดค่าของตนเอง แต่หลักการทั่วไปเหมือนกัน: สร้าง → อัปโหลด → แจ้งเตือน

การตั้งค่าผ่าน GitHub Actions

GitHub Actions ช่วยให้ตั้งค่าการแจกจ่ายบิลด์อัตโนมัติเมื่อพุชไปยังสาขา develop หรือเมื่อสร้างคำขอดึง เวิร์กโฟลว์รวมถึง การติดตั้ง Java/Flutter/Node.js การสร้างแอปพลิเคชัน การตรวจสอบสิทธิ์ผ่านบัญชีบริการ Firebase และการเรียกใช้ Firebase CLI ด้วยคำสั่ง distribute ความลับ (โทเค็น บัญชีบริการ) ถูกเก็บไว้ใน GitHub Secrets และไม่ถูกเปิดเผยในบันทึกการสร้าง สำหรับ iOS จำเป็นต้องตั้งค่า Xcode และติดตั้ง Fastlane ในเวิร์กโฟลว์เพิ่มเติม

yaml
# .github/workflows/distribute.yml
name: Distribute to Firebase
on:
  push: { branches: [ develop ] }
jobs:
  build-and-distribute:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup Java
        uses: actions/setup-java@v3
        with: { distribution: "temurin", java-version: "17" }
      - name: Build APK
        run: ./gradlew assembleDebug
      - name: Upload to Firebase
        uses: wzieba/Firebase-Distribution-GitHub-Action@v1
        with:
          appId: "${{ secrets.FIREBASE_APP_ID }}"
          serviceCredentialsFileContent: "${{ secrets.FIREBASE_SA_KEY }}"
          groups: qa-team
          file: app/build/outputs/apk/debug/app-debug.apk

การรวบรวมความคิดเห็น

Firebase App Distribution รวมกับ Firebase Crashlytics สำหรับการรวบรวมรายงานข้อขัดข้องอัตโนมัติจากผู้ทดสอบ Crashlytics เชื่อมโยงข้อขัดข้องโดยอัตโนมัติ กับเวอร์ชันบิลด์และอุปกรณ์เฉพาะ ซึ่งช่วยระบุและแก้ไขปัญหาได้อย่างรวดเร็ว ผู้ทดสอบยังสามารถส่งภาพหน้าจอและความคิดเห็นผ่านอินเทอร์เฟซเว็บของ App Distribution โดยได้รับลิงก์แบบฟอร์มความคิดเห็นหลังจากติดตั้งบิลด์

คำถามที่พบบ่อย

App Distribution แตกต่างจาก TestFlight อย่างไร

Firebase App Distribution เป็นบริการข้ามแพลตฟอร์ม (Android + iOS) แตกต่างจาก TestFlight ที่ทำงานเฉพาะ iOS เท่านั้น App Distribution ยังรวมกับ Crashlytics และ Firebase Analytics โดยให้ระบบนิเวศแบบรวมสำหรับการทดสอบเบต้าบนทั้งสองแพลตฟอร์ม

บิลด์ถูกเก็บไว้ใน App Distribution นานแค่ไหน

บิลด์ถูกเก็บไว้ 150 วัน นับจากวันที่อัปโหลด หลังจากช่วงเวลานี้ บิลด์จะถูกลบโดยอัตโนมัติ ขอแนะนำให้อัปโหลดบิลด์ใหม่เป็นประจำและลบบิลด์ที่ล้าสมัยด้วยตนเองผ่าน Firebase Console เพื่อป้องกันไม่ให้ผู้ทดสอบติดตั้งเวอร์ชันเก่า

สามารถเพิ่มผู้ทดสอบได้กี่คน

ไม่มีข้อจำกัด เกี่ยวกับจำนวนผู้ทดสอบใน Firebase App Distribution สำหรับการแจกจ่ายแบบ ad-hoc ของ iOS ให้ใช้ข้อจำกัดของ Apple ที่ 100 อุปกรณ์ต่อบัญชี สำหรับการแจกจ่ายระดับองค์กรของ Android และ iOS ไม่มีข้อจำกัดเกี่ยวกับจำนวนผู้ทดสอบ

สามารถอัปโหลด AAB แทน APK สำหรับ Android ได้หรือไม่

ได้ App Distribution รองรับ AAB (Android App Bundle) Firebase สร้าง APK จาก AAB โดยอัตโนมัติสำหรับแต่ละอุปกรณ์ของผู้ทดสอบโดยใช้ Google Play App Signing ซึ่งสะดวกเป็นพิเศษสำหรับการทดสอบก่อนเผยแพร่บน Play Store

Firebase App Distribution ฟรีหรือไม่

ใช่ App Distribution รวมอยู่ในแผน Spark ฟรีของ Firebase ข้อจำกัดของแผน Spark: ผู้ทดสอบสูงสุด 500 คนและติดตั้ง 25,000 ครั้งต่อเดือนต่อโปรเจกต์ แผน Blaze ยกเลิกข้อจำกัดเหล่านี้และเพิ่มการสนับสนุนลำดับความสำคัญ

สรุป

  • Firebase App Distribution — บริการแจกจ่ายบิลด์เบต้าของแอปพลิเคชันมือถือที่รองรับ Android (APK/AAB) และ iOS (IPA) โดยไม่ต้องเผยแพร่ในร้านค้า
  • การจัดการผู้ทดสอบ — ระบบกลุ่มที่ยืดหยุ่นพร้อมการแจ้งเตือนทางอีเมลและพุชอัตโนมัติสำหรับบิลด์ใหม่แต่ละครั้ง
  • การอัปโหลดบิลด์ ทำผ่าน Firebase Console, CLI, ปลั๊กอิน Gradle หรือ Fastlane พร้อมการแจ้งเตือนผู้ทดสอบอัตโนมัติ
  • บิลด์ Android รองรับ APK และ AAB พร้อมการสร้าง APK อัตโนมัติจาก AAB การติดตั้งผ่านลิงก์โดยตรงโดยไม่ต้องใช้ Google Play Console
  • บิลด์ iOS ต้องใช้ใบรับรองแบบ ad-hoc หรือระดับองค์กรของ Apple พร้อมการลงทะเบียน UDID และการสนับสนุน Fastlane สำหรับการสร้าง IPA อัตโนมัติ
  • การรวม CI/CD — GitHub Actions, GitLab CI, Jenkins, Bitrise กับ Firebase CLI หรือ Fastlane สำหรับการเผยแพร่อัตโนมัติทุกครั้งที่พุช
  • ฟรี สูงสุด 500 ผู้ทดสอบและ 25,000 การติดตั้งต่อเดือน บิลด์ถูกเก็บไว้ 150 วัน รวมกับ Firebase Crashlytics สำหรับการรวบรวมรายงานข้อขัดข้อง

เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร

IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ

ปรึกษาโครงการ

อ่านเพิ่มเติม