Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Phân phối ứng dụng Android cho người thử nghiệm bằng fastlane

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Tài liệu này mô tả cách phân phối các bản dựng APK cho người thử nghiệm bằng fastlane , một nền tảng mã nguồn mở tự động hóa việc xây dựng và phát hành các ứng dụng iOS và Android. Tài liệu này tuân theo các hướng dẫn được định nghĩa trong Fastfile . Sau khi thiết lập fastlane và Fastfile , bạn có thể tích hợp App Distribution với cấu hình fastlane của mình.

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 fastlane

  1. Cài đặt và thiết lập fastlane .

  2. Để thêm Phân phối ứng dụng vào cấu hình fastlane của bạn, hãy chạy lệnh sau từ thư mục gốc của 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 tùy chọn, hãy chọn Option 3: RubyGems.org .

Bước 2. Xác thực bằng Firebase

Trước khi có thể sử dụng plugin fastlane, trước tiên bạn phải xác thực dự án Firebase của mình theo một trong những cách sau. Theo mặc định, plugin fastlane sẽ tìm thông tin đăng nhập từ Firebase CLI nếu không có phương pháp 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 của bạn

  1. Trong làn ./fastlane/Fastfile , hãy thêm khối firebase_app_distribution . Sử dụng các thông số sau để định cấu hình phân phối:
    thông số firebase_app_distribution
    app

    Bắt buộc : ID ứng dụng Firebase của ứng dụng của bạn. Bạn có thể tìm thấy ID ứng dụng trong bảng điều khiển 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 chạy hành động đăng nhập của plugin (xem Xác thực bằng tài khoản Google ở ​​trên) hoặc khi bạn xác thực môi trường CI của mình bằng Firebase CLI (đọc Sử dụng hệ thống CLI với CI để biết thêm thông tin).

    service_credentials_file

    Đường dẫn đến tệp json tài khoản dịch vụ Google của bạn. Xem ở trên để biết cách xác thực bằng thông tin đăng nhập 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, fastlane xác định vị trí của tệp từ làn đường mà tệp được tạo.

    release_notes
    release_notes_file

    Ghi chú phát hành cho bản dựng này.

    Bạn có thể chỉ định trực tiếp các ghi chú phát hành:

    release_notes: "Text of release notes"

    Hoặc, chỉ định đường dẫn đến tệp văn bản thuần túy:

    release_notes_file: "/path/to/release-notes.txt"
    testers
    testers_file

    Địa chỉ email của những người thử nghiệm bạn muốn mời.

    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 văn bản thuần túy 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 thử nghiệm bạn muốn mời (tham khảo Quản lý người thử nghiệm ). Các nhóm được chỉ định bằng cách sử dụng bí danh nhóm , bạn có thể tra cứu trong bảng điều khiển 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 túy 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"
    debug

    Cờ boolean. Bạn có thể đặt giá trị này thành true để in đầu ra gỡ lỗi chi tiết.

platform :android do
    desc "My awesome app"
    lane :distribute do
        build_android_app(...)
        # build_android_app is a built-in fastlane action.
        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!"
        )
    end
end

Để cung cấp bản dựng cho người thử nghiệm, hãy chạy làn đường của bạn:

fastlane <lane>

Sau khi bạn phân phối bản dựng của mình, bản dựng này sẽ có 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. 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 bảng điều khiển và trong 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 trước đây chưa được mời thử nghiệm ứng dụng sẽ nhận được lời mời qua email để bắt đầu. Những người thử nghiệm hiện tại nhận được thông báo qua email rằng một 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 trình thử nghiệm . Bạn có thể theo dõi 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 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.

(Tùy chọn) Để tự động tăng số bản dựng của bạn mỗi khi bạn tạo 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ụ: plugin quicklane increment_version_code . Đoạn mã sau cung cấp một ví dụ về cách tự động tăng số bản dựng của bạn:

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ề hành động firebase_app_distribution_get_latest_release , hãy xem Nhận thông tin về bản phát hành mới nhất của ứng dụng của bạn .

Bước 4 (Tùy chọn). Quản lý người thử nghiệm cho bản phân phối

Bạn có thể thêm và xóa người kiểm tra khỏi bản phát hành ứng dụng của mình bằng cách sử dụng tệp Fastfile hoặc bằng cách chạy trực tiếp các hành động trên fastlane. Các hành động đang chạy sẽ ghi đè trực tiếp các giá trị được đặt trong Fastfile của bạn.

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ẻ. Những người thử nghiệm đã bị xóa khỏi dự án Firebase của bạn không còn có quyền truy cập vào các bản phát hành trong dự án của bạn, nhưng họ 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.

Sử dụng Fastfile

# Use lanes to add or remove testers from an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

Chạy các hành động trên fastlane

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

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ụ firebase_app_distribution_add_testersfirebase_app_distribution_remove_testers cũng chấp nhận các đối số sau:

  • project_name : Số dự án Firebase của bạn.
  • 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 Firebase CLI.

service_credentials_filefirebase_cli_token là các đối số giống nhau được sử dụng bởi hành động tải lên.

Bước 5 (Tùy chọn). Nhận thông tin về bản phát hành mới nhất của ứng dụng của bạn

Bạn có thể sử dụng hành động 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 Phân phối ứng dụng, bao gồm 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 các ghi chú phát hành từ bản phát hành trước.

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 mới nhất. Hàm băm này cũng có sẵn 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 REST API .

Thông số

thông số firebase_app_distribution_get_latest_release
app

Bắt buộc : ID ứng dụng Firebase của ứng dụng của bạn. Bạn có thể tìm thấy ID ứng dụng trong bảng điều khiển 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 chạy hành động đăng nhập của plugin (xem Xác thực bằng tài khoản Google ở ​​trên) hoặc khi bạn xác thực môi trường CI của mình bằng Firebase CLI (đọc Sử dụng hệ thống CLI với CI để biết thêm thông tin).

service_credentials_file

Đường dẫn đến tệp json tài khoản dịch vụ Google của bạn. Xem ở trên để biết cách xác thực bằng thông tin đăng nhập tài khoản dịch vụ .

debug

Cờ boolean. Bạn có thể đặt giá trị này thành true để in đầu ra gỡ lỗi chi tiết.