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
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.
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.
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.
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.
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.
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.
# 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"
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ọ.
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 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.
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 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.
Để 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.
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.
// 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 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ị.
Để 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.
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.
# 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 đầ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.
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.
# .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 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
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 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ũ.
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ó, 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.
Có, 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
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.
Đọc thêm