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

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

1. Przegląd

c7a9160ef7b184c7.png22e0b52f771c060d.png

Witamy na stronie poświęconej integracji pakietu SDK Firebase App Distribution w ramach zajęć z programowania aplikacji na Androida. W tym laboratorium programowania dodasz do swojej aplikacji pakiet SDK dystrybucji aplikacji na Androida, aby wyświetlać testerom alerty w aplikacji, gdy nowe kompilacje będą dostępne do pobrania. Dowiesz się, jak używać zarówno konfiguracji podstawowej, jak i konfiguracji niestandardowej, aby testerzy byli zalogowani w celu otrzymywania aktualizacji. Następnie wypchniesz nową wersję do dystrybucji aplikacji i wywołasz alert nowej kompilacji bezpośrednio w aplikacji.

Czego się nauczysz

  • Jak korzystać z dystrybucji aplikacji, aby rozpowszechniać przedpremierową aplikację wśród testerów
  • Jak zintegrować App Distribution Android SDK z Twoją aplikacją?
  • Jak ostrzec testera, gdy nowa wersja przedpremierowa jest gotowa do zainstalowania?
  • Jak dostosować SDK do swoich potrzeb testowych

Co będziesz potrzebował

  • Android Studio w wersji 3.4+.
  • Przykładowy kod.
  • Urządzenie testowe z systemem Android 2.3+ 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 polecenia.

$ 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 codelab-appdistribution-android/start ( android_studio_folder.png ) z pobranego przykładowego kodu ( 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 Dodaj projekt , a następnie nadaj projektowi nazwę „Firebase Codelab”.

Nie musisz włączać Google Analytics w tym projekcie.

  1. Kliknij 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 Zarejestruj się, wykonaj następujące kroki, aby dodać 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 pokazane 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” i znajdź kartę „Skrypty Gradle” i otwórz plik Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle ).
  2. Zmień właściwość applicationId , aby była zgodna z identyfikatorem aplikacji Firebase. Powinien to być „com.google.firebase.appdistributioncodelab”

Zsynchronizuj swój projekt z plikami Gradle

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

5. Skonfiguruj alerty o nowej kompilacji w aplikacji za pomocą pakietu SDK do dystrybucji aplikacji na Androida

W tym kroku dodasz do swojej aplikacji pakiet SDK Firebase App Distribution Android SDK i wyświetlisz testerom alerty w aplikacji, gdy nowe kompilacje aplikacji będą dostępne do zainstalowania. Aby to zrobić, upewnij się, że w projekcie „Firebase Codelab” (w Google Cloud Console) włączono interfejs Firebase App Testers API . Musisz zalogować się na to samo konto i wybrać odpowiedni projekt z rozwijanego menu u góry.

Skonfiguruj alerty w aplikacji

Pakiet App Distribution Android SDK zapewnia dwa sposoby konfigurowania alertów o kompilacji w aplikacji dla testerów:

  • Podstawowa konfiguracja alertów z wbudowanym oknem dialogowym do wyświetlenia testerom.
  • Zaawansowana konfiguracja alertów, która pozwala dostosować interfejs 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 jest dostępna 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 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 zachęca testerów do zalogowania się do aplikacji App Distribution przy użyciu konta Google.

Włączenie alertów to jednorazowy proces na urządzeniu testowym, który utrzymuje się przez cały czas aktualizacji aplikacji. Alerty pozostają włączone na urządzeniu testowym do momentu odinstalowania aplikacji lub wywołania metody signOutTester .

  1. Sprawdza dostępność nowych kompilacji do zainstalowania przez testera.
  2. Wyświetla wbudowany alert, prosząc 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 jest plikiem APK, zestaw SDK pobiera nową kompilację w tle i monituje testera o zainstalowanie nowej kompilacji po zakończeniu pobierania. Zestaw 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 updateIfNewReleaseAvailable onProgressUpdate

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

Otwórz MainActivity.kt i utwórz 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. Twórz i zapraszaj testerów do pobrania Twojej aplikacji

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

Zbuduj swoją aplikację

Gdy będziesz gotowy do rozpowszechniania przedpremierowej wersji aplikacji wśród testerów, utwórz pakiet APK w normalny sposób. Musisz podpisać plik APK za pomocą klucza debugowania lub klucza podpisywania aplikacji.

Rozpowszechnij 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 projekt Firebase.
  2. Na stronie Wydania wybierz z menu aplikację, którą chcesz rozpowszechniać.

623460c3c8a82ce6.png

  1. Kliknij Rozpocznij

bf503b25066ff4a4.png

  1. Przeciągnij plik APK 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 kompilacji. Aby dowiedzieć się więcej o tworzeniu grup testerów, zobacz Dodawanie i usuwanie testerów .

3343048f0930e84b.png

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

2be58fe195928bf9.png

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

9935a41810344c61.png

Ponieważ podałeś swój adres e-mail, otrzymasz e-maila od Firebase App Distribution z zaproszeniem do przetestowania aplikacji. Jesteś teraz pierwszym testerem! Postępuj zgodnie z instrukcjami w Zaakceptuj zaproszenie, aby skonfigurować się jako tester na urządzeniu testowym.

Przyjąć zaproszenie

Musisz najpierw zaakceptować zaproszenie, aby pobrać i przetestować wersję.

  1. Na testowym urządzeniu z Androidem otwórz e-mail wysłany z Firebase App Distribution i kliknij Rozpocznij .
  2. W wyświetlonej aplikacji internetowej testera Firebase App Distribution zaloguj się na swoje konto Google i kliknij Zaakceptuj zaproszenie. Możesz teraz zobaczyć wersję, do przetestowania której jesteś zaproszony.

c18cb684f8e82ad6.png

Pobierz wersję z urządzenia testowego

Po przejściu do aplikacji do ćwiczeń kodowania AppDistribution możesz zobaczyć, ż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 nowej kompilacji. 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

Przekaż aktualizację swoim testerom

  1. Zaktualizuj nazwę versionName do „1.1” i versionCode do 2 w pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle).
  2. Utwórz swój pakiet APK, korzystając z normalnego procesu. Musisz podpisać plik APK za pomocą klucza debugowania lub klucza podpisywania aplikacji.
  3. Prześlij ten nowy pakiet APK do konsoli Firebase, ponownie dodaj swój adres e-mail jako tester i kliknij Rozpowszechnij .

2dfa702edfdce6b8.png

Alerty o kompilacji testowej

  1. Upewnij się, że aplikacja została zamknięta, jeśli była otwarta.
  2. Uruchom ponownie aplikację.
  3. Po ponownym uruchomieniu aplikacji otrzymasz 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 środowiska logowania testera, dzięki czemu można lepiej dopasować wygląd i sposób działania 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 się jeszcze nie zalogowali. Po zalogowaniu się testera możesz 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 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świetlanie alertów w aplikacji” została wbudowana w aplikację przy użyciu pakietu SDK 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