W tym dokumencie przedstawiamy sprawdzone metody korzystania z Firebase App Distribution, które pozwalają na zrównoważone i powtarzalne testowanie wersji przedpremierowych aplikacji na Androida w środowisku CI/CD. Rozwiązania obejmują Gradle i fastlane, ale aby zapewnić Ci jeszcze większą elastyczność, udostępniamy też rozwiązania dostępne w konsoli Firebase, interfejsie wiersza poleceń Firebase i publicznym interfejsie API Firebase App Distribution. Opisujemy też limity wersji i testerów, aby umożliwić Ci wcześniejsze zaplanowanie optymalnego procesu.
Jeśli korzystasz też z platform Apple, zapoznaj się z artykułem Sprawdzone metody dystrybucji aplikacji Apple do 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 dla każdej aplikacji. Jeśli nie włączysz App Distribution, pojawi się błąd 404.
Aby włączyć App Distribution, wykonaj te czynności:
- 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 plików AAB wśród testerów przez połączenie z Google Play.
Automatyzacja przepływu pracy testowania przedpremierowego za pomocą potoku CI/CD
Jeśli chcesz zautomatyzować tworzenie i udostępnianie aplikacji testerom i używasz CI/CD, zalecamy korzystanie z fastlane lub Gradle. Inną opcją jest użycie interfejsu wiersza poleceń Firebase, który umożliwia dostęp do szerokiej gamy usług Firebase.
Korzystanie z narzędzia 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. Dzięki automatycznemu tworzeniu i rozpowszechnianiu najnowszych wersji wśród testerów masz pewność, że zawsze mają oni najbardziej aktualną wersję testową aplikacji.
Aby dowiedzieć się, jak zintegrować App Distribution z fastlane, przeczytaj artykuł Distribute Android apps to testers using fastlane (Dystrybucja aplikacji na Androida wśród testerów za pomocą fastlane).
Używanie Gradle
Użyj Gradle, aby zintegrować App Distribution z procesem kompilacji na Androida za pomocą wtyczki App Distribution do obsługi Gradle. Wtyczka umożliwia określenie testerów i informacji o wersjach w pliku build.gradle aplikacji, co pozwala skonfigurować dystrybucję dla różnych rodzajów kompilacji 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.
Korzystanie z interfejsu wiersza poleceń Firebase
Użyj narzędzi interfejsu wiersza poleceń Firebase, które udostępnia App Distribution, aby automatycznie 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 aplikacji w Firebase i opcjonalnie dodając informacje o wersji oraz plik z adresami e-mail testerów:
firebase appdistribution:distribute test.aab \
--app 1:1234567890:android:0a1b2c3d4e5f67890 \
--release-notes "Bug fixes and improvements" --testers-file testers.txt
Więcej informacji o automatyzowaniu kompilacji za pomocą interfejsu wiersza poleceń Firebase znajdziesz w artykule Rozpowszechnianie aplikacji na Androida wśród testerów za pomocą interfejsu wiersza poleceń Firebase.
Uwierzytelnianie przy użyciu danych logowania usługi
Użyj App Distribution wtyczki fastlane, wtyczki Gradle lub interfejsu wiersza poleceń Firebase z kontami usługi. Konto usługi to rodzaj konta Google, które 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.
Jeśli używasz federacji tożsamości zadań, zamiast klucza konta usługi możesz wygenerować i użyć pliku konfiguracji danych logowania.
Pamiętaj o limitach dotyczących publikowania
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 są dostępne wersje aplikacji?.
Dodawanie tego samego zestawu testerów do wielu wersji
Jeśli chcesz dodać do wersji dużą liczbę testerów, użyj funkcji zbiorczego zarządzania testerami w usłudze App Distribution.
Zalecamy używanie grup, aby dodawać tych samych testerów do wielu wersji. Grupa działa jak lista kontroli dostępu. Gdy usuniesz testera z grupy, straci on dostęp do wszystkich wersji rozpowszechnianych w tej grupie. Więcej informacji znajdziesz w artykule Dodawanie testerów do grupy i usuwanie ich z niej.
Jeśli masz wielu testerów, możesz zbiorczo ich dodawać i usuwać za pomocą konsoli Firebase. Aby zautomatyzować dodawanie i usuwanie testerów, użyj interfejsu wiersza poleceń Firebase, fastlane, Gradle lub publicznego interfejsu API Firebase App Distribution.
Pamiętaj o limitach liczby 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ędziesz mieć możliwości rozpowszechniania aplikacji wśród dodatkowych testerów. Więcej informacji o limitach testerów znajdziesz w artykule Czy istnieją limity dotyczące dodawania testerów do aplikacji?.
Umożliwianie potencjalnym testerom samodzielnej rejestracji 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 adresów e-mail w celu zarejestrowania się do testowania aplikacji. Umożliwienie użytkownikom dodawania się do listy testerów aplikacji to prosty sposób na zwiększenie bazy testerów wewnętrznych.
Przykłady zastosowania linków z zaproszeniem obejmują firmowe programy testowania wersji dogfood, organizacje z dużymi zespołami ds. kontroli jakości i grupy deweloperów, którzy 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 artykule Tworzenie linków z zaproszeniem i Dodawanie testerów do grupy i usuwanie ich z niej.
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), aby 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ł o rozpowszechnianiu aplikacji na Androida wśród testerów za pomocą konsoli Firebase. Te linki są też dostępne w naszych narzędziach wiersza poleceń (CLI) Firebase, fastlane i Gradle, które można wykorzystać w narzędziach do automatyzacji kompilacji.
- Alerty w aplikacji: używaj tych alertów, gdy chcesz mieć pewność, że testerzy testują najnowszą wersję aplikacji. Dzięki integracji pakietu SDK Firebase na Androida (App Distribution) możesz wyświetlać testerom alerty bezpośrednio w aplikacji, gdy dostępne są jej nowe kompilacje. Aby dowiedzieć się, jak dodawać alerty w aplikacji, przeczytaj artykuł Powiadamianie testerów o nowych kompilacjach.
Automatyczne usuwanie dostępu testerom, którzy odchodzą z firmy
Gdy proces testowania wewnętrznego CI/CD jest już skonfigurowany i działa, musisz upewnić się, że osoby, które odchodzą z firmy, nie mają już dostępu do kompilacji wewnętrznych. Aby ułatwić Ci 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ą narzędzia fastlane.
- Interfejs wiersza poleceń Firebase: użyj działania
firebase appdistribution:testers:remove. Więcej informacji znajdziesz w artykule Rozpowszechnianie aplikacji na Androida wśród testerów za pomocą interfejsu wiersza poleceń Firebase. - Gradle: jeśli używasz Gradle do usuwania testerów, przekaż
appDistributionRemoveTestersz argumentamii--PROJECT_NUMBER w pliku--EMAILS build.gradle. Więcej informacji znajdziesz w artykule Rozpowszechnianie aplikacji na Androida wśród testerów za pomocą Gradle. - **Publiczny interfejs Firebase App Distribution API:** użyj punktu końcowego
testers.batchRemove.