Rozpowszechnianie aplikacji na Androida testerom przy użyciu fastlane

.


Z tego przewodnika dowiesz się, jak udostępniać testerom kompilacje pakietu aplikacji na Androida za pomocą przystanek, platformę open source, która automatyzuje tworzenie i publikowanie systemów iOS i Android aplikacji. Postępuj zgodnie z prostymi instrukcjami opisanymi w dokumencie Fastfile. Po skonfigurowaniu szybka linia i Fastfile, możesz zintegrować aplikację App Distribution ze swoją szybką linią konfiguracji.

Usługa App Distribution integruje się z usługą wewnętrznego udostępniania aplikacji Google Play, aby przetwarzania przesłanych pakietów aplikacji na Androida i udostępniania plików APK zoptymalizowanych pod kątem konfiguracji urządzeń. Dystrybucja pakietów aplikacji na Androida umożliwia:

  • Uruchamiaj zoptymalizowane pliki APK (udostępniane przez Google Play), które są zoptymalizowane pod kątem dla testerów urządzenia.

  • Wykrywanie i debugowanie problemów związanych z urządzeniami.

  • Przetestuj funkcje pakietu aplikacji, takie jak Play Feature Delivery i Play Asset Delivery.

  • Zmniejsz rozmiar pobieranych plików przeznaczonych dla testerów.

Wymagane uprawnienia

Aby przesłać pakiety aplikacji na Androida do usługi App Distribution, musisz połączyć z nią swoją aplikację Firebase w aplikacji Google Play. Musisz mieć wymagany poziom dostępu do wykonania tych czynności.

Jeśli nie masz odpowiedniego dostępu do Firebase, możesz poprosić o projekt Firebase. właściciela, aby przypisać Ci odpowiednią rolę w Firebase ustawień uprawnień konsoli. Jeśli masz pytania dotyczące dostępu do projektu Firebase, w tym znaleźć lub przypisać właściciela, zapoznaj się z „Uprawnienia i dostęp do projektów Firebase” Najczęstsze pytania.

Poniższa tabela dotyczy łączenia aplikacji Firebase z aplikacją w Google Play, a także przesyłać pakiety aplikacji na Androida.

Działanie w konsoli Firebase Wymagane uprawnienia Role, które obejmują wymagane uprawnienia przyznane przez domyślny Dodatkowe wymagane role
Połącz aplikację Firebase z aplikacją w usłudze Google Play firebase.playLinks.update Jedna z tych ról: Dostęp do konta dewelopera w usłudze Google Play jako Administracja
Prześlij pakiety aplikacji na Androida do App Distribution firebaseappdistro.releases.update Jedna z tych ról: ––

Zanim zaczniesz

  1. Dodaj Firebase do swojego urządzenia z Androidem, chyba że masz to już za sobą projekt. Na koniec tego procesu mieć aplikację Firebase na Androida w swoim projekcie Firebase.

    Jeśli nie korzystasz z żadnych innych usług Firebase, musisz tylko utworzyć projekt i zarejestrować aplikację. Jeśli zdecydujesz się na korzystanie z dodatkowych usług, wykonaj wszystkie czynności Dodaj Firebase do swojego projektu na Androida.

  2. Aby utworzyć połączenie Firebase z Google Play i przesyłać pakiety aplikacji na Androida, sprawdź, czy aplikacja spełnia te wymagania:

    • Aplikacja w Google Play i aplikacja Firebase na Androida są zarejestrowane. o tej samej nazwie pakietu.

    • aplikacja w Google Play została skonfigurowana w aplikacji, panel i jest rozpowszechniana na jednej ze ścieżek Google Play (testy wewnętrzne, (test zamknięty, otwarty lub wersja produkcyjna).

    • Zakończono sprawdzanie aplikacji w Google Play i aplikacja została opublikowana. Aplikacja jest opublikowana, jeśli w kolumnie Stan aplikacji wyświetla się jeden z te stany: Test wewnętrzny (nie Test wewnętrzny wersji roboczej), Test zamknięty, otwarty lub wersja produkcyjna.

  3. Połącz aplikację Firebase na Androida z kontem dewelopera w Google Play:

    1. W konsoli Firebase otwórz Ustawienia projektu, a następnie wybierz kartę Integracje.

    2. Na karcie Google Play kliknij Połącz.
      Jeśli masz już połączenia z Google Play, kliknij Zarządzaj

    3. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby włączyć App Distribution. i wybierz aplikacje Firebase na Androida, które chcesz połączyć z Google Graj.

    Więcej informacji o łączeniu konta z Google Play.

Krok 1. Skonfiguruj szybki pas

  1. Zainstaluj i skonfiguruj fastlane

  2. Aby dodać interfejs App Distribution do konfiguracji szybkiej pasa, uruchom następujące polecenie z poziomu głównego projektu na Androida:

    fastlane add_plugin firebase_app_distribution

    Jeśli w ramach polecenia pojawi się opcja, wybierz Option 3: RubyGems.org.

Krok 2. Uwierzytelnij za pomocą Firebase

Przed użyciem wtyczki fastlane musisz uwierzytelnić się projektu Firebase na jeden z poniższych sposobów. Domyślnie wtyczka fastlane szuka danych logowania z interfejsu wiersza poleceń Firebase, jeśli nie ma żadnego innego uwierzytelniania .

Krok 3. Konfigurowanie pliku Fastfile i rozpowszechnianie aplikacji

  1. Na pasie ./fastlane/Fastfile dodaj Blokada: firebase_app_distribution. Użyj tych parametrów, aby skonfiguruj dystrybucję:
    Parametry firebase_app_distribution
    app

    Wymagany: identyfikator aplikacji Firebase. Ty identyfikator aplikacji można znaleźć w konsoli Firebase, na stronie Strona Ustawienia ogólne.

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

    Token odświeżania, który jest drukowany podczas uwierzytelniania środowiska CI za pomocą Firebase CLI (odczyt) Używanie interfejsu wiersza poleceń z systemami CI ).

    service_credentials_file

    Ścieżka do pliku json Twojego konta usługi Google. Instrukcje znajdziesz powyżej. do uwierzytelniania z użyciem danych logowania konta usługi.

    android_artifact_type

    Określa typ pliku Androida (APK lub AAB).

    android_artifact_path

    Zastępuje ustawienie apk_path (wycofane). Ścieżka bezwzględna do plik APK lub AAB, który chcesz przesłać. Jeśli nieokreślona, fastlane określa lokalizację pliku na podstawie pasa w którym plik został wygenerowany.

    release_notes
    release_notes_file

    Informacje o wersji tej kompilacji.

    Informacje o wersji możesz podać bezpośrednio:

    release_notes: "Text of release notes"

    Możesz też podać ścieżkę do zwykłego pliku tekstowego:

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

    Adresy e-mail testerów, których chcesz zaprosić.

    Możesz podać testerów jako listę adresów e-mail rozdzielonych przecinkami adresy:

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

    Możesz też określić ścieżkę do pliku tekstowego zawierającego rozdzielana przecinkami lista adresów e-mail:

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

    Grupy testerów, które chcesz zaprosić (patrz: Zarządzaj testerami). Grupy określa się przy użyciu aliasów grup, których możesz używać możesz znaleźć w konsoli Firebase.

    Grupy możesz podać w postaci listy rozdzielanej przecinkami:

    groups: "qa-team, trusted-testers"

    Możesz też określić ścieżkę do pliku tekstowego zawierającego rozdzielana przecinkami lista nazw grup:

    groups_file: "/path/to/groups.txt"
    test_devices
    test_devices_file

    Poniższe typy dystrybucji są częścią funkcji automatycznych testerów w wersji beta.

    Urządzenia testowe, na które chcesz rozpowszechniać kompilacje (patrz Testy automatyczne).

    Możesz podać urządzenia testowe w postaci listy wartości oddzielonych średnikami urządzenia:

    test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

    Możesz też określić ścieżkę do pliku tekstowego zawierającego lista urządzeń testowych rozdzielana średnikami:

    test_devices_file: "/path/to/test-devices.txt"
    test_username

    Nazwa użytkownika do automatycznego logowania się podczas testów automatycznych.

    test_password
    test_password_file

    Hasło do automatycznego logowania używane podczas testów automatycznych.

    Możesz też podać ścieżkę do zwykłego pliku tekstowego zawierającego hasło:

    test_password_file: "/path/to/test-password.txt"
    test_username_resource

    Nazwa zasobu w polu nazwy użytkownika na potrzeby automatycznego logowania, które jest używane podczas testów automatycznych.

    test_password_resource

    Nazwa zasobu w polu hasła na potrzeby automatycznego logowania podczas testów automatycznych.

    test_non_blocking

    Asynchronicznie uruchamiać testy automatyczne. Otwórz konsolę Firebase, aby wyświetlić wyniki automatycznych testów.

    debug

    Flaga wartości logicznej. Możesz ustawić wartość true w celu wydrukowania szczegółowych danych debugowania.

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

Aby udostępnić kompilację testerom, wyznacz tę ścieżkę:

fastlane <lane>

Wartość zwrotna tego działania to hasz, który reprezentuje przesłaną wersję. Ten hasz jest też dostępny za pomocą funkcji lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]. Więcej informacji o polach dostępnych w tym haszu znajdziesz w Dokumentacja interfejsu API REST.

Wtyczka fastlane generuje poniższe linki po przesłaniu wersji. Te aby ułatwić sobie zarządzanie plikami binarnymi i sprawdzać, czy testerzy i inni deweloperzy mają odpowiednią wersję:

  • Link do konsoli Firebase z wyświetloną premiery singla. Możesz udostępnić ten link innym deweloperom na swoim org.
  • Link do wersji w środowisku testera (aplikacja natywna na Androida), która umożliwia testerom wyświetlenie wersji notatki i zainstalować aplikację na urządzeniu. Tester potrzebuje dostępu do zwolnij, aby móc korzystać z linku.
  • Podpisany link, który umożliwia bezpośrednie pobieranie instaluje plik binarny aplikacji (plik APK lub AAB). Link wygasa po upływie 1 godz.

Rozpowszechniana kompilacja jest dostępna w Panel App Distribution konsoli Firebase przez 150 dni. Jeśli upłynie 30 dni od wygaśnięcia kompilacji, w oraz na liście kompilacji na urządzeniu testowym.

Testerzy, którzy nie zostali wcześniej zaproszeni do testowania aplikacji, otrzymają e-maile zaproszenia do rozpoczęcia pracy. Obecni testerzy otrzymują e-maile z powiadomieniami że nową kompilację można przetestować. Aby dowiedzieć się, jak zainstalować aplikację testową, przeczytaj przewodnik po konfiguracji testerów. Możesz monitorować stanu każdego testera, aby określić, czy zaakceptował on oraz czy pobrali aplikację na Konsola Firebase.

(Opcjonalnie) Aby automatycznie zwiększać numer kompilacji przy każdym jej tworzeniu nową wersję w Rozpowszechnianiu aplikacji, możesz użyć funkcji Działanie firebase_app_distribution_get_latest_release np. increment_version_code wtyczka fastlane. Poniższy kod pokazuje, jak automatycznie zwiększać numer kompilacji:

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

Aby dowiedzieć się więcej o działaniu firebase_app_distribution_get_latest_release, przeczytaj artykuł Uzyskiwanie informacji o najnowszej wersji aplikacji.

Krok 4 (opcjonalny). zarządzanie testerami na potrzeby dystrybucji,

Testerów możesz dodawać do projektu lub grupy i usuwać z niego za pomocą urządzenia Fastfile lub bezpośrednio przez uruchomienie szybkich pasów ruchu. Bezpośrednie wykonywanie działań zastępuje wartości ustawione w Fastfile.

Po dodaniu testera do projektu Firebase możesz go dodać do poszczególnych wersji. Testerzy, którzy zostali usunięci z projektu Firebase nr mają dłużej dostęp do wersji w projekcie, ale mogą zachować do niego dostęp do publikacji w określonym przedziale czasu.

Jeśli masz dużą liczbę testerów, warto zastanowić się nad użyciem grup.

Użyj konta 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

Uruchom działania szybkiego pasa

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"

Możesz też zamiast tego użyć parametru --file="/path/to/testers.txt --emails

firebase_app_distribution_add_testers i firebase_app_distribution_remove_testers zadań akceptuje też te ustawienia argumenty:

  • project_name: numer projektu Firebase.
  • group_alias (opcjonalnie): testerzy są dodawani do listy lub z niej usuwani, jeśli jej podano. określonej grupy.
  • service_credentials_file: ścieżka do pliku danych logowania do usług Google.
  • firebase_cli_token: token uwierzytelniania dla interfejsu wiersza poleceń Firebase.

Elementy service_credentials_file i firebase_cli_token są takie same argumentów używanych przez działanie przesyłania.

Krok 5 (opcjonalny). Uzyskiwanie informacji o najnowszej wersji aplikacji

Możesz użyć działania firebase_app_distribution_get_latest_release do pobierania informacji o najnowszej wersji aplikacji w ramach Rozpowszechniania aplikacji, w tym informacje o wersji aplikacji, informacjach o wersji oraz czasie utworzenia. Zastosowania m.in. automatyczne zwiększanie wersji i przenoszenie wersji uwagi z poprzedniej wersji.

Zwracaną wartością działania jest hasz najnowszej wersji. Ten hasz jest też dostępny za pomocą funkcji lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]. Więcej informacji o polach dostępnych w tym haszu znajdziesz w Dokumentacja interfejsu API REST.

Parametry

Parametry firebase_app_distribution_get_latest_release
app

Wymagany: identyfikator aplikacji Firebase. Ty identyfikator aplikacji można znaleźć w konsoli Firebase, na stronie Strona Ustawienia ogólne.

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

Token odświeżania, który jest drukowany podczas uwierzytelniania środowiska CI za pomocą Firebase CLI (odczyt) Używanie interfejsu wiersza poleceń z systemami CI ).

service_credentials_file

Ścieżka do pliku json Twojego konta usługi Google. Instrukcje znajdziesz powyżej. do uwierzytelniania z użyciem danych logowania konta usługi.

debug

Flaga wartości logicznej. Możesz ustawić wartość true w celu wydrukowania szczegółowych danych debugowania.

Dalsze kroki