Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Distribusikan aplikasi Android ke penguji menggunakan fastlane

Dokumen ini menjelaskan cara mendistribusikan build APK ke penguji menggunakan fastlane , sebuah platform open source yang membuat dan merilis aplikasi iOS dan Android secara otomatis. Dokumen ini mengikuti instruksi yang ditentukan dalam Fastfile . Setelah menyiapkan fastlane dan Fastfile Anda, Anda dapat mengintegrasikan App Distribution dengan konfigurasi fastlane Anda.

Sebelum kamu memulai

Jika Anda belum melakukannya, tambahkan Firebase ke proyek Android Anda .

Jika Anda tidak menggunakan produk Firebase lainnya, Anda hanya perlu membuat proyek dan mendaftarkan aplikasi Anda. Namun, jika Anda memutuskan untuk menggunakan produk tambahan di masa mendatang, pastikan untuk menyelesaikan semua langkah di halaman yang ditautkan di atas.

Langkah 1. Siapkan jalur cepat

  1. Instal dan atur fastlane .

  2. Untuk menambahkan App Distribution ke konfigurasi fastlane Anda, jalankan perintah berikut dari root project Android Anda:

    fastlane add_plugin firebase_app_distribution

    Jika perintah meminta Anda dengan sebuah opsi, pilih Option 3: RubyGems.org .

Langkah 2. Autentikasi dengan Firebase

Sebelum Anda dapat menggunakan plugin fastlane, Anda harus mengautentikasi terlebih dahulu dengan proyek Firebase melalui salah satu cara berikut. Secara default, plugin fastlane mencari kredensial dari Firebase CLI jika tidak ada metode autentikasi lain yang digunakan.

Langkah 3. Siapkan Fastfile Anda dan distribusikan aplikasi Anda

  1. Di jalur ./fastlane/Fastfile , tambahkan blok firebase_app_distribution . Gunakan parameter berikut untuk mengonfigurasi distribusi:
    parameter firebase_app_distribution
    app

    Wajib : ID Aplikasi Firebase aplikasi Anda. Anda dapat menemukan App ID di Firebase console, di halaman General Settings .

    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    firebase_cli_token

    Token penyegaran yang dicetak saat Anda menjalankan tindakan login plugin (lihat Mengautentikasi menggunakan akun Google , di atas), atau saat Anda mengautentikasi lingkungan CI dengan Firebase CLI (baca Menggunakan sistem CLI dengan CI untuk informasi lebih lanjut).

    service_credentials_file

    Jalur ke file json akun layanan Google Anda. Lihat di atas untuk mengetahui cara mengautentikasi menggunakan kredensial akun layanan .

    android_artifact_type

    Menentukan jenis file Android (APK atau AAB).

    android_artifact_path

    Menggantikan apk_path (usang). Jalur absolut ke file APK atau AAB yang ingin Anda unggah. Jika tidak ditentukan, jalur cepat menentukan lokasi file dari jalur tempat file dibuat.

    release_notes
    release_notes_file

    Catatan rilis untuk bangunan ini.

    Anda dapat menentukan catatan rilis secara langsung:

    release_notes: "Text of release notes"

    Atau, tentukan jalur ke file teks biasa:

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

    Alamat email penguji yang ingin Anda undang.

    Anda dapat menentukan penguji sebagai daftar alamat email yang dipisahkan koma:

    testers: "ali@example.com, bri@example.com, cal@example.com"

    Atau, Anda dapat menentukan jalur ke file teks biasa yang berisi daftar alamat email yang dipisahkan koma:

    testers_file: "/path/to/testers.txt"
    groups
    groups_file

    Grup penguji yang ingin Anda undang (lihat Kelola penguji ). Grup ditentukan menggunakan alias kelompok , yang dapat Anda cari di konsol Firebase.

    Anda dapat menentukan grup sebagai daftar yang dipisahkan koma:

    groups: "qa-team, trusted-testers"

    Atau, Anda dapat menentukan jalur ke file teks biasa yang berisi daftar nama grup yang dipisahkan koma:

    groups_file: "/path/to/groups.txt"
    debug

    Bendera boolean. Anda dapat menyetelnya ke true untuk mencetak keluaran debug verbose.

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

Agar build tersedia untuk penguji, jalankan jalur Anda:

fastlane <lane>

Setelah Anda mendistribusikan build, build tersebut akan tersedia di dasbor App Distribution dari Firebase console selama 150 hari. Saat build 30 hari dari kedaluwarsa, pemberitahuan kedaluwarsa akan muncul di konsol dan di daftar build penguji di perangkat pengujian mereka.

Penguji yang sebelumnya tidak diundang untuk menguji aplikasi menerima undangan email untuk memulai. Penguji lama menerima notifikasi email bahwa build baru siap untuk diuji. Untuk mempelajari cara menginstal aplikasi pengujian, lihat panduan penyiapan penguji . Anda dapat memantau status setiap penguji untuk menentukan apakah mereka menerima undangan dan mengunduh aplikasi di konsol Firebase.

(Opsional) Untuk menaikkan nomor build secara otomatis setiap kali Anda membuat rilis baru di App Distribution, Anda dapat menggunakan tindakan firebase_app_distribution_get_latest_release dan, misalnya, plugin jalur cepat increment_version_code . Kode berikut memberikan contoh cara menaikkan nomor build Anda secara otomatis:

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

Untuk mempelajari lebih lanjut tentang tindakan firebase_app_distribution_get_latest_release , lihat Mendapatkan informasi tentang rilis terbaru aplikasi Anda .

Langkah 4 (Opsional). Mengelola penguji untuk distribusi

Anda dapat menambah dan menghapus penguji dari rilis aplikasi Anda menggunakan file Fastfile Anda atau dengan langsung menjalankan tindakan fastlane. Menjalankan tindakan secara langsung menimpa nilai yang ditetapkan di Fastfile Anda.

Setelah penguji ditambahkan ke project Firebase, Anda dapat menambahkannya ke setiap rilis. Penguji yang dihapus dari project Firebase Anda tidak lagi memiliki akses ke rilis di project Anda, tetapi mereka mungkin mempertahankan akses ke rilis Anda untuk jangka waktu tertentu.

Gunakan 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

Jalankan aksi jalur cepat

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"

Anda juga dapat menentukan penguji menggunakan --file="/path/to/testers.txt sebagai ganti --emails .

Tugas firebase_app_distribution_add_testers dan firebase_app_distribution_remove_testers juga menerima argumen berikut:

  • project_name : nomor proyek Firebase Anda.
  • service_credentials_file : Jalur ke file kredensial layanan Google Anda.
  • firebase_cli_token : Token autentikasi untuk Firebase CLI.

service_credentials_file dan firebase_cli_token adalah argumen yang sama yang digunakan oleh tindakan pengunggahan.

Langkah 5 (Opsional). Dapatkan informasi tentang rilis terbaru aplikasi Anda

Anda dapat menggunakan tindakan firebase_app_distribution_get_latest_release untuk mengambil informasi tentang rilis terbaru aplikasi Anda di App Distribution, termasuk informasi versi aplikasi, catatan rilis, dan waktu pembuatan. Kasus penggunaan termasuk meningkatkan versi secara otomatis dan membawa catatan rilis dari rilis sebelumnya.

Nilai kembalian dari tindakan adalah hash yang mewakili rilis terbaru. Hash ini juga tersedia menggunakan lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] . Untuk informasi selengkapnya tentang kolom yang tersedia di hash ini, lihat dokumentasi REST API .

Parameter

parameter firebase_app_distribution_get_latest_release
app

Wajib : ID Aplikasi Firebase aplikasi Anda. Anda dapat menemukan App ID di Firebase console, di halaman General Settings .

app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token

Token penyegaran yang dicetak saat Anda menjalankan tindakan login plugin (lihat Mengautentikasi menggunakan akun Google , di atas), atau saat Anda mengautentikasi lingkungan CI dengan Firebase CLI (baca Menggunakan sistem CLI dengan CI untuk informasi lebih lanjut).

service_credentials_file

Jalur ke file json akun layanan Google Anda. Lihat di atas untuk mengetahui cara mengautentikasi menggunakan kredensial akun layanan .

debug

Bendera boolean. Anda dapat menyetelnya ke true untuk mencetak keluaran debug verbose.

Langkah selanjutnya

Pelajari praktik terbaik untuk mendistribusikan aplikasi Android ke penguji QA menggunakan CI/CD .