Hướng dẫn này mô tả cách phân phối bản dựng AAB cho người kiểm thử bằng
fastlane,
một nền tảng nguồn mở tự động hoá việc xây dựng và phát hành iOS và Android
của chúng tôi. Thực hiện theo các hướng dẫn đơn giản được xác định trong Fastfile
. Sau khi bạn thiết lập
nhanh và Fastfile
của bạn, bạn có thể tích hợp App Distribution với tốc độ
.
App Distribution tích hợp với dịch vụ chia sẻ ứng dụng nội bộ của Google Play để xử lý các tệp AAB mà bạn tải lên rồi phân phát tệp APK được tối ưu hoá cho người kiểm thử cấu hình thiết bị. Khi phân phối tệp AAB, bạn có thể làm những việc sau:
Chạy APK được tối ưu hóa (được Google Play phân phát) được tối ưu hóa cho của người kiểm thử thiết bị.
Phát hiện và gỡ lỗi các vấn đề cụ thể theo thiết bị.
Kiểm thử các tính năng của gói ứng dụng như Play Feature Delivery và Play Asset Delivery.
Giảm kích thước tệp tải xuống cho người kiểm thử.
Các quyền bắt buộc
Để tải các tệp AAB lên App Distribution, bạn phải liên kết ứng dụng Firebase của mình với một ứng dụng trong Google Play. Bạn phải có cấp truy cập cần thiết để thực hiện những hành động này.
Nếu không có quyền truy cập cần thiết vào Firebase, bạn có thể yêu cầu một dự án Firebase Chủ sở hữu chỉ định cho bạn vai trò phù hợp thông qua Chế độ cài đặt quản lý danh tính và quyền truy cập (IAM) trên bảng điều khiển Firebase. Nếu bạn có câu hỏi về cách truy cập vào dự án Firebase của mình, bao gồm tìm hoặc chỉ định Chủ sở hữu, hãy xem xét "Quyền và quyền truy cập vào các dự án Firebase" Câu hỏi thường gặp.
Bảng sau đây áp dụng cho việc liên kết một ứng dụng Firebase với một ứng dụng trong Google Play, cũng như tải tệp AAB lên.
Thao tác trong bảng điều khiển Firebase | Quyền quản lý danh tính và quyền truy cập (IAM) bắt buộc | (Các) vai trò IAM bao gồm các quyền cần thiết theo mặc định | (Các) vai trò bắt buộc khác |
---|---|---|---|
Liên kết một ứng dụng Firebase với một ứng dụng trong Google Play | firebase.playLinks.update
|
Một trong những vai trò sau: | Truy cập vào tài khoản nhà phát triển Google Play bằng tài khoản Quản trị |
Tải các tệp AAB lên App Distribution | firebaseappdistro.releases.update
|
Một trong những vai trò sau: | –– |
Trước khi bắt đầu
Nếu bạn chưa thêm Firebase, hãy thêm Firebase vào thiết bị Android của bạn dự án. Ở cuối quy trình làm việc này, bạn sẽ có một Ứng dụng Android trên Firebase trong dự án Firebase 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ỉ cần tạo một dự án và đăng ký ứng dụng của bạn. Nếu bạn quyết định sử dụng thêm sản phẩm, hãy nhớ hoàn thành tất cả các bước trong Thêm Firebase vào dự án Android của bạn.
Để tạo đường liên kết đến Firebase với Google Play và tải tệp AAB lên, hãy đảm bảo rằng ứng dụng của bạn đáp ứng các yêu cầu sau:
Cả ứng dụng trong Google Play và ứng dụng Firebase dành cho Android đều được đăng ký bằng cách sử dụng cùng một tên gói.
Ứng dụng trong Google Play được thiết lập trên ứng dụng trang tổng quan và được phân phối đến một trong các kênh Google Play (Thử nghiệm nội bộ, kênh kiểm thử khép kín, kênh kiểm thử công khai hoặc kênh phát hành công khai).
Quá trình xem xét ứng dụng trên Google Play đã hoàn tất và ứng dụng đã được xuất bản. Ứng dụng của bạn được xuất bản nếu cột Trạng thái ứng dụng hiển thị một trong các trạng thái sau: Thử nghiệm nội bộ (không phải Thử nghiệm nội bộ ở dạng bản nháp), Thử nghiệm khép kín, Thử nghiệm công khai hoặc Phát hành công khai.
Liên kết ứng dụng Android trên Firebase với tài khoản nhà phát triển trên Google Play:
Trong bảng điều khiển Firebase, hãy chuyển đến
, sau đó chọn thẻ Tích hợp. Cài đặt dự án Trên thẻ Google Play, hãy nhấp vào Liên kết.
Nếu bạn đã có đường liên kết đến Google Play, hãy nhấp vào Quản lý .Làm theo hướng dẫn trên màn hình để bật App Distribution tích hợp và chọn Ứng dụng Android trên Firebase để liên kết với Google Chơi.
Tìm hiểu thêm về liên kết với Google Play.
Bước 1. Thiết lập làn đường nhanh
Để thêm App Distribution vào cấu hình làn đường nhanh, hãy chạy lệnh sau từ gốc dự án Android của bạn:
fastlane add_plugin firebase_app_distribution
Nếu lệnh nhắc bạn với một tuỳ chọn, hãy chọn
Option 3: RubyGems.org
.
Bước 2. Xác thực bằng Firebase
Để có thể sử dụng trình bổ trợ xử lý nhanh, trước tiên, bạn phải xác thực với dự án Firebase theo một trong các cách sau. Theo mặc định, trình bổ trợ Quicklane tìm thông tin xác thực từ CLI Firebase nếu không có phương thức xác thực nào khác được sử dụng.
Bước 3. Thiết lập Fastfile và phân phối ứng dụng
- Trong làn đường
./fastlane/Fastfile
, hãy thêm một Khốifirebase_app_distribution
. Sử dụng các tham số sau để định cấu hình phân phối:Thông số firebase_app_distribution app
Bắt buộc: Mã ứng dụng Firebase của ứng dụng. Bạn có thể tìm thấy Mã ứng dụng trong bảng điều khiển của Firebase, trên Trang Cài đặt chung.
app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token
Mã làm mới được in khi bạn xác thực môi trường CI bằng Firebase CLI (đọc Sử dụng CLI với hệ thống CI để biết thêm thông tin).
service_credentials_file
Đường dẫn đến tệp json của tài khoản dịch vụ Google. Xem phía trên để biết cách để xác thực bằng thông tin xác thực tài khoản dịch vụ.
android_artifact_type
Chỉ định loại tệp Android (APK hoặc AAB).
android_artifact_path
Thay thế
apk_path
(không dùng nữa). Đường dẫn tuyệt đối đến tệp APK hoặc AAB mà bạn muốn tải lên. Nếu không xác định, tua nhanh sẽ xác định vị trí tệp từ làn đường nơi tạo tệp.release_notes
release_notes_file
Ghi chú phát hành cho bản dựng này.
Bạn có thể trực tiếp chỉ định ghi chú phát hành:
release_notes: "Text of release notes"
Hoặc chỉ định đường dẫn tới tệp văn bản thuần tuý:
release_notes_file: "/path/to/release-notes.txt"
testers
testers_file
Địa chỉ email của người kiểm thử mà bạn muốn mời.
Bạn có thể chỉ định người thử nghiệm dưới dạng một danh sách email được phân tách bằng dấu phẩy địa chỉ:
testers: "ali@example.com, bri@example.com, cal@example.com"
Hoặc bạn có thể chỉ định đường dẫn đến tệp văn bản thuần tuý chứa danh sách địa chỉ email được phân tách bằng dấu phẩy:
testers_file: "/path/to/testers.txt"
groups
groups_file
Nhóm người kiểm thử mà bạn muốn mời (tham khảo Quản lý người kiểm thử). Các nhóm được chỉ định bằng
bí danh nhóm mà bạn có thể hãy tra cứu trong bảng điều khiển của Firebase.Bạn có thể chỉ định các nhóm dưới dạng danh sách được phân tách bằng dấu phẩy:
groups: "qa-team, trusted-testers"
Hoặc bạn có thể chỉ định đường dẫn đến tệp văn bản thuần tuý chứa danh sách tên nhóm được phân tách bằng dấu phẩy:
groups_file: "/path/to/groups.txt"
test_devices
test_devices_file
Những hình thức phân phối sau đây là một phần của Tính năng thử nghiệm beta của người kiểm tra tự động.
Thiết bị thử nghiệm mà bạn muốn phân phối bản dựng (tham khảo Kiểm thử tự động).
Bạn có thể chỉ định các thiết bị thử nghiệm dưới dạng danh sách các thử nghiệm được phân tách bằng dấu chấm phẩy thiết bị:
test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
Hoặc bạn có thể chỉ định đường dẫn đến tệp văn bản thuần tuý chứa danh sách thiết bị thử nghiệm được phân tách bằng dấu chấm phẩy:
test_devices_file: "/path/to/test-devices.txt"
test_username
Tên người dùng để tự động đăng nhập được sử dụng trong quá trình kiểm thử tự động.
test_password
test_password_file
Mật khẩu để tự động đăng nhập trong quá trình kiểm thử tự động.
Hoặc bạn có thể chỉ định đường dẫn đến tệp văn bản thuần tuý chứa mật khẩu:
test_password_file: "/path/to/test-password.txt"
test_username_resource
Tên tài nguyên cho trường tên người dùng để tự động đăng nhập được sử dụng trong quá trình kiểm thử tự động.
test_password_resource
Tên tài nguyên cho trường mật khẩu để tự động đăng nhập được sử dụng trong quá trình kiểm thử tự động.
test_non_blocking
Chạy kiểm thử tự động theo cách không đồng bộ. Hãy truy cập vào bảng điều khiển của Firebase để xem kết quả thử nghiệm tự động.
debug
Một cờ boolean. Bạn có thể đặt tuỳ chọn này thành
true
để in kết quả gỡ lỗi chi tiết.
platform :android do desc "My awesome app" lane :distribute do build_android_app(task: "bundle", ...) # build_android_app is a built-in fastlane action. release = firebase_app_distribution( app: "1:123456789:android:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!", android_artifact_type: "AAB" ) end end
Để cung cấp bản dựng cho người kiểm thử, hãy chạy làn của bạn:
fastlane <lane>
Giá trị trả về của hành động là một hàm băm đại diện cho bản phát hành đã tải lên.
Bạn cũng có thể sử dụng hàm băm này bằng cách sử dụng lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
.
Để biết thêm thông tin về các trường có sẵn trong hàm băm này, hãy xem
Tài liệu về API REST.
Trình bổ trợ tăng tốc sẽ xuất ra các đường liên kết dưới đây sau khi tải bản phát hành lên. Các đường liên kết giúp bạn quản lý tệp nhị phân cũng như đảm bảo rằng người kiểm thử cũng như nhà phát triển khác có bản phát hành phù hợp:
- Một đường liên kết đến bảng điều khiển Firebase cho thấy một bản phát hành đĩa đơn. Bạn có thể chia sẻ đường liên kết này với các nhà phát triển khác trong org.
- Đường liên kết đến bản phát hành trong phần trải nghiệm người kiểm thử (Ứng dụng gốc Android) cho phép người kiểm thử xem bản phát hành ghi chú và cài đặt ứng dụng trên thiết bị của họ. Người kiểm thử cần quyền truy cập vào để sử dụng đường liên kết này.
- Một đường liên kết đã ký trực tiếp tải xuống và cài đặt tệp nhị phân của ứng dụng (tệp APK hoặc AAB). Đường liên kết sẽ hết hạn sau một giờ.
Sau khi bạn phân phối bản dựng, bản dựng sẽ có trong Trang tổng quan App Distribution của bảng điều khiển Firebase trong 150 ngày. Khi bản dựng hết hạn 30 ngày, thông báo hết hạn sẽ xuất hiện trong bảng điều khiển và trong danh sách bản dựng của người kiểm thử trên thiết bị kiểm thử của họ.
Người thử nghiệm chưa được mời tham gia thử nghiệm ứng dụng sẽ nhận được email lời mời để bắt đầu. Những người kiểm thử hiện tại sẽ nhận được thông báo qua email bản dựng mới đã sẵn sàng để thử nghiệm. Để tìm hiểu cách cài đặt ứng dụng thử nghiệm, hãy xem hướng dẫn thiết lập nhân viên kiểm thử. Bạn có thể giám sát trạng thái của từng người thử nghiệm để xác định xem họ có chấp nhận lời mời và liệu họ đã tải ứng dụng xuống trong Bảng điều khiển Firebase.
(Không bắt buộc) Để tự động tăng số bản dựng mỗi khi bạn tạo
một bản phát hành mới trong Phân phối ứng dụng, bạn có thể sử dụng
Hành động firebase_app_distribution_get_latest_release
và ví dụ: trình bổ trợ tua nhanh increment_version_code
.
Mã sau đây cung cấp ví dụ về cách tự động tăng
số bản dựng:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end
Để tìm hiểu thêm về thao tác firebase_app_distribution_get_latest_release
,
xem bài viết Nhận thông tin về bản phát hành mới nhất của ứng dụng.
Bước 4 (Không bắt buộc). Quản lý người kiểm thử việc phân phối
Bạn có thể thêm và xoá người thử nghiệm khỏi dự án hoặc nhóm bằng Fastfile
hoặc bằng cách chạy trực tiếp các thao tác tua nhanh. Trực tiếp chạy hành động
ghi đè các giá trị được đặt trong Fastfile
.
Sau khi thêm người kiểm thử vào dự án Firebase, bạn có thể thêm người đó vào bản phát hành riêng lẻ. Những người thử nghiệm đã bị xoá khỏi dự án Firebase của bạn có quyền truy cập vào các bản phát hành trong dự án của bạn lâu hơn, nhưng những bản phát hành đó có thể giữ lại quyền truy cập bản phát hành của bạn trong một khoảng thời gian.
Nếu có nhiều người kiểm thử, bạn nên cân nhắc việc sử dụng nhóm.
Sử dụng Fastfile
# Use lanes to add or remove testers from a project. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) add testers to this group ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) remove testers from this group only ) end
# Add or remove testers with the terminal $ fastlane add_testers $ fastlane remove_testers
Chạy các thao tác di chuyển nhanh
fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"
Bạn cũng có thể chỉ định người kiểm thử bằng --file="/path/to/testers.txt
thay vì
--emails
.
firebase_app_distribution_add_testers
và
firebase_app_distribution_remove_testers
tác vụ cũng chấp nhận các điều sau
đối số:
project_name
: Số dự án Firebase của bạn.group_alias
(không bắt buộc): Nếu được chỉ định, người thử nghiệm sẽ được thêm vào (hoặc bị xoá khỏi) nhóm được chỉ định.service_credentials_file
: Đường dẫn đến tệp thông tin xác thực dịch vụ Google của bạn.firebase_cli_token
: Mã thông báo xác thực cho CLI Firebase.
service_credentials_file
và firebase_cli_token
giống nhau
đối số được sử dụng bởi tác vụ tải lên.
Bước 5 (Không bắt buộc). Xem thông tin về bản phát hành mới nhất của ứng dụng
Bạn có thể dùng thao tác firebase_app_distribution_get_latest_release
để tìm nạp thông tin về bản phát hành mới nhất của ứng dụng
trong tính năng Phân phối ứng dụng,
bao gồm cả thông tin về phiên bản ứng dụng, ghi chú phát hành và thời gian tạo. Các trường hợp sử dụng
bao gồm tự động tăng phiên bản và chuyển sang bản phát hành
ghi chú của bản phát hành trước.
Giá trị trả về của thao tác là một hàm băm đại diện cho bản phát hành mới nhất.
Bạn cũng có thể sử dụng hàm băm này bằng cách sử dụng lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
.
Để biết thêm thông tin về các trường có sẵn trong hàm băm này, hãy xem
Tài liệu về API REST.
Thông số
Thông số firebase_app_distribution_get_ dàng_phát hành | |
---|---|
app
|
Bắt buộc: Mã ứng dụng Firebase của ứng dụng. Bạn có thể tìm thấy Mã ứng dụng trong bảng điều khiển của Firebase, trên Trang Cài đặt chung. app: "1:1234567890:android:0a1b2c3d4e5f67890" |
firebase_cli_token
|
Mã làm mới được in khi bạn xác thực môi trường CI bằng Firebase CLI (đọc Sử dụng CLI với hệ thống CI để biết thêm thông tin). |
service_credentials_file
|
Đường dẫn đến tệp json của tài khoản dịch vụ Google. Xem phía trên để biết cách để xác thực bằng thông tin xác thực tài khoản dịch vụ. |
debug
|
Một cờ boolean. Bạn có thể đặt tuỳ chọn này thành |
Các bước tiếp theo
Triển khai phản hồi trong ứng dụng để giúp người thử nghiệm dễ dàng gửi phản hồi về ứng dụng của bạn (bao gồm ảnh chụp màn hình).
Tìm hiểu cách hiển thị thông báo trong ứng dụng cho người kiểm thử khi có bản dựng mới của ứng dụng để cài đặt.
Tìm hiểu các phương pháp hay nhất để phân phối ứng dụng Android cho người kiểm thử đảm bảo chất lượng bằng CI/CD.