Powiadamiaj testerów o nowych wersjach aplikacji dzięki SDK Firebase App Distribution na Androida — Codelab

1. Przegląd

c7a9160ef7b184c7.png22e0b52f771c060d.png

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?

Przeczytaj go tylko Przeczytaj i wykonaj ćwiczenia

Jak oceniasz swoje doświadczenie w tworzeniu aplikacji na Androida?

Nowicjusz Mediator Biegły

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 ( android_studio_folder.png ) 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

  1. Otwórz konsolę Firebase .
  2. Wybierz Dodaj projekt , a następnie nazwij swój projekt „Firebase Codelab”.

Nie musisz włączać Google Analytics dla tego projektu.

  1. 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:

  1. Kliknij Pobierz google-services.json, aby uzyskać plik konfiguracyjny Firebase Android.
  2. Skopiuj plik google-services.json do katalogu app w swoim projekcie.
  3. 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

  1. 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 ).
  2. 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ę:

  1. 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 .

  1. Sprawdza nowe dostępne kompilacje do zainstalowania przez testera.
  2. Wyświetla wbudowany alert z prośbą do testera o pobranie najnowszej wersji.
  3. Sprawdza nowy typ kompilacji przed kontynuowaniem aktualizacji:
  4. Jeśli nowa kompilacja to pakiet aplikacji (AAB), przekierowuje testera do Sklepu Play, aby dokończyć proces aktualizacji.
  5. 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ługi onProgressUpdate do zadania updateIfNewReleaseAvailable .

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:

  1. Otwórz stronę Dystrybucja aplikacji w konsoli Firebase. Po wyświetleniu monitu wybierz swój projekt Firebase.
  2. Na stronie Wersje wybierz z menu rozwijanego aplikację, którą chcesz rozpowszechniać.

623460c3c8a82ce6.png

  1. Kliknij Rozpocznij

bf503b25066ff4a4.png

  1. Przeciągnij plik APK swojej aplikacji do konsoli, aby go przesłać.
  2. 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 .

3343048f0930e84b.png

  1. Kliknij Rozpowszechnij , aby udostępnić kompilację testerom.

2be58fe195928bf9.png

W konsoli Firebase możesz teraz zobaczyć testerów dodanych w ramach wersji aplikacji.

9935a41810344c61.png

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.

  1. Na testowym urządzeniu z Androidem otwórz wiadomość e-mail wysłaną z Firebase App Distribution i kliknij Rozpocznij .
  2. 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.

c18cb684f8e82ad6.png

Pobierz wersję z urządzenia testowego

Gdy przejdziesz do aplikacji Codelab AppDistribution, zobaczysz, że wersja jest gotowa do pobrania.

5414d9a536f25ece.png

  1. Stuknij Pobierz , a następnie zainstaluj i uruchom aplikację!
  2. Po uruchomieniu aplikacja prosi o włączenie alertów o nowych kompilacjach. Stuknij Włącz .

b059e09acaa4779f.png

  1. Zaloguj się na swoje konto testera..

22e0b52f771c060d.png

Wróciłeś do aplikacji. Przy następnym uruchomieniu aplikacji nie musisz się logować ani akceptować alertów

c9f33df16a2680d.png

Przekaż aktualizację swoim testerom

  1. 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).
  2. Zbuduj plik APK przy użyciu zwykłego procesu. Musisz podpisać plik APK kluczem debugowania lub kluczem podpisywania aplikacji.
  3. Prześlij ten nowy plik APK do konsoli Firebase, ponownie dodaj swój adres e-mail jako tester i kliknij Rozpowszechniaj .

2dfa702edfdce6b8.png

Przetestuj alerty kompilacji

  1. Upewnij się, że zamknąłeś aplikację, jeśli była otwarta.
  2. Uruchom ponownie aplikację.
  3. Po ponownym uruchomieniu aplikacji pojawi się alert Dostępna nowa wersja.

987e3d0ba4e56f84.png

  1. Aby otrzymać najnowszą wersję, kliknij Aktualizuj .
  2. Jeśli pojawi się monit, wybierz opcję włączenia instalacji z nieznanych źródeł.
  3. Kliknij Instaluj (lub Aktualizuj ) na następnym ekranie.

a7c7cd15d60bc764.png

  1. 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