Firebase App Distribution: các khái niệm chính, phân phối APK và IPA và thiết lập

Tác giả: IT Sectr Đã đăng: 2026-04-29 Thời gian đọc: 8 phút

Firebase App Distribution là dịch vụ của Google để phân phối các bản dựng tiền phát hành của ứng dụng di động cho người thử nghiệm và nhóm nội bộ mà không cần công bố chúng trên cửa hàng ứng dụng. App Distribution cung cấp giao diện thống nhất để tải lên tệp APK và IPA, quản lý nhóm người thử nghiệm và thu thập phản hồi. Theo Firebase Documentation, 2026, dịch vụ tự động thông báo cho người thử nghiệm về phiên bản mới qua email và thông báo đẩy, và tích hợp Fastlane cho phép công bố bản dựng trực tiếp từ đường ống CI/CD mà không cần thao tác thủ công. App Distribution hỗ trợ cả Android (AAB/APK) và iOS (IPA), bao gồm phân phối ad-hoc và doanh nghiệp.

Những điểm chính

  • App Distribution — dịch vụ Firebase để phân phối phiên bản beta của ứng dụng cho người thử nghiệm mà không cần công bố trên Google Play hay App Store.
  • Nhóm người thử nghiệm — hệ thống quản lý truy cập linh hoạt: tạo nhóm theo vai trò, dự án hoặc giai đoạn thử nghiệm với các quyền khác nhau trên bản dựng.
  • Thông báo tự động — người thử nghiệm nhận thông báo qua email và đẩy cho mỗi bản dựng mới kèm liên kết cài đặt.
  • Fastlane + Gradle — tích hợp đầy đủ với hệ thống CI/CD để tự động công bố bản dựng sau mỗi lần commit hoặc pull request.
  • Phản hồi — người thử nghiệm có thể gửi ảnh chụp màn hình, nhật ký và bình luận qua giao diện tích hợp hoặc Firebase Crashlytics.

Firebase App Distribution là gì

Firebase App Distribution là dịch vụ của Google để phân phối các phiên bản tiền phát hành của ứng dụng di động cho người thử nghiệm và các bên liên quan. Không giống như công bố trên cửa hàng ứng dụng, App Distribution cho phép gửi bản dựng đến những người tham gia được chọn ngay lập tức, không qua quy trình xét duyệt kéo dài. Dịch vụ được tích hợp với Firebase Crashlytics, cho phép nhà phát triển nhận báo cáo sự cố trực tiếp từ người thử nghiệm và sửa lỗi trước khi phát hành công khai.

Tại sao sử dụng App Distribution

Quy trình phân phối phiên bản beta truyền thống bao gồm gửi thủ công tệp APK/IPA qua email, tải lên dịch vụ chia sẻ tệp của bên thứ ba hoặc thiết lập máy chủ riêng. Firebase App Distribution giải quyết những vấn đề này: kho lưu trữ bản dựng thống nhất trên Google Cloud, thông báo tự động cho người thử nghiệm, quản lý truy cập tập trung và phản hồi tích hợp qua Firebase Crashlytics. Dịch vụ này không thể thiếu cho các nhóm thực hành CI/CD và phát hành thường xuyên: bản dựng mới có sẵn cho người thử nghiệm trong vòng một phút sau khi tải lên.

Các định dạng bản dựng được hỗ trợ

App Distribution hỗ trợ tất cả các định dạng bản dựng tiêu chuẩn cho nền tảng di động. Cho Android — APK và Android App Bundle (AAB) với tính năng tự động tạo APK từ AAB khi cài đặt. Cho iOS — tệp IPA để phân phối ad-hoc, phát triển và doanh nghiệp. Mỗi bản dựng đi kèm với ghi chú phát hành, số phiên bản và mã bản dựng để theo dõi. Kích thước tệp tải lên tối đa là 500 MB và bản dựng được lưu trữ trong 150 ngày.

Tải lên bản dựng và quản lý phiên bản

Việc tải lên bản dựng vào Firebase App Distribution được thực hiện qua Firebase Console, CLI (firebase appdistribution:distribute) hoặc các công cụ tự động như Fastlane và Gradle. Khi tải lên, bạn chỉ định phiên bản bản dựng, ghi chú phát hành và danh sách người thử nghiệm hoặc nhóm sẽ nhận thông báo. Firebase tự động gán mã định danh duy nhất cho bản dựng và làm cho nó có sẵn để cài đặt qua liên kết.

Quản lý phiên bản qua Firebase Console

Firebase Console cung cấp giao diện web để tải lên bản dựng và quản lý phiên bản. Bảng điều khiển hiển thị lịch sử của tất cả các bản dựng đã tải lên với ngày, phiên bản, trạng thái và số lần cài đặt. Nhà phát triển có thể vô hiệu hóa một phiên bản cụ thể nếu phát hiện lỗi nghiêm trọng — điều này sẽ chặn cài đặt phiên bản đó cho tất cả người thử nghiệm. Bảng điều khiển cũng hiển thị biểu đồ cài đặt theo ngày, giúp theo dõi hoạt động thử nghiệm.

Tải lên tự động qua Firebase CLI

Firebase CLI cho phép tải lên bản dựng bằng một lệnh duy nhất, thuận tiện cho tích hợp đường ống CI/CD. Lệnh distribute chấp nhận đường dẫn tệp, mã thông báo truy cập dự án, danh sách nhóm người thử nghiệm và ghi chú phát hành tùy chọn. Xác thực sử dụng tài khoản dịch vụ Firebase với vai trò Quản trị viên Firebase App Distribution. CLI hỗ trợ cả bản dựng Android và iOS, tự động phát hiện nền tảng qua phần mở rộng tệp.

bash
# Tải lên bản dựng qua Firebase CLI
firebase appdistribution:distribute \
    app-release.apk \
    --app 1:123456789:android:abc123def456 \
    --groups "qa-team,product-owners" \
    --release-notes "Đã sửa lỗi ủy quyền" \
    --token "FIREBASE_TOKEN"

Quản lý người thử nghiệm và nhóm

Firebase App Distribution cung cấp hệ thống quản lý người thử nghiệm linh hoạt: bạn có thể thêm người tham gia qua email, tạo nhóm theo vai trò hoặc dự án và gán các bản dựng khác nhau cho các nhóm khác nhau. Khi một người thử nghiệm mới được thêm vào, hệ thống sẽ gửi cho họ email mời kèm hướng dẫn cài đặt ứng dụng. Người thử nghiệm nhận thông báo tự động về mỗi bản dựng mới được gán cho nhóm của họ.

Tạo nhóm người thử nghiệm

Các nhóm cho phép tổ chức người thử nghiệm theo chức năng. Ví dụ về nhóm: Nhóm QA (truy cập đầy đủ vào tất cả bản dựng), Chủ sở hữu sản phẩm (truy cập vào bản dựng ổn định), Người thử nghiệm bên ngoài (truy cập hạn chế cho người thử nghiệm beta bên ngoài). Một người thử nghiệm có thể thuộc nhiều nhóm. Khi tải lên bản dựng, nhà phát triển chọn nhóm mục tiêu — chỉ thành viên của các nhóm được chọn mới nhận thông báo, loại bỏ nhiễu thông tin.

Thêm người thử nghiệm qua API

Để thêm người thử nghiệm bằng lập trình, API Firebase App Distribution được sử dụng. API cho phép tạo người thử nghiệm, thêm họ vào nhóm và xóa khi cần thiết. Điều này thuận tiện cho tích hợp với hệ thống quản lý thử nghiệm nội bộ và trình theo dõi lỗi. Khi người thử nghiệm được thêm qua API, họ cũng nhận được email mời kèm liên kết để cài đặt ứng dụng đầu tiên.

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("Người thử nghiệm đã được thêm vào nhóm")
    } catch (error) {
        console.error("Lỗi:", error)
    }
}

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

Phân phối bản dựng Android

Phân phối bản dựng Android qua Firebase App Distribution hỗ trợ hai định dạng: APK và Android App Bundle (AAB). Khi tải lên AAB, Firebase tự động tạo APK tương thích với thiết bị của người thử nghiệm bằng Google Play App Signing. Người thử nghiệm cài đặt ứng dụng qua liên kết trực tiếp — họ không cần truy cập vào Google Play Console, cũng không cần được thêm làm người thử nghiệm trong Play Console. Điều này đơn giản hóa đáng kể quy trình thử nghiệm beta cho Android.

Yêu cầu đối với bản dựng Android

Để cài đặt qua App Distribution, người thử nghiệm phải bật cài đặt từ nguồn không xác định trên thiết bị của họ. Firebase tự động tạo liên kết đến trang web có nút cài đặt APK. Đối với định dạng AAB, thiết bị phải hỗ trợ Play Core Library và có Google Play Store đã cài đặt. Firebase khuyên dùng AAB cho phiên bản cuối cùng và APK cho các vòng lặp nhanh.

Cấu hình Gradle cho App Distribution

Plugin Firebase App Distribution cho Gradle cho phép gửi bản dựng trực tiếp từ tác vụ Gradle. Cấu hình bao gồm thêm plugin com.google.firebase.appdistribution, thiết lập tài khoản dịch vụ và cấu hình nhóm mục tiêu. Sau khi thiết lập, tác vụ assembleDistRelease sẽ xây dựng ứng dụng và tải nó lên Firebase App Distribution bằng một lệnh duy nhất.

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 "Bản dựng tự động"
}

Phân phối bản dựng iOS

Phân phối bản dựng iOS qua Firebase App Distribution yêu cầu thiết lập bổ sung vì Apple hạn chế cài đặt ứng dụng bên ngoài App Store. Để phân phối ứng dụng iOS, cần sử dụng chứng chỉ ad-hoc hoặc doanh nghiệp từ Chương trình nhà phát triển Apple. Người thử nghiệm phải được thêm vào Cổng thông tin nhà phát triển Apple dưới dạng thiết bị để phân phối ad-hoc hoặc sử dụng phân phối doanh nghiệp không giới hạn thiết bị.

Thiết lập phân phối ad-hoc

Để phân phối ad-hoc, bạn cần thu thập UDID của tất cả thiết bị người thử nghiệm và thêm chúng vào Cổng thông tin nhà phát triển Apple. Firebase App Distribution hiển thị cho người thử nghiệm hướng dẫn tìm UDID của họ và tự động lưu các thiết bị đã đăng ký. Sau khi thêm UDID vào hồ sơ cấp phép và xây dựng IPA, người thử nghiệm nhận được liên kết cài đặt. Firebase khuyên dùng chứng chỉ doanh nghiệp cho các dự án có nhiều người thử nghiệm, vì ad-hoc bị giới hạn 100 thiết bị trên mỗi tài khoản.

Xây dựng IPA qua Fastlane

Fastlane là công cụ được khuyên dùng để tự động hóa xây dựng ứng dụng iOS. Lane match quản lý chứng chỉ và hồ sơ cấp phép, trong khi lane sigh tạo IPA để phân phối. Firebase App Distribution tích hợp với Fastlane qua plugin firebase_app_distribution, plugin này tải lên IPA và thông báo cho người thử nghiệm. Fastlane cũng hỗ trợ quản lý phiên bản và ghi chú phát hành qua các plugin bổ sung.

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: "Bản dựng từ #\{Time.now.strftime
            ('%Y-%m-%d %H:%M')}"
    )
end

Tích hợp với CI/CD và Fastlane

Tích hợp đầy đủ Firebase App Distribution với CI/CD cho phép tự động công bố bản dựng mới sau mỗi lần commit vào kho lưu trữ. Bằng cách thiết lập đường ống CI, nhóm nhận được phản hồi tức thì từ người thử nghiệm chỉ vài phút sau khi đẩy mã. App Distribution hỗ trợ tất cả các hệ thống CI phổ biến: GitHub Actions, GitLab CI, Jenkins, Bitrise và CircleCI. Mỗi nền tảng yêu cầu cấu hình riêng, nhưng nguyên tắc chung là giống nhau: xây dựng → tải lên → thông báo.

Thiết lập qua GitHub Actions

GitHub Actions cho phép thiết lập phân phối bản dựng tự động khi đẩy lên nhánh develop hoặc khi tạo pull request. Quy trình làm việc bao gồm cài đặt Java/Flutter/Node.js, xây dựng ứng dụng, xác thực qua Tài khoản dịch vụ Firebase và chạy Firebase CLI với lệnh distribute. Bí mật (mã thông báo, tài khoản dịch vụ) được lưu trữ trong GitHub Secrets và không bị lộ trong nhật ký xây dựng. Đối với iOS, cần thiết lập Xcode và cài đặt Fastlane trong quy trình làm việc.

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

Thu thập phản hồi

Firebase App Distribution tích hợp với Firebase Crashlytics để tự động thu thập báo cáo sự cố từ người thử nghiệm. Crashlytics tự động liên kết sự cố với một phiên bản bản dựng và thiết bị cụ thể, giúp nhanh chóng xác định vị trí và sửa lỗi. Người thử nghiệm cũng có thể gửi ảnh chụp màn hình và bình luận qua giao diện web của App Distribution, nhận liên kết biểu mẫu phản hồi sau khi cài đặt bản dựng.

Câu hỏi thường gặp

App Distribution khác TestFlight như thế nào?

Firebase App Distribution là dịch vụ đa nền tảng (Android + iOS), không giống TestFlight chỉ hoạt động cho iOS. App Distribution cũng tích hợp với Crashlytics và Firebase Analytics, cung cấp hệ sinh thái thống nhất cho thử nghiệm beta trên cả hai nền tảng.

Bản dựng được lưu trữ trong App Distribution bao lâu?

Bản dựng được lưu trữ trong 150 ngày kể từ ngày tải lên. Sau thời gian này, chúng tự động bị xóa. Khuyến nghị thường xuyên tải lên bản dựng mới và xóa thủ công các bản dựng cũ qua Firebase Console để ngăn người thử nghiệm cài đặt phiên bản cũ.

Có thể thêm bao nhiêu người thử nghiệm?

Không có giới hạn về số lượng người thử nghiệm trong Firebase App Distribution. Đối với phân phối ad-hoc iOS, áp dụng giới hạn 100 thiết bị trên mỗi tài khoản của Apple. Đối với phân phối doanh nghiệp Android và iOS, không có hạn chế về số lượng người thử nghiệm.

Có thể tải lên AAB thay vì APK cho Android không?

, App Distribution hỗ trợ AAB (Android App Bundle). Firebase tự động tạo APK từ AAB cho mỗi thiết bị người thử nghiệm bằng Google Play App Signing. Điều này đặc biệt thuận tiện để thử nghiệm trước khi công bố trên Play Store.

Firebase App Distribution có miễn phí không?

, App Distribution được bao gồm trong gói Spark miễn phí của Firebase. Giới hạn gói Spark: tối đa 500 người thử nghiệm và 25.000 lượt cài đặt mỗi tháng cho mỗi dự án. Gói Blaze loại bỏ các giới hạn này và thêm hỗ trợ ưu tiên.

Tổng kết

  • Firebase App Distribution — dịch vụ phân phối bản dựng beta của ứng dụng di động với hỗ trợ Android (APK/AAB) và iOS (IPA) mà không cần công bố trên cửa hàng.
  • Quản lý người thử nghiệm — hệ thống nhóm linh hoạt với thông báo tự động qua email và đẩy cho mỗi bản dựng mới.
  • Tải lên bản dựng được thực hiện qua Firebase Console, CLI, plugin Gradle hoặc Fastlane với thông báo tự động cho người thử nghiệm.
  • Bản dựng Android hỗ trợ APK và AAB với tính năng tự động tạo APK từ AAB, cài đặt qua liên kết trực tiếp không cần Google Play Console.
  • Bản dựng iOS yêu cầu chứng chỉ ad-hoc hoặc doanh nghiệp của Apple, với đăng ký UDID và hỗ trợ Fastlane để tự động hóa xây dựng IPA.
  • Tích hợp CI/CD — GitHub Actions, GitLab CI, Jenkins, Bitrise với Firebase CLI hoặc Fastlane để tự động công bố sau mỗi lần đẩy.
  • Miễn phí lên đến 500 người thử nghiệm và 25.000 lượt cài đặt mỗi tháng, bản dựng lưu trữ 150 ngày, tích hợp với Firebase Crashlytics để thu thập báo cáo sự cố.

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm