Powiadamiaj testerów o nowych wydaniach aplikacji za pomocą pakietu SDK Firebase App Distribution dla systemu Android — Codelab

1. Przegląd

c7a9160ef7b184c7.png22e0b52f771c060d.png

Witamy w szkoleniu dotyczącym integracji pakietu SDK dystrybucji aplikacji Firebase w laboratorium z programowania aplikacji na Androida. Podczas tych zajęć z programowania dodasz do swojej aplikacji pakiet SDK aplikacji dla systemu Android do dystrybucji aplikacji, aby wyświetlać testerom alerty w aplikacji, gdy będą dostępne do pobrania nowe kompilacje. Dowiesz się, jak używać zarówno konfiguracji podstawowej, jak i konfiguracji niestandardowej, aby umożliwić testerom zalogowanie się i otrzymywanie aktualizacji. Następnie przekażesz nową wersję do App Distribution i uruchomisz alert o nowej kompilacji bezpośrednio w aplikacji.

Czego się dowiesz

  • Jak używać aplikacji App Distribution do dystrybucji wersji wstępnej aplikacji wśród testerów
  • Jak zintegrować pakiet SDK aplikacji Android SDK z aplikacją
  • Jak powiadomić testera, gdy dostępna jest nowa wersja przedpremierowa gotowa do zainstalowania
  • Jak dostosować zestaw SDK do potrzeb testowania

Co będziesz potrzebował

  • Najnowsza wersja Androida Studio .
  • Przykładowy kod.
  • Urządzenie testowe z systemem Android 4.4 lub nowszym i usługami Google Play 9.8 lub nowszymi lub Emulator z usługami Google Play 9.8 lub nowszymi.
  • Jeśli używasz urządzenia, kabel połączeniowy.

Jak będziesz korzystać z tego samouczka?

Przeczytaj tylko to 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 gita, możesz także pobrać przykładowy projekt ze strony GitHub lub klikając ten link .

3. Zaimportuj aplikację startową

W Android Studio wybierz katalog codelab-appdistribution-android/start ( folder_studio_android.png ) z przykładowego kodu do pobrania ( Plik > Otwórz > .../codelab-appdistribution-Android/start).

Powinieneś teraz mieć otwarty projekt startowy w Android Studio.

4. Utwórz projekt konsoli Firebase

Dodaj nowy projekt Firebase

  1. Otwórz konsolę Firebase .
  2. Wybierz opcję Dodaj projekt i nadaj swojemu projektowi nazwę „Firebase Codelab”.

Dla tego projektu nie musisz włączać Google Analytics.

  1. Kliknij opcję Utwórz projekt .

Dodaj aplikację do Firebase

Zarejestruj swoją aplikację w Firebase . Jako nazwy pakietu użyj „com.google.firebase.appdistributioncodelab”.

Dodaj plik google-services.json do swojej aplikacji

Po dodaniu nazwy pakietu i wybraniu opcji Zarejestruj wykonaj poniższe kroki, aby dodać plik google-services.json do swojej aplikacji:

  1. Kliknij Pobierz plik google-services.json, aby uzyskać plik konfiguracyjny Firebase na Androida.
  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 za Ciebie w projekcie build-Android-start).

Zaktualizuj identyfikator aplikacji, aby pasował do aplikacji Firebase

  1. W lewym menu (karta Projekt) upewnij się, że jesteś w widoku „Android”, znajdź kartę „Skrypty Gradle” 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 Firebase. Powinno to być „com.google.firebase.appdistributioncodelab”

Zsynchronizuj swój projekt z plikami Gradle

Aby mieć pewność, że wszystkie zależności są dostępne dla Twojej aplikacji, zsynchronizuj swój projekt z plikami Gradle, wybierając opcję Plik > Synchronizuj projekt z plikami Gradle na pasku narzędzi Android Studio.

5. Skonfiguruj powiadomienia o nowych kompilacjach w aplikacji za pomocą pakietu SDK do dystrybucji aplikacji dla systemu Android

Na tym etapie dodasz do swojej aplikacji pakiet SDK Firebase App Distribution na Androida i wyświetlisz testerom alerty w aplikacji, gdy będą dostępne do zainstalowania nowe wersje Twojej aplikacji. Aby to zrobić, upewnij się, że masz włączony interfejs Firebase App Testers API dla swojego projektu „Firebase Codelab” (w Google Cloud Console). Musisz zalogować się na to samo konto i wybrać odpowiedni projekt z rozwijanego menu u góry.

Skonfiguruj alerty w aplikacji

Zestaw SDK do dystrybucji aplikacji dla systemu Android umożliwia konfigurowanie alertów kompilacji w aplikacji dla testerów na dwa sposoby:

  • Podstawowa konfiguracja alertów zawierająca gotowe okno dialogowe wyświetlane 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 utworzone 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 App Distribution. Po wywołaniu metoda realizuje następującą sekwencję:

  1. Sprawdza, czy tester włączył alerty. Jeśli nie, metoda wyświetla gotowe okno dialogowe, które zachęca testerów do zalogowania się do aplikacji App Distribution przy użyciu konta Google.

Włączanie alertów to jednorazowy proces na urządzeniu testowym, który trwa przez cały czas aktualizacji aplikacji. Alerty pozostają włączone na urządzeniu testowym do czasu odinstalowania aplikacji lub wywołania signOutTester .

  1. Sprawdza, czy tester ma nowe kompilacje do zainstalowania.
  2. Wyświetla gotowy alert zachęcający testera do pobrania najnowszej wersji.
  3. Sprawdza nowy typ kompilacji przed kontynuowaniem aktualizacji:
  4. Jeśli nowa kompilacja to pakiet aplikacji (AAB), przekierowuje testera do Sklepu Play w celu dokończenia procesu aktualizacji.
  5. Jeśli nowa kompilacja jest plikiem APK, zestaw SDK pobiera ją w tle i wyświetla monit o zainstalowanie nowej kompilacji po zakończeniu pobierania. SDK wysyła powiadomienia o postępie pobierania do użytkownika za pomocą NotificationManager. Możesz dodać własny wskaźnik postępu, dołączając procedurę obsługi onProgressUpdate do zadania updateIfNewReleaseAvailable .

Możesz wywołać updateIfNewReleaseAvailable() w dowolnym momencie aplikacji. Na przykład możesz wywołać updateIfNewReleaseAvailable() podczas metody onResume() MainActivity:

Otwórz plik MainActivity.kt i utwórz metodę onResume() w następujący sposób:

MainActivity.kt

override fun onResume() {
    super.onResume()
    checkForUpdate()
}

Zaimplementujmy teraz 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

Na tym etapie tworzysz aplikację i testujesz implementację, dystrybuując kompilację do testerów za pomocą konsoli Firebase.

Zbuduj swoją aplikację

Gdy wszystko będzie gotowe do udostępnienia testerom wersji wstępnej aplikacji, utwórz plik APK w normalny sposób. Musisz podpisać plik APK kluczem debugowania lub kluczem podpisywania aplikacji.

Udostępnij swoją aplikację testerom

Aby udostępnić aplikację testerom, prześlij plik APK za pomocą konsoli Firebase:

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

623460c3c8a82ce6.png

  1. Kliknij opcję Rozpocznij

bf503b25066ff4a4.png

  1. Przeciągnij plik APK aplikacji na konsolę, aby go przesłać.
  2. Po zakończeniu przesyłania określ grupy testerów i poszczególnych testerów, którym chcesz otrzymać kompilację. (Dodaj swój adres e-mail, aby otrzymać zaproszenie). Następnie dodaj informacje o wersji kompilacji. Aby dowiedzieć się więcej o tworzeniu grup testerów, zobacz Dodawanie i usuwanie testerów .

3343048f0930e84b.png

  1. Kliknij opcję Rozpowszechniaj , 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 z Firebase App Distribution zapraszającą do przetestowania aplikacji. Jesteś teraz pierwszym testerem! Postępuj zgodnie z instrukcjami w sekcji Zaakceptuj zaproszenie, aby skonfigurować się jako tester na swoim urządzeniu testowym.

Przyjąć zaproszenie

Najpierw musisz zaakceptować zaproszenie do pobrania i przetestowania wersji.

  1. Na urządzeniu testowym 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 testowania której jesteś zaproszony.

c18cb684f8e82ad6.png

Pobierz wersję z urządzenia testowego

Po przejściu do aplikacji do ćwiczeń kodowania AppDistribution zobaczysz, że wersja jest gotowa do pobrania.

5414d9a536f25ece.png

  1. Stuknij opcję Pobierz , a następnie zainstaluj i uruchom aplikację!
  2. Po uruchomieniu aplikacja wyświetla monit o włączenie alertów o nowych kompilacjach. Kliknij 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

Roześlij aktualizację swoim testerom

  1. Zaktualizuj nazwę wersji do „1.1” i kod wersji do 2 w pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle).
  2. Zbuduj swój plik APK, korzystając z normalnego 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

Testuj alerty dotyczące kompilacji

  1. Upewnij się, że aplikacja została zamknięta, jeśli była otwarta.
  2. Uruchom ponownie aplikację.
  3. Po ponownym uruchomieniu aplikacji zostanie wyświetlony 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 Zainstaluj (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 sposobu logowania testera, dzięki czemu może on lepiej pasować 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 testerom, którzy jeszcze się nie zalogowali. Po zalogowaniu się testera możesz to zrobić wywołaj checkForUpdate, aby sprawdzić, czy tester ma dostęp do nowej kompilacji.

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!

Wbudowałeś funkcję „wyświetlania alertów w aplikacji” w aplikację przy użyciu pakietu SDK Firebase App Distribution na Androida.

Co omówiliśmy

  • Dystrybucja aplikacji Firebase
  • Dystrybucja aplikacji Firebase Nowe alerty SDK dla Androida

Następne kroki

Ucz się więcej

Mam pytanie?

Zgłoś problemy