1. Przegląd
Witamy w samouczku dotyczącym integrowania pakietu SDK Firebase App Distribution z aplikacją na Androida. W tym samouczku dodasz do aplikacji pakiet SDK Rozpowszechnianie aplikacji na Androida, aby wyświetlać testerom w aplikacji alerty o dostępności nowych wersji do pobrania. Dowiesz się, jak używać konfiguracji podstawowej i niestandardowej, aby testerzy mogli się zalogować i otrzymywać aktualizacje. Następnie możesz przesłać nową wersję do usługi Rozpowszechnianie aplikacji i wywołać alert o nowej kompilacji bezpośrednio w aplikacji.
Czego się nauczysz
- Jak używać usługi App Distribution do wysyłania przedpremierowej aplikacji do testerów
- Integrowanie pakietu SDK App Distribution na Androida z aplikacją
- Jak powiadomić testera o nowej kompilacji przedpremierowej gotowej do zainstalowania
- Dostosowywanie pakietu SDK do potrzeb testowych
Czego potrzebujesz
- Najnowsza wersja Android Studio.
- Przykładowy kod.
- Urządzenie testowe z Androidem 4.4 lub nowszym i Usługami Google Play w wersji 9.8 lub nowszej albo emulator z Usługami Google Play w wersji 9.8 lub nowszej.
- Jeśli używasz urządzenia, kabel połączeniowy.
Jak zamierzasz wykorzystać ten samouczek?
Jak oceniasz swoje doświadczenie w tworzeniu aplikacji na Androida?
2. Pobieranie przykładowego kodu
Sklonuj repozytorium GitHub z wiersza poleceń.
$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git
Jeśli nie masz zainstalowanego narzędzia git, możesz też pobrać przykładowy projekt ze strony GitHub lub klikając ten link.
3. Importowanie aplikacji startowej
W Android Studio wybierz katalog codelab-appdistribution-android/start
( ) z pobranego kodu przykładowego (Plik > Otwórz > .../codelab-appdistribution-android/start).
Projekt początkowy powinien być teraz otwarty w Android Studio.
4. Tworzenie i konfigurowanie projektu Firebase
Tworzenie nowego projektu Firebase
- Zaloguj się w konsoli Firebase, korzystając ze swojego konta Google.
- Kliknij przycisk, aby utworzyć nowy projekt, a następnie wpisz jego nazwę (np.
App Distribution Codelab
). - Kliknij Dalej.
- Po wyświetleniu monitu przeczytaj i zaakceptuj warunki usługi Firebase, a potem kliknij Dalej.
- (Opcjonalnie) Włącz w konsoli Firebase pomoc AI (nazywaną „Gemini w Firebase”).
- W tym samouczku nie potrzebujesz Google Analytics, więc wyłącz opcję Google Analytics.
- Kliknij Utwórz projekt, poczekaj, aż projekt zostanie udostępniony, a następnie kliknij Dalej.
Dodawanie aplikacji do Firebase
Zarejestruj aplikację w Firebase. Użyj nazwy pakietu „com.google.firebase.appdistributioncodelab”.
Dodawanie pliku google-services.json do aplikacji
Po dodaniu nazwy pakietu i kliknięciu Zarejestruj wykonaj te czynności, aby dodać plik google-services.json do aplikacji:
- Kliknij Pobierz plik google-services.json, aby uzyskać plik konfiguracyjny Firebase na Androida.
- Skopiuj plik google-services.json do katalogu
app
w projekcie. - Po pobraniu pliku możesz pominąć kolejne kroki wyświetlane w konsoli (zostały już wykonane w projekcie build-android-start).
Zaktualizuj identyfikator aplikacji, aby pasował do aplikacji Firebase
- W menu po lewej stronie (karta Projekt) upewnij się, że jesteś w widoku „Android”, a następnie znajdź kartę „Skrypty Gradle” i otwórz plik Gradle modułu (na poziomie aplikacji) (zwykle
app/build.gradle.kts
). - Zmień właściwość
applicationId
, aby pasowała do identyfikatora aplikacji Firebase. Powinien to być ciąg „com.google.firebase.appdistributioncodelab”.
Synchronizowanie projektu z plikami Gradle
Aby mieć pewność, że wszystkie zależności są dostępne dla aplikacji, zsynchronizuj projekt z plikami Gradle, wybierając Plik > Synchronizuj projekt z plikami Gradle na pasku narzędzi Android Studio.
5. Konfigurowanie alertów w aplikacji o nowych kompilacjach za pomocą pakietu SDK App Distribution na Androida
W tym kroku dodasz do aplikacji pakiet SDK Androida Firebase App Distribution i będziesz wyświetlać testerom w aplikacji alerty o dostępności nowych wersji aplikacji do zainstalowania. Aby to zrobić, włącz Firebase App Testers API w projekcie „Firebase Codelab” (w Google Cloud Console). Musisz zalogować się na to samo konto i wybrać odpowiedni projekt z menu u góry.
Konfigurowanie alertów w aplikacji
Pakiet SDK Rozpowszechniania aplikacji na Androida udostępnia 2 sposoby konfigurowania alertów o kompilacji w aplikacji dla testerów:
- Podstawowa konfiguracja alertu, która zawiera gotowe okno dialogowe do wyświetlania testerom.
- zaawansowaną konfigurację alertów, która umożliwia dostosowanie interfejsu;
Zaczniemy od podstawowej konfiguracji alertu. Możesz użyć updateIfNewReleaseAvailable
, aby wyświetlić testerom, którzy jeszcze nie włączyli alertów, gotowe okno dialogowe z prośbą o ich włączenie, a następnie sprawdzić, czy dostępna jest nowa kompilacja. Testerzy mogą włączyć alerty, logując się na konto, które ma dostęp do aplikacji w App Distribution. Po wywołaniu metoda wykonuje następującą sekwencję:
- Sprawdza, czy tester włączył alerty. W przeciwnym razie wyświetli się gotowe okno, w którym testerzy będą mogli zalogować się w App Distribution za pomocą konta Google.
Włączenie alertów to jednorazowy proces na urządzeniu testowym, który jest zachowywany po aktualizacjach aplikacji. Alerty pozostają włączone na urządzeniu testowym do momentu odinstalowania aplikacji lub wywołania metody signOutTester
.
- Sprawdza, czy są dostępne nowe wersje do zainstalowania przez testera.
- Wyświetla gotowy alert z prośbą o pobranie najnowszej wersji.
- Sprawdza nowy typ kompilacji przed rozpoczęciem aktualizacji:
- Jeśli nowa kompilacja jest pakietem aplikacji (AAB), przekierowuje testera do Sklepu Play, aby dokończyć proces aktualizacji.
- Jeśli nowa kompilacja jest plikiem APK, pakiet SDK pobiera ją w tle i po zakończeniu pobierania wyświetla testerowi prośbę o jej zainstalowanie. Pakiet SDK wysyła do użytkownika powiadomienia o postępie pobierania za pomocą funkcji
NotificationManager.
. Możesz dodać własny wskaźnik postępu, dołączając moduł obsługionProgressUpdate
do zadaniaupdateIfNewReleaseAvailable
.
Możesz wywołać funkcję updateIfNewReleaseAvailable()
w dowolnym momencie w aplikacji. Możesz to na przykład zrobić w metodzie onResume()
klasy MainActivity:updateIfNewReleaseAvailable()
Otwórz plik MainActivity.kt i utwórz metodę onResume()
w ten sposób:
MainActivity.kt
override fun onResume() {
super.onResume()
checkForUpdate()
}
Teraz zaimplementujmy metodę checkForUpdate()
.
MainActivity.kt
private fun checkForUpdate() {
firebaseAppDistribution.updateIfNewReleaseAvailable()
.addOnProgressListener { updateProgress ->
// (Optional) Implement custom progress updates in addition to
// automatic NotificationManager updates.
}
.addOnFailureListener { e ->
if (e is FirebaseAppDistributionException) {
// Handle exception.
}
}
}
6. Tworzenie aplikacji i zapraszanie testerów do jej pobrania
W tym kroku skompilujesz aplikację i przetestujesz implementację, rozpowszechniając kompilację wśród testerów za pomocą konsoli Firebase.
Tworzenie aplikacji
Gdy będziesz gotowy(-a) do rozpowszechniania przedpremierowej wersji aplikacji wśród testerów, utwórz plik APK w zwykły sposób. Plik APK musi być podpisany kluczem debugowania lub kluczem podpisywania aplikacji.
Udostępnianie aplikacji testerom
Aby rozpowszechnić aplikację wśród testerów, prześlij plik APK za pomocą konsoli Firebase:
- Otwórz stronę App Distribution w konsoli Firebase. Gdy pojawi się prośba, wybierz projekt Firebase.
- Na stronie Wersje wybierz z menu aplikację, którą chcesz rozpowszechniać.
- Kliknij Rozpocznij.
- Przeciągnij plik APK aplikacji do konsoli, aby go przesłać.
- Po zakończeniu przesyłania określ grupy testerów i poszczególnych testerów, którzy mają otrzymać kompilację. (Dodaj swój adres e-mail, aby otrzymać zaproszenie). Następnie dodaj informacje o wersji. Więcej informacji o tworzeniu grup testerów znajdziesz w artykule Dodawanie i usuwanie testerów.
- Kliknij Dystrybuuj, aby udostępnić kompilację testerom.
W konsoli Firebase możesz teraz zobaczyć dodanych testerów w sekcji wersji aplikacji.
Ponieważ podano adres e-mail, otrzymasz e-maila z Firebase App Distribution z zaproszeniem do testowania aplikacji. Jesteś pierwszym testerem. Postępuj zgodnie z instrukcjami w artykule Akceptowanie zaproszenia, aby skonfigurować urządzenie testowe jako tester.
Zaakceptuj zaproszenie.
Najpierw musisz zaakceptować zaproszenie do pobrania i przetestowania wersji.
- Na urządzeniu testowym z Androidem otwórz e-maila wysłanego z Firebase App Distribution i kliknij Rozpocznij.
- W wyświetlonej aplikacji internetowej Firebase App Distribution zaloguj się na konto Google i kliknij Zaakceptuj zaproszenie. Teraz możesz zobaczyć wersję, do której testowania masz zaproszenie.
Pobieranie wersji na urządzenie testowe
Gdy przejdziesz do aplikacji z ćwiczenia z programowania App Distribution, zobaczysz, że wersja jest gotowa do pobrania.
- Kliknij Pobierz, a potem zainstaluj i uruchom aplikację.
- Po uruchomieniu aplikacja poprosi Cię o włączenie alertów o nowych wersjach. Kliknij Włącz.
- Zaloguj się na konto testera.
Wracasz do aplikacji. Przy następnym uruchomieniu nie musisz się logować ani akceptować alertów.
Przekazywanie aktualizacji testerom
- Zaktualizuj versionName do „1.1” i versionCode do 2 w pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle).
- Utwórz plik APK w zwykły sposób. Plik APK musi być podpisany kluczem debugowania lub kluczem podpisywania aplikacji.
- Prześlij nowy plik APK w konsoli Firebase, ponownie dodaj swój adres e-mail jako tester i kliknij Rozpowszechnij.
Alerty dotyczące wersji testowej
- Jeśli aplikacja była otwarta, zamknij ją.
- Uruchom ponownie aplikację.
- Po ponownym uruchomieniu aplikacji otrzymasz alert „Dostępna jest nowa wersja”.
- Aby otrzymać najnowszą wersję, kliknij Aktualizuj.
- Gdy pojawi się odpowiedni komunikat, wybierz opcję zezwalającą na instalowanie z nieznanych źródeł.
- Na następnym ekranie kliknij Zainstaluj (lub Zaktualizuj).
- Gratulacje! Udało Ci się zaktualizować aplikację za pomocą wbudowanych alertów.
7. Dostosowywanie logowania testerów
Metody signInTester/signOutTester i isTesterSignedIn zapewniają większą elastyczność w dostosowywaniu sposobu logowania testera, dzięki czemu może on lepiej pasować do wyglądu i stylu aplikacji.
Poniższy przykład sprawdza, czy tester zalogował się już na swoje konto testera w usłudze Rozpowszechnianie aplikacji przez Firebase. Dzięki temu możesz wyświetlać interfejs logowania tylko testerom, którzy jeszcze się nie zalogowali. Gdy tester się zaloguje, możesz wywołać funkcję checkForUpdate, aby sprawdzić, czy ma dostęp do nowej wersji.
Wyłączmy automatyczne sprawdzanie aktualizacji w funkcji onResume, komentując wywołanie checkForUpdate().
MainActivity.kt
override fun onResume() {
super.onResume()
//checkForupdate()
}
Zamiast tego funkcja checkForUpdate() jest już dodana w funkcji OnClickListener przycisku updatebutton.
Teraz zaimplementujmy metodę signIn(), która zaloguje użytkownika, jeśli jest wylogowany, lub wyloguje go, jeśli jest już zalogowany.
MainActivity.kt
private fun signIn() {
if (isTesterSignedIn()) {
firebaseAppDistribution.signOutTester()
configureUpdateButton()
configureSigninButton()
} else {
firebaseAppDistribution.signInTester()
}
}
Na koniec zaimplementujmy metodę isTesterSignedIn.
MainActivity.kt
private fun isTesterSignedIn() : Boolean {
return firebaseAppDistribution.isTesterSignedIn
}
Tworzenie i testowanie implementacji
8. Gratulacje!
Funkcja „wyświetlanie alertów w aplikacji” została wbudowana w aplikację za pomocą pakietu Firebase App Distribution Android SDK.
Omówione zagadnienia
- Rozpowszechnianie aplikacji przez Firebase
- Firebase App Distribution New Alerts Android SDK
Następne kroki
Więcej informacji
Masz pytanie?
Zgłaszanie problemów