1. Przegląd
Witamy w laboratorium dotyczącym integracji pakietu SDK do dystrybucji aplikacji Firebase w swojej aplikacji na Androida. W tym laboratorium kodowania dodasz do swojej aplikacji pakiet SDK App Distribution Android SDK, aby wyświetlać testerom alerty w aplikacji, gdy nowe kompilacje będą dostępne do pobrania. Dowiesz się, jak korzystać zarówno z konfiguracji podstawowej, jak i konfiguracji niestandardowej, aby umożliwić testerom zalogowanie się w celu otrzymywania aktualizacji. Następnie wypchniesz nową wersję do dystrybucji aplikacji i wyzwolisz alert nowej kompilacji bezpośrednio w aplikacji.
Czego się nauczysz
- Jak używać dystrybucji aplikacji do dystrybucji przedpremierowej aplikacji wśród testerów
- Jak zintegrować zestaw SDK Androida z dystrybucją aplikacji w swojej aplikacji
- Jak powiadomić testera, gdy pojawi się nowa przedpremierowa kompilacja gotowa do zainstalowania
- Jak dostosować zestaw SDK do swoich potrzeb testowych
Co będziesz potrzebował
- Najnowsza wersja Android Studio .
- Przykładowy kod.
- Urządzenie testowe z systemem Android 4.4+ i usługami Google Play 9.8 lub nowszymi albo emulator z usługami Google Play 9.8 lub nowszymi.
- W przypadku korzystania z urządzenia kabel połączeniowy.
Jak będziesz korzystać z tego samouczka?
Jak oceniasz swoje doświadczenie w tworzeniu aplikacji na Androida?
2. Pobierz przykładowy kod
Sklonuj repozytorium GitHub z wiersza poleceń.
$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git
Jeśli nie masz zainstalowanego git, możesz również pobrać przykładowy projekt z jego strony GitHub lub klikając ten link .
3. Zaimportuj aplikację startową
W Android Studio wybierz katalog codelab-appdistribution-android/start
( ) z przykładowego kodu do pobrania ( Plik > Otwórz > .../codelab-appdistribution-android/start).
Projekt startowy powinien być teraz otwarty w Android Studio.
4. Utwórz projekt konsoli Firebase
Dodaj nowy projekt Firebase
- Otwórz konsolę Firebase .
- Wybierz Dodaj projekt , a następnie nazwij swój projekt „Firebase Codelab”.
Nie musisz włączać Google Analytics dla tego projektu.
- Kliknij Utwórz projekt .
Dodaj aplikację do Firebase
Zarejestruj swoją aplikację w Firebase . Użyj „com.google.firebase.appdistributioncodelab” jako nazwy pakietu.
Dodaj plik google-services.json do swojej aplikacji
Po dodaniu nazwy pakietu i wybraniu opcji Zarejestruj wykonaj następujące kroki, aby dodać plik google-services.json do swojej aplikacji:
- Kliknij Pobierz google-services.json, aby uzyskać plik konfiguracyjny Firebase Android.
- Skopiuj plik google-services.json do katalogu
app
w swoim projekcie. - Po pobraniu pliku możesz pominąć kolejne kroki wyświetlane w konsoli (zostały one już wykonane w projekcie build-android-start).
Zaktualizuj identyfikator aplikacji, aby pasował do Twojej aplikacji Firebase
- W lewym menu (karta Projekt) upewnij się, że jesteś w widoku „Android”, znajdź kartę „Skrypty stopniowania” i otwórz plik Gradle modułu (na poziomie aplikacji) (zwykle
app/build.gradle.kts
). - Zmień właściwość
applicationId
, aby była zgodna z identyfikatorem aplikacji Twojej aplikacji Firebase. Powinno to być „com.google.firebase.appdistributioncodelab”
Zsynchronizuj swój projekt z plikami Gradle
Aby upewnić się, że wszystkie zależności są dostępne dla Twojej aplikacji, zsynchronizuj swój projekt z plikami Gradle, wybierając Plik > Synchronizuj projekt z plikami Gradle z paska narzędzi Android Studio.
5. Skonfiguruj powiadomienia o nowych kompilacjach w aplikacji za pomocą zestawu Android SDK do dystrybucji aplikacji
W tym kroku dodasz do swojej aplikacji pakiet Firebase App Distribution Android SDK i wyświetlisz alerty w aplikacji swoim testerom, gdy nowe kompilacje Twojej aplikacji będą dostępne do zainstalowania. Aby to zrobić, upewnij się, że w swoim projekcie „Firebase Codelab” (w Google Cloud Console) włączyłeś interfejs Firebase App Testers API . Musisz zalogować się na to samo konto i wybrać właściwy projekt z rozwijanego menu u góry.
Skonfiguruj alerty w aplikacji
Pakiet SDK do dystrybucji aplikacji na Androida zapewnia testerom dwa sposoby konfigurowania alertów tworzenia w aplikacji:
- Podstawowa konfiguracja alertów, która zawiera gotowe okno dialogowe do wyświetlenia testerom.
- Zaawansowana konfiguracja alertów, która umożliwia dostosowanie interfejsu użytkownika (UI).
Zaczniemy od podstawowej konfiguracji alertów. Możesz użyć updateIfNewReleaseAvailable
, aby wyświetlić wstępnie skompilowane okno dialogowe włączania alertów testerom, którzy jeszcze nie włączyli alertów, a następnie sprawdzić, czy dostępna jest nowa kompilacja. Testerzy włączają alerty, logując się na konto, które ma dostęp do aplikacji w dystrybucji aplikacji. Po wywołaniu metoda wykonuje następującą sekwencję:
- Sprawdza, czy tester włączył alerty. Jeśli nie, metoda wyświetla wstępnie utworzone okno dialogowe, które monituje testerów o zalogowanie się do dystrybucji aplikacji przy użyciu ich konta Google.
Włączanie alertów to jednorazowy proces na urządzeniu testowym, który utrzymuje się podczas aktualizacji aplikacji. Alerty pozostają włączone na urządzeniu testowym do momentu odinstalowania aplikacji lub wywołania metody signOutTester
.
- Sprawdza nowe dostępne kompilacje do zainstalowania przez testera.
- Wyświetla wbudowany alert z prośbą do testera o pobranie najnowszej wersji.
- Sprawdza nowy typ kompilacji przed kontynuowaniem aktualizacji:
- Jeśli nowa kompilacja to pakiet aplikacji (AAB), przekierowuje testera do Sklepu Play, aby dokończyć proces aktualizacji.
- Jeśli nowa kompilacja to plik APK, pakiet SDK pobiera nową kompilację w tle i monituje testera o zainstalowanie nowej kompilacji po zakończeniu pobierania. Zestaw SDK wysyła użytkownikowi powiadomienia o postępie pobierania za pomocą
NotificationManager.
Możesz dodać własny wskaźnik postępu, dołączając moduł obsługionProgressUpdate
do zadaniaupdateIfNewReleaseAvailable
.
updateIfNewReleaseAvailable()
możesz wywołać w dowolnym momencie w swojej aplikacji. Na przykład można wywołać updateIfNewReleaseAvailable()
podczas metody onResume()
obiektu MainActivity:
Otwórz MainActivity.kt i utwórz metodę onResume()
w następujący 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. Zbuduj i zaproś testerów do pobrania Twojej aplikacji
W tym kroku budujesz aplikację i testujesz implementację, dystrybuując kompilację do testerów za pomocą konsoli Firebase.
Zbuduj swoją aplikację
Gdy wszystko będzie gotowe do rozpowszechnienia przedpremierowej wersji aplikacji wśród testerów, utwórz plik APK w zwykły sposób. Musisz podpisać plik APK kluczem debugowania lub kluczem podpisywania aplikacji.
Rozpowszechniaj swoją aplikację wśród testerów
Aby rozpowszechnić aplikację wśród testerów, prześlij plik APK za pomocą konsoli Firebase:
- Otwórz stronę Dystrybucja aplikacji w konsoli Firebase. Po wyświetleniu monitu wybierz swój projekt Firebase.
- Na stronie Wersje wybierz z menu rozwijanego aplikację, którą chcesz rozpowszechniać.
- Kliknij Rozpocznij
- Przeciągnij plik APK swojej 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 dla kompilacji. Aby dowiedzieć się więcej o tworzeniu grup testerów, zobacz Dodawanie i usuwanie testerów .
- Kliknij Rozpowszechnij , aby udostępnić kompilację testerom.
W konsoli Firebase możesz teraz zobaczyć testerów dodanych w ramach wersji aplikacji.
Ponieważ podałeś swój adres e-mail, otrzymasz wiadomość e-mail od Firebase App Distribution z zaproszeniem do przetestowania aplikacji. Jesteś teraz pierwszym testerem! Postępuj zgodnie z instrukcjami w sekcji Zaakceptuj zaproszenie, aby zostać testerem na swoim urządzeniu testowym.
Przyjąć zaproszenie
Najpierw musisz zaakceptować zaproszenie do pobrania i przetestowania wersji.
- Na testowym urządzeniu z Androidem otwórz wiadomość e-mail wysłaną z Firebase App Distribution i kliknij Rozpocznij .
- W wyświetlonej aplikacji internetowej testera dystrybucji aplikacji Firebase zaloguj się na swoje konto Google i kliknij Zaakceptuj zaproszenie. Możesz teraz zobaczyć wersję, do której przetestowania Cię zaproszono.
Pobierz wersję z urządzenia testowego
Gdy przejdziesz do aplikacji Codelab AppDistribution, zobaczysz, że wersja jest gotowa do pobrania.
- Stuknij Pobierz , a następnie zainstaluj i uruchom aplikację!
- Po uruchomieniu aplikacja prosi o włączenie alertów o nowych kompilacjach. Stuknij Włącz .
- Zaloguj się na swoje konto testera..
Wróciłeś do aplikacji. Przy następnym uruchomieniu aplikacji nie musisz się logować ani akceptować alertów
Przekaż aktualizację swoim testerom
- Zaktualizuj nazwę wersji na „1.1” i kod wersji na 2 w pliku Gradle modułu (na poziomie aplikacji) (zwykle jest to app/build.gradle).
- Zbuduj plik APK przy użyciu zwykłego procesu. Musisz podpisać plik APK kluczem debugowania lub kluczem podpisywania aplikacji.
- Prześlij ten nowy plik APK do konsoli Firebase, ponownie dodaj swój adres e-mail jako tester i kliknij Rozpowszechniaj .
Przetestuj alerty kompilacji
- Upewnij się, że zamknąłeś aplikację, jeśli była otwarta.
- Uruchom ponownie aplikację.
- Po ponownym uruchomieniu aplikacji pojawi się alert Dostępna nowa wersja.
- Aby otrzymać najnowszą wersję, kliknij Aktualizuj .
- Jeśli pojawi się monit, wybierz opcję włączenia instalacji z nieznanych źródeł.
- Kliknij Instaluj (lub Aktualizuj ) na następnym ekranie.
- Gratulacje! Udało Ci się zaktualizować aplikację za pomocą wbudowanych alertów.
7. Dostosuj logowanie testera
Metody signInTester/signOutTester i isTesterSignedIn zapewniają większą elastyczność w dostosowywaniu środowiska logowania testera, dzięki czemu lepiej pasuje do wyglądu i działania Twojej aplikacji.
Poniższy przykład sprawdza, czy tester zalogował się już na swoje konto testera Firebase App Distribution, więc możesz wybrać wyświetlanie interfejsu logowania tylko dla testerów, którzy jeszcze się nie zalogowali. Po zalogowaniu się testera możesz wywołaj checkForUpdate, aby sprawdzić, czy tester ma dostęp do nowej wersji.
Wyłączmy automatyczne sprawdzanie aktualizacji w onResume , komentując wywołanie checkForUpdate() .
MainActivity.kt
override fun onResume() {
super.onResume()
//checkForupdate()
}
Zamiast tego funkcja checkForUpdate() jest już dodana w OnClickListener przycisku updatebutton.
Teraz zaimplementujmy naszą metodę signIn() , która zaloguje użytkownika, jeśli jest wylogowany, lub wyloguje użytkownika, 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
}
Zbuduj i przetestuj swoją implementację
8. Gratulacje!
Funkcja „wyświetlania alertów w aplikacji” została wbudowana w aplikację przy użyciu pakietu Firebase App Distribution Android SDK.
Co omówiliśmy
- Dystrybucja aplikacji Firebase
- Dystrybucja aplikacji Firebase Nowe alerty Android SDK
Następne kroki
Ucz się więcej
Mam pytanie?
Zgłoś problemy