Bạn có thể tích hợp Phân phối ứng dụng vào quy trình xây dựng Android của mình bằng cách sử dụng plugin App Distribution Gradle. Plugin cho phép bạn chỉ định người thử nghiệm và ghi chú phát hành trong tệp build.gradle
của ứng dụng, cho phép bạn định cấu hình bản phân phối cho các loại bản dựng và biến thể khác nhau của ứng dụng.
Hướng dẫn này mô tả cách phân phối APK cho người thử nghiệm bằng cách sử dụng plugin App Distribution Gradle.
Trước khi bắt đầu
Nếu bạn chưa có, hãy thêm Firebase vào dự án Android của bạn .
Nếu không sử dụng bất kỳ sản phẩm Firebase nào khác, bạn chỉ phải tạo một dự án và đăng ký ứng dụng của mình. Tuy nhiên, nếu bạn quyết định sử dụng các sản phẩm bổ sung trong tương lai, hãy đảm bảo hoàn thành tất cả các bước trên trang được liên kết ở trên.
Bước 1. Thiết lập dự án Android của bạn
Trong tệp Gradle cấp dự án của bạn (thường là
android/build.gradle
), hãy thêm plugin Phân phối ứng dụng làm phần phụ thuộc vào chỉ số xây dựng:buildscript { repositories { // Check that you have Google's Maven repository (if not, add it). google() jcenter() } dependencies { // Add the App Distribution Gradle plugin classpath 'com.google.firebase:firebase-appdistribution-gradle:3.0.2' } }
Trong tệp Gradle cấp ứng dụng của bạn (thường là
android/app/build.gradle
), hãy bao gồm plugin Phân phối ứng dụng bên dưới plugin Android:apply plugin: 'com.android.application' // ... // Apply the App Distribution Gradle plugin apply plugin: 'com.google.firebase.appdistribution' // ...
Nếu bạn đang sử dụng proxy hoặc tường lửa của công ty, hãy thêm thuộc tính hệ thống Java sau để cho phép Phân phối ứng dụng tải các bản phân phối của bạn lên Firebase:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
Bước 2. Xác thực bằng Firebase
Trước khi có thể sử dụng plugin Gradle, trước tiên bạn phải xác thực với dự án Firebase của mình. Có ba cách để đạt được điều này:
- Chạy lệnh sau:
./gradlew appDistributionLogin
Lệnh in ra một liên kết xác thực. Mở liên kết trong trình duyệt.
Khi được nhắc, hãy đăng nhập vào Tài khoản Google của bạn và cấp quyền truy cập vào dự án Firebase của bạn. Lệnh Gradle in mã thông báo làm mới, mà plugin Phân phối ứng dụng sử dụng để xác thực với Firebase.
- Đặt biến môi trường
FIREBASE_TOKEN
thành mã thông báo từ bước trước:export FIREBASE_TOKEN=token
Xác thực bằng tài khoản dịch vụ cho phép bạn sử dụng linh hoạt plugin với hệ thống tích hợp liên tục (CI) của mình. Có hai cách để cung cấp thông tin đăng nhập tài khoản dịch vụ:
- Chuyển tệp khóa tài khoản dịch vụ của bạn đến
build.gradle
. Bạn có thể thấy phương pháp này thuận tiện nếu bạn đã có tệp khóa tài khoản dịch vụ trong môi trường xây dựng của mình. - Đặt biến môi trường
GOOGLE_APPLICATION_CREDENTIALS
để trỏ đến tệp khóa tài khoản dịch vụ của bạn. Bạn có thể thích phương pháp này hơn nếu bạn đã định cấu hình Thông tin đăng nhập mặc định của ứng dụng (ADC) cho một dịch vụ khác của Google (ví dụ: Google Cloud).
Để xác thực bằng thông tin đăng nhập tài khoản dịch vụ:
- Trên Google Cloud Console, chọn dự án của bạn và tạo tài khoản dịch vụ mới.
- Thêm vai trò Quản trị viên phân phối ứng dụng Firebase .
- Tạo một khóa json riêng và di chuyển khóa đến một vị trí có thể truy cập vào môi trường xây dựng của bạn. Đảm bảo giữ tệp này ở nơi an toàn vì nó cấp cho quản trị viên quyền truy cập vào Phân phối ứng dụng trong dự án Firebase của bạn.
- Bỏ qua bước này nếu bạn tạo ứng dụng của mình sau ngày 20 tháng 9 năm 2019: Trong bảng điều khiển API của Google, hãy bật API phân phối ứng dụng Firebase. Khi được nhắc, hãy chọn dự án có cùng tên với dự án Firebase của bạn.
Cung cấp hoặc xác định thông tin đăng nhập tài khoản dịch vụ của bạn:
- Để chuyển Gradle khóa tài khoản dịch vụ của bạn, trong tệp
build.gradle
, hãy đặt thuộc tínhserviceCredentialsFile
thành tệp JSON khóa riêng. Để xác định thông tin đăng nhập của bạn với ADC, hãy đặt biến môi trường
GOOGLE_APPLICATION_CREDENTIALS
thành đường dẫn cho tệp JSON khóa cá nhân. Ví dụ:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
Để biết thêm thông tin về xác thực với ADC, hãy đọc Cung cấp thông tin đăng nhập cho ứng dụng của bạn.
- Để chuyển Gradle khóa tài khoản dịch vụ của bạn, trong tệp
Xem Đăng nhập bằng Firebase CLI để biết hướng dẫn về cách xác thực dự án của bạn.
Bước 3. Định cấu hình các thuộc tính phân phối của bạn
Trong tệp
app/build.gradle
của bạn, hãy định cấu hình Phân phối ứng dụng bằng cách thêm ít nhất một phầnfirebaseAppDistribution
. Ví dụ: để phân phốirelease
dựng phát hành cho người thử nghiệm:android { // ... buildTypes { release { firebaseAppDistribution { artifactType="APK" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
Phân phối ứng dụng có thể được định cấu hình cho các loại bản dựng và hương vị sản phẩm . Ví dụ: để phân phối các bản dựng
debug
vàrelease
ở dạng sản phẩm "demo" và "đầy đủ":android { // ... buildTypes { debug {...} release {...} } flavorDimensions "version" productFlavors { demo { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for demo version" testers="demo@testers.com" } } full { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for full version" testers="full@testers.com" } } } // ... }
Sử dụng các thông số sau để định cấu hình phân phối:
Thông số bản dựng phân phối ứng dụng | |
---|---|
appId | ID ứng dụng Firebase của ứng dụng của bạn. Chỉ bắt buộc nếu bạn chưa cài đặt plugin Google Services Gradle. Bạn có thể tìm thấy ID ứng dụng trong tệp appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile | Đường dẫn đến tệp JSON khóa riêng tư của tài khoản dịch vụ của bạn. Chỉ bắt buộc nếu bạn sử dụng xác thực tài khoản dịch vụ. |
artifactType | Chỉ định loại tệp ứng dụng của bạn. Có thể được đặt thành |
artifactPath | Đường dẫn tuyệt đối đến tệp APK hoặc AAB mà bạn muốn tải lên. |
releaseNotes hoặc releaseNotesFile | Ghi chú phát hành cho bản dựng này. Bạn có thể chỉ định trực tiếp ghi chú phát hành hoặc đường dẫn đến tệp văn bản thuần túy. |
testers hoặc người kiểm testersFile | Địa chỉ email của những người thử nghiệm mà bạn muốn phân phối các bản dựng. Bạn có thể chỉ định người thử nghiệm dưới dạng danh sách địa chỉ email được phân tách bằng dấu phẩy: testers="ali@example.com, bri@example.com, cal@example.com" Hoặc, bạn có thể chỉ định đường dẫn đến tệp chứa danh sách địa chỉ email được phân tách bằng dấu phẩy: testersFile="/path/to/testers.txt" |
groups hoặc groupsFile | Nhóm người thử nghiệm mà bạn muốn phân phối các bản dựng (xem Quản lý người thử nghiệm ). Các nhóm được chỉ định bằng cách sử dụng Bạn có thể chỉ định các nhóm dưới dạng danh sách bí danh nhóm được phân tách bằng dấu phẩy: groups="qa-team, android-testers" Hoặc, bạn có thể chỉ định đường dẫn đến tệp chứa danh sách bí danh nhóm được phân tách bằng dấu phẩy: groupsFile="/path/to/tester-groups.txt" |
stacktrace | In ra ngăn xếp cho các trường hợp ngoại lệ của người dùng. Điều này rất hữu ích khi gỡ lỗi các vấn đề. |
Bước 4. Phân phối ứng dụng của bạn cho người thử nghiệm
Cuối cùng, để đóng gói ứng dụng thử nghiệm của bạn và mời người thử nghiệm, hãy xây dựng các mục tiêu
BUILD-VARIANT
vàappDistributionUpload BUILD-VARIANT
bằng trình bao bọc Gradle của dự án của bạn, trong đó BUILD-VARIANT là hương vị sản phẩm tùy chọn và loại bản dựng mà bạn đã định cấu hình ở bước trước. Để biết thêm thông tin về hương vị sản phẩm, hãy xem Định cấu hình các biến thể bản dựng .Ví dụ: để phân phối ứng dụng của bạn bằng cách sử dụng biến thể bản
release
, hãy chạy lệnh sau:./gradlew assembleRelease appDistributionUploadRelease
Hoặc, nếu bạn đã xác thực bằng Tài khoản Google của mình và không cung cấp thông tin đăng nhập trong tệp bản dựng Gradle của mình, hãy bao gồm biến
FIREBASE_TOKEN
:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew assembleRelease appDistributionUploadRelease
Bạn cũng có thể ghi đè các giá trị được đặt trong tệp
build.gradle
của mình bằng cách chuyển các đối số dòng lệnh dưới dạng--<property-name>=<property-value>
. Ví dụ:Để tải bản dựng gỡ lỗi lên Phân phối ứng dụng:
./gradlew bundleDebug appDistributionUploadDebug --artifactType="APK"
Để mời thêm người thử nghiệm hoặc xóa người thử nghiệm hiện có khỏi dự án Firebase của bạn:
./gradlew appDistributionAddTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
./gradlew appDistributionRemoveTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
Sau khi người thử nghiệm đã được thêm vào dự án Firebase của bạn, bạn có thể thêm họ vào các bản phát hành riêng lẻ. Người kiểm tra bị xóa sẽ không còn quyền truy cập vào các bản phát hành trong dự án của bạn, nhưng vẫn có thể giữ quyền truy cập vào các bản phát hành của bạn trong một khoảng thời gian.
Bạn cũng có thể chỉ định người kiểm tra bằng
--file="/path/to/testers.txt"
thay vì--emails
.Các tác vụ
appDistributionAddTesters
vàappDistributionRemoveTesters
cũng chấp nhận các đối số sau:projectNumber
: Số dự án Firebase của bạn.serviceCredentialsFile
: Đường dẫn đến tệp thông tin xác thực dịch vụ Google của bạn. Đây là đối số tương tự được sử dụng bởi hành động tải lên.
Sau khi bạn phân phối bản dựng của mình, bản dựng sẽ có sẵn trong trang tổng quan Phân phối ứng dụng của bảng điều khiển Firebase trong 150 ngày (năm tháng). Khi bản dựng còn 30 ngày nữa mới hết hạn, thông báo hết hạn sẽ xuất hiện trong cả bảng điều khiển và danh sách các bản dựng của người thử nghiệm trên thiết bị thử nghiệm của họ.
Những người thử nghiệm chưa được mời thử nghiệm ứng dụng sẽ nhận được lời mời qua email để bắt đầu và những người thử nghiệm hiện tại nhận được thông báo qua email rằng bản dựng mới đã sẵn sàng để thử nghiệm (đọc hướng dẫn thiết lập người thử nghiệm để biết hướng dẫn về cách cài đặt ứng dụng thử nghiệm). Bạn có thể theo dõi trạng thái của từng người thử nghiệm - liệu họ có chấp nhận lời mời hay không và liệu họ có tải xuống ứng dụng trong bảng điều khiển Firebase hay không.
Người thử nghiệm có 30 ngày để chấp nhận lời mời thử nghiệm ứng dụng trước khi ứng dụng hết hạn. Khi lời mời còn 5 ngày nữa mới hết hạn, thông báo hết hạn sẽ xuất hiện trong bảng điều khiển Firebase bên cạnh người thử nghiệm về bản phát hành. Có thể gia hạn lời mời bằng cách gửi lại bằng menu thả xuống trên hàng của người thử nghiệm.
Bước tiếp theo
Truy cập bảng mã Android App Bundle để tìm hiểu cách phân phối từng bước các bản phát hành gói ứng dụng.