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

Distribuisci app Android ai tester utilizzando Fastlane

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questo documento descrive come distribuire build APK ai tester utilizzando fastlane , una piattaforma open source che automatizza la creazione e il rilascio di app iOS e Android. Questo documento segue le istruzioni definite in un Fastfile . Dopo aver configurato Fastlane e Fastfile , puoi integrare App Distribution con la tua configurazione Fastlane.

Prima di iniziare

Se non l'hai già fatto, aggiungi Firebase al tuo progetto Android .

Se non utilizzi nessun altro prodotto Firebase, devi solo creare un progetto e registrare la tua app. Tuttavia, se decidi di utilizzare prodotti aggiuntivi in ​​futuro, assicurati di completare tutti i passaggi nella pagina collegata sopra.

Passaggio 1. Imposta la corsia preferenziale

  1. Installa e configura Fastlane .

  2. Per aggiungere App Distribution alla tua configurazione Fastlane, esegui il comando seguente dalla radice del tuo progetto Android:

    fastlane add_plugin firebase_app_distribution

    Se il comando richiede un'opzione, seleziona Option 3: RubyGems.org .

Passaggio 2. Autenticati con Firebase

Prima di poter utilizzare il plug-in fastlane, devi prima autenticarti con il tuo progetto Firebase in uno dei seguenti modi. Per impostazione predefinita, il plug-in fastlane cerca le credenziali dalla CLI di Firebase se non viene utilizzato nessun altro metodo di autenticazione.

Passaggio 3. Configura il tuo Fastfile e distribuisci la tua app

  1. In una corsia ./fastlane/Fastfile , aggiungi un blocco firebase_app_distribution . Utilizzare i seguenti parametri per configurare la distribuzione:
    parametri firebase_app_distribution
    app

    Richiesto : l'ID app Firebase della tua app. Puoi trovare l'ID app nella console Firebase, nella pagina Impostazioni generali .

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

    Un token di aggiornamento che viene stampato quando esegui l'azione di accesso del plug-in (consulta Autenticare utilizzando un account Google , sopra) o quando autentichi il tuo ambiente CI con l'interfaccia a riga di comando Firebase (leggi Usa l'interfaccia a riga di comando con i sistemi CI per ulteriori informazioni).

    service_credentials_file

    Il percorso del file json dell'account di servizio Google. Vedere sopra per come autenticarsi utilizzando le credenziali dell'account di servizio .

    android_artifact_type

    Specifica il tipo di file Android (APK o AAB).

    android_artifact_path

    Sostituisce apk_path (obsoleto). Percorso assoluto del file APK o AAB che desideri caricare. Se non specificato, fastlane determina la posizione del file dalla corsia in cui il file è stato generato.

    release_notes
    release_notes_file

    Note sulla versione per questa build.

    Puoi specificare direttamente le note di rilascio:

    release_notes: "Text of release notes"

    Oppure, specifica il percorso di un file di testo normale:

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

    Gli indirizzi email dei tester che vuoi invitare.

    Puoi specificare i tester come un elenco di indirizzi e-mail separati da virgole:

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

    In alternativa, puoi specificare il percorso di un file di testo normale contenente un elenco di indirizzi e-mail separati da virgole:

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

    I gruppi di tester che desideri invitare (consulta Gestione tester ). I gruppi vengono specificati utilizzando alias di gruppo , che puoi cercare nella console Firebase.

    Puoi specificare i gruppi come un elenco separato da virgole:

    groups: "qa-team, trusted-testers"

    In alternativa, puoi specificare il percorso di un file di testo normale contenente un elenco di nomi di gruppi separati da virgole:

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

    Una bandiera booleana. È possibile impostarlo su true per stampare un output di debug dettagliato.

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

Per rendere la build disponibile ai tester, esegui la tua corsia:

fastlane <lane>

Dopo aver distribuito la build, è disponibile nel dashboard di distribuzione app della console Firebase per 150 giorni. Quando la build è trascorsi 30 giorni dalla scadenza, viene visualizzato un avviso di scadenza nella console e nell'elenco delle build del tester sul dispositivo di test.

I tester che non erano stati precedentemente invitati a testare l'app ricevono inviti via e-mail per iniziare. I tester esistenti ricevono notifiche e-mail che una nuova build è pronta per il test. Per informazioni su come installare l'app di test, consulta la guida alla configurazione del tester . Puoi monitorare lo stato di ogni tester per determinare se ha accettato l'invito e se ha scaricato l'app nella console Firebase.

(Facoltativo) Per aumentare automaticamente il numero di build ogni volta che crei una nuova versione in App Distribution, puoi utilizzare l' azione firebase_app_distribution_get_latest_release e, ad esempio, il plug-in fastlane increment_version_code . Il codice seguente fornisce un esempio di come incrementare automaticamente il numero di build:

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

Per ulteriori informazioni sull'azione firebase_app_distribution_get_latest_release , consulta Ottenere informazioni sull'ultima versione della tua app .

Passaggio 4 (facoltativo). Gestione dei tester per la distribuzione

Puoi aggiungere e rimuovere tester dalla versione dell'app utilizzando il file Fastfile o eseguendo direttamente le azioni Fastlane. L'esecuzione delle azioni sovrascrive direttamente i valori impostati nel tuo Fastfile .

Dopo aver aggiunto un tester al tuo progetto Firebase, puoi aggiungerlo a singole versioni. I tester che vengono rimossi dal tuo progetto Firebase non hanno più accesso alle versioni del tuo progetto, ma potrebbero mantenere l'accesso alle tue versioni per un periodo di tempo.

Usa 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

Esegui azioni in corsia preferenziale

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"

Puoi anche specificare i tester usando --file="/path/to/testers.txt invece di --emails .

Le attività firebase_app_distribution_add_testers e firebase_app_distribution_remove_testers accettano anche i seguenti argomenti:

  • project_name : il numero del tuo progetto Firebase.
  • service_credentials_file : il percorso del file delle credenziali del servizio Google.
  • firebase_cli_token : token di autenticazione per Firebase CLI.

service_credentials_file e firebase_cli_token sono gli stessi argomenti utilizzati dall'azione di caricamento.

Passaggio 5 (facoltativo). Ottieni informazioni sull'ultima versione della tua app

Puoi utilizzare l'azione firebase_app_distribution_get_latest_release per recuperare informazioni sull'ultima versione della tua app in App Distribution, comprese le informazioni sulla versione dell'app, le note sulla versione e l'ora di creazione. I casi d'uso includono l'aumento automatico della versione e il trasferimento delle note sulla versione della versione precedente.

Il valore restituito dell'azione è un hash che rappresenta l'ultima versione. Questo hash è disponibile anche utilizzando lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] . Per ulteriori informazioni sui campi disponibili in questo hash, vedere la documentazione dell'API REST .

Parametri

parametri firebase_app_distribution_get_latest_release
app

Richiesto : l'ID app Firebase della tua app. Puoi trovare l'ID app nella console Firebase, nella pagina Impostazioni generali .

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

Un token di aggiornamento che viene stampato quando esegui l'azione di accesso del plug-in (consulta Autenticare utilizzando un account Google , sopra) o quando autentichi il tuo ambiente CI con l'interfaccia a riga di comando Firebase (leggi Usa l'interfaccia a riga di comando con i sistemi CI per ulteriori informazioni).

service_credentials_file

Il percorso del file json dell'account di servizio Google. Vedere sopra per come autenticarsi utilizzando le credenziali dell'account di servizio .

debug

Una bandiera booleana. È possibile impostarlo su true per stampare un output di debug dettagliato.