W tym dokumencie przedstawiamy sprawdzone metody korzystania z funkcji Firebase App Distribution w celu utrzymania i powtarzania procesów testowania przedpremierowego aplikacji na Androida w środowisku CI/CD. Rozwiązania obejmują Gradle i fastlane, ale aby zapewnić Ci jeszcze więcej elastyczności, uwzględniamy też rozwiązania dostępne w konsoli Firebase Firebase, wierszu poleceń Firebase i publicznym interfejsie Firebase App Distribution App Distribution API.Firebase Opisujemy też limity wersji i testerów, aby umożliwić Ci wcześniejsze zaplanowanie optymalnego działania.
Jeśli używasz też platform Apple, zapoznaj się z artykułem Sprawdzone metody rozpowszechniania aplikacji Apple wśród testerów QA za pomocą CI/CD i fastlane.
Zanim zaczniesz
Zanim wdrożysz sprawdzone metody opisane w tym dokumencie, włącz App Distribution w konsoli Firebase w przypadku każdej aplikacji. Jeśli nie włączysz App Distribution, pojawi się błąd 404.
Aby włączyć App Distribution:
- Otwórz stronę App Distribution w konsoli Firebase.
- Wybierz aplikację na Androida.
- Kliknij Rozpocznij.
Pakiety Android App Bundle (AAB) stają się najpopularniejszym formatem pakietów na Androida, dlatego zalecamy skonfigurowanie możliwości rozpowszechniania pakietów AAB wśród testerów przez połączenie z Google Play.
Automatyzacja procesu testowania przedpremierowego za pomocą potoku CI/CD
Jeśli chcesz zautomatyzować tworzenie i publikowanie aplikacji wśród testerów oraz korzystasz z CI/CD, zalecamy używanie fastlane lub Gradle. Inną opcją jest użycie Firebase wiersza poleceń, który umożliwia dostęp do wielu usług Firebase.
Używanie fastlane
Zintegruj App Distribution z potokiem CI/CD za pomocą fastlane, narzędzia open source , które automatyzuje tworzenie i publikowanie aplikacji na iOS i Androida. Automatyczne tworzenie i rozpowszechnianie najnowszych wersji wśród testerów zapewnia, że zawsze mają oni najbardziej aktualną wersję testową Twojej aplikacji.
Aby dowiedzieć się, jak zintegrować App Distribution z fastlane, przeczytaj artykuł Rozpowszechnianie aplikacji na Androida wśród testerów za pomocą fastlane.
Używanie Gradle
Użyj Gradle, aby zintegrować App Distribution z procesem tworzenia aplikacji na Androida za pomocą wtyczki Gradle do
App Distribution. Wtyczka umożliwia określenie testerów i informacji o wersji w pliku build.gradle aplikacji, co pozwala skonfigurować dystrybucję dla różnych typów i wariantów aplikacji.
Aby dowiedzieć się, jak zintegrować App Distribution z Gradle, przeczytaj artykuł Rozpowszechnianie aplikacji na Androida wśród testerów za pomocą Gradle.
Używanie interfejsu wiersza poleceń Firebase
Użyj narzędzi interfejsu wiersza poleceń Firebase, które udostępnia App Distribution, aby programowo rozpowszechniać kompilacje wśród testerów. Możesz określić testerów i informacje o wersji kompilacji.
Rozpowszechnij najnowszą kompilację na Androida, podając identyfikator Firebase App ID aplikacji, opcjonalnie dodając informacje o wersji i plik zawierający adresy e-mail testerów:
firebase appdistribution:distribute test.aab \
--app 1:1234567890:android:0a1b2c3d4e5f67890 \
--release-notes "Bug fixes and improvements" --testers-file testers.txt
Aby dowiedzieć się więcej o używaniu interfejsu wiersza poleceń Firebase do automatyzacji kompilacji, przeczytaj artykuł Rozpowszechnianie aplikacji na Androida wśród testerów za pomocą interfejsu wiersza poleceń Firebase.
Uwierzytelnianie za pomocą danych logowania do usługi
Używaj wtyczki fastlane App Distribution Rozpowszechniania aplikacji, wtyczki Gradle lub interfejsu wiersza poleceń Firebase z kontami usługi. _Konto usługi_ to typ konta Google, który reprezentuje aplikacje (w przeciwieństwie do użytkowników). System CI może używać kont usługi do uruchamiania zadań App Distribution. Więcej informacji znajdziesz w artykule Uwierzytelnianie za pomocą konta usługi.
Pamiętaj o limitach wersji
App Distribution obsługuje maksymalnie 1000 wersji na aplikację. Oznacza to, że po przekroczeniu limitu wersji App Distribution automatycznie usuwa najstarsze wersje powyżej limitu. Aby dowiedzieć się, jak zarządzać limitami wersji, przeczytaj artykuł Jak długo dostępne są wersje aplikacji?
Dodawanie tego samego zestawu testerów do wielu wersji
Jeśli chcesz dodać do wersji dużą liczbę testerów, użyj App Distribution's funkcji zbiorczego zarządzania testerami.
Zalecamy używanie grup do dodawania tych samych testerów do wielu wersji. Grupa działa jak lista kontroli dostępu. Gdy usuniesz testera z grupy, utraci on dostęp do wszystkich wersji rozpowszechnionych w tej grupie. Więcej informacji znajdziesz w artykule Dodawanie i usuwanie testerów z grupy.
Jeśli masz wielu testerów, którymi musisz zarządzać, możesz zbiorczo dodawać i usuwać testerów za pomocą konsoli Firebase. Aby zautomatyzować dodawanie i usuwanie testerów, użyj interfejsu wiersza poleceńFirebase Firebase, fastlane, Gradle, lub publicznego interfejsu Firebase App Distribution API.
Pamiętaj o limitach testerów
App Distribution ogranicza liczbę testerów, których możesz dodać do projektu w Firebase lub grupy App Distribution. Po przekroczeniu tych limitów nie będzie można rozpowszechniać aplikacji wśród dodatkowych testerów. Aby dowiedzieć się więcej o limitach testerów, przeczytaj artykuł Czy istnieją limity dodawania testerów do mojej aplikacji?
Umożliwianie potencjalnym testerom samodzielnego rejestrowania się na testy
Aby ułatwić rozpowszechnianie aplikacji wśród większej liczby testerów, zalecamy używanie linków z zaproszeniem. Link z zaproszeniem to unikalny adres URL, który umożliwia testerom wpisanie adresu e-mail, aby zarejestrować się na testowanie aplikacji. Umożliwienie użytkownikom dodawania się do listy testerów aplikacji to prosty sposób na zwiększenie liczby testerów wewnętrznych.
Przykłady zastosowań linków z zaproszeniem to programy testowania wewnętrznego w firmach, organizacje z dużymi zespołami QA i grupy programistów, które chcą, aby poszczególni klienci mogli kontrolować dostęp testerów.
Zalecamy utworzenie linku z zaproszeniem do grupy. Każdy tester, który zarejestruje się za pomocą linku z zaproszeniem, zostanie automatycznie dodany do kolejnych wersji.
Więcej informacji znajdziesz w artykułach Tworzenie linków z zaproszeniem oraz Dodawanie i usuwanie testerów z grupy.
Upewnij się, że testerzy testują wersję, na której Ci zależy
Gdy prześlesz nową wersję, testerzy otrzymają e-maila z powiadomieniem. Aby uzupełnić to powiadomienie, możesz użyć tych funkcji: linków do wersji i alertów w aplikacji. Dzięki temu będziesz mieć pewność, że testerzy testują konkretną wersję aplikacji, na której Ci zależy:
- Linki do wersji: użyj tej funkcji, gdy chcesz udostępnić testerom konkretną wersję. Aby dowiedzieć się, jak używać linków do wersji, przeczytaj artykuł Rozpowszechnianie aplikacji na Androida wśród testerów za pomocą konsoli Firebase. Linki te są też dostępne w narzędziach wiersza poleceń Firebase, fastlane i Gradle (CLI), dzięki czemu możesz ich używać z narzędziami do automatyzacji kompilacji.
- Alerty w aplikacji: używaj tych alertów, gdy chcesz mieć pewność, że testerzy testują najnowszą wersję aplikacji. Dzięki integracji Firebase App Distribution Android SDK możesz wyświetlać alerty bezpośrednio w aplikacji, gdy dostępne są nowe kompilacje. Aby dowiedzieć się jak dodać alerty w aplikacji, przeczytaj artykuł Powiadamianie testerów o nowych kompilacjach.
Automatyczne usuwanie dostępu testerom, którzy opuszczają firmę
Gdy wewnętrzny proces testowania CI/CD jest już skonfigurowany i działa, musisz mieć pewność, że osoby, które opuszczają firmę, nie mają już dostępu do kompilacji wewnętrznych. Aby ułatwić zarządzanie dostępem testerów do kompilacji, App Distribution udostępnia te opcje:
- fastlane: użyj pliku Fastfile lub bezpośrednio uruchom działania fastlane. Więcej informacji znajdziesz w artykule Rozpowszechnianie aplikacji na Androida wśród testerów za pomocą fastlane.
- Firebase Wiersz poleceń: użyj
firebase appdistribution:testers:removedziałania. Więcej informacji znajdziesz w artykule Rozpowszechnianie aplikacji na Androida wśród testerów za pomocą wiersza poleceń Firebase CLI. - Gradle: jeśli używasz Gradle do usuwania testerów, w pliku
build.gradleprzekażappDistributionRemoveTestersz argumentamii--PROJECT_NUMBER . Więcej informacji znajdziesz w artykule Rozpowszechnianie aplikacji na Androida wśród testerów za pomocą Gradle.--EMAILS - Publiczny interfejs Firebase App Distribution API:
użyj punktu końcowego
testers.batchRemove.