Powiadamianie testerów o nowych wersjach aplikacji za pomocą pakietu SDK Firebase App Distribution na Androida – Codelabs

1. Omówienie

c7a9160ef7b184c7.png 22e0b52f771c060d.png

Witamy w integrowaniu pakietu SDK Rozpowszechniania aplikacji przez Firebase z ćwiczeniami z programowania o aplikacjach na Androida. W ramach tego ćwiczenia w Codelabs dodasz do swojej aplikacji pakiet SDK App Distribution na Androida, aby wyświetlać testerom alerty o nowych kompilacjach do pobrania. Dowiesz się, jak korzystać zarówno z konfiguracji podstawowej, jak i z konfiguracji niestandardowej, aby logować testerów i otrzymywać aktualizacje. Następnie przekażesz nową wersję do usługi Rozpowszechnianie aplikacji i wywołasz nowy alert kompilacji bezpośrednio w aplikacji.

Czego się nauczysz

  • Jak korzystać z Rozpowszechniania aplikacji do rozpowszechniania przedpremierowej wersji aplikacji testerom
  • Jak zintegrować pakiet SDK App Distribution z aplikacją na Androida
  • Jak powiadomić testera o nowej kompilacji przedpremierowej, która jest gotowa do zainstalowania
  • Dostosowywanie pakietu SDK do potrzeb związanych z testowaniem

Czego potrzebujesz

  • Najnowsza wersja Android Studio.
  • Przykładowy kod.
  • urządzenia testowego 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 do łączenia.

Jak wykorzystasz ten samouczek?

Tylko do przeczytania Przeczytaj go i wykonaj ćwiczenia

Jak oceniasz swoje doświadczenia z tworzeniem aplikacji na Androida?

Początkujący Poziom średnio zaawansowany Biegły
.

2. Pobieranie przykładowego kodu

Skopiuj repozytorium GitHub z poziomu wiersza poleceń.

$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git

Jeśli nie masz zainstalowanego git, możesz też pobrać przykładowy projekt ze strony GitHuba lub kliknąć ten link.

3. Zaimportuj aplikację startową

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

Projekt początkowy powinien być teraz otwarty w Android Studio.

4. Tworzenie projektu w konsoli Firebase

Dodaj nowy projekt Firebase

  1. Otwórz konsolę Firebase.
  2. Kliknij Dodaj projekt i nazwij projekt „Ćwiczenie z programowania Firebase”.

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

  1. Kliknij Utwórz projekt.

Dodaj aplikację do Firebase

Zarejestruj swoją aplikację w Firebase. Użyj „com.google.firebase.appdistributioncodelab” .

Dodawanie pliku google-services.json do aplikacji

Po dodaniu nazwy pakietu i wybraniu Zarejestruj się wykonaj te czynności, aby dodać plik google-services.json do swojej aplikacji:

  1. Kliknij Pobierz google-services.json, aby uzyskać plik konfiguracyjny Firebase na Androida.
  2. Skopiuj plik google-services.json do katalogu app w projekcie.
  3. Po pobraniu pliku możesz pominąć kolejne kroki wymienione w konsoli (zostały one już wykonane w projekcie build-android-start).

Zaktualizuj identyfikator aplikacji, aby pasował do aplikacji Firebase

  1. W menu po lewej stronie (karta Projekt) upewnij się, że jesteś na „Androidzie” Wyświetlanie i znajdowanie skryptów Gradle i otwórz plik Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle.kts).
  2. Zmień właściwość applicationId, aby pasowała do identyfikatora Twojej aplikacji Firebase. Powinien to być „com.google.firebase.appdistributioncodelab”

Synchronizowanie projektu z plikami Gradle

Aby mieć pewność, że dla aplikacji dostępne są wszystkie zależności, zsynchronizuj projekt przy użyciu plików Gradle, wybierając Plik > Synchronizowanie projektu z plikami Gradle na pasku narzędzi Android Studio.

5. Konfigurowanie alertów o kompilacji w aplikacji za pomocą pakietu SDK App Distribution na Androida

W tym kroku dodasz do swojej aplikacji pakiet SDK Firebase App Distribution na Androida i będziesz wyświetlać testerom alerty o nowych kompilacjach aplikacji do zainstalowania. Aby to zrobić, upewnij się, że w ćwiczeniach z programowania Firebase masz włączony interfejs API Firebase App Testers. projektu (w konsoli Google Cloud). Musisz zalogować się na to samo konto i wybrać odpowiedni projekt z menu u góry.

Konfigurowanie alertów w aplikacji

Pakiet SDK App Distribution na Androida umożliwia skonfigurowanie alertów dotyczących kompilacji w aplikacji na 2 sposoby:

  • Podstawowa konfiguracja alertów, która zawiera gotowe okno do wyświetlania testerom.
  • Zaawansowana konfiguracja alertów umożliwiająca dostosowanie interfejsu użytkownika.

Zaczniemy od podstawowej konfiguracji alertów. Możesz użyć narzędzia updateIfNewReleaseAvailable, aby wyświetlić gotowe okno włączania alertów testerom, którzy jeszcze nie włączyli alertów. Następnie możesz sprawdzić, czy jest dostępna nowa kompilacja. Testerzy włączają alerty, logując się na konto z dostępem do aplikacji w Rozpowszechnianiu aplikacji. Po wywołaniu metoda wywołuje tę sekwencję:

  1. Sprawdza, czy tester włączył alerty. W przeciwnym razie metoda wyświetla gotowe okno, które zachęca testerów do zalogowania się w Rozpowszechnianiu aplikacji przy użyciu konta Google.

Włączanie alertów to jednorazowy proces na urządzeniu testowym, który pozostaje po każdej aktualizacji aplikacji. Alerty pozostaną włączone na urządzeniu testowym do czasu odinstalowania aplikacji lub wywołania metody signOutTester.

  1. Sprawdza, czy są dostępne nowe kompilacje, które może zainstalować tester.
  2. Wyświetla gotowy alert z prośbą o pobranie najnowszej wersji przez testera.
  3. Sprawdza nowy typ kompilacji, zanim przeprowadzisz aktualizację:
  4. Jeśli nowa kompilacja to pakiet aplikacji, przekierowuje testera do Sklepu Play, aby dokończyć proces aktualizacji.
  5. Jeśli nowa kompilacja jest plikiem APK, SDK pobiera ją w tle i prosi testera o jej zainstalowanie po zakończeniu pobierania. Pakiet SDK wysyła do użytkownika powiadomienia o postępach pobierania za pomocą NotificationManager.. Możesz dodać własny wskaźnik postępu, dołączając moduł obsługi onProgressUpdate do zadania updateIfNewReleaseAvailable.

Możesz zadzwonić pod numer updateIfNewReleaseAvailable() w dowolnym momencie w aplikacji. Możesz na przykład wywołać funkcję updateIfNewReleaseAvailable() w metodzie onResume() klasy MainActivity:

Otwórz plik MainActivity.kt i utwórz metodę onResume() w ten sposób:

MainActivity.kt

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

Teraz zaimplementujemy 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. Utwórz aplikację i zaproś testerów do pobrania aplikacji

Na tym etapie skompilujesz aplikację i przetestujesz implementację, rozpowszechując kompilację testerom za pomocą konsoli Firebase.

Tworzenie aplikacji

Gdy zechcesz udostępnić testerom przedpremierową wersję aplikacji, utwórz plik APK w zwykły sposób. Musisz podpisać plik APK kluczem debugowania lub kluczem podpisywania aplikacji.

Udostępnianie aplikacji testerom

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

  1. Otwórz stronę Rozpowszechnianie aplikacji w konsoli Firebase. Gdy pojawi się prośba, wybierz projekt Firebase.
  2. Na stronie Wersje 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 wskaż grupy testerów i poszczególnych testerów, którzy mają otrzymać kompilację. (Aby otrzymać zaproszenie, podaj swój adres e-mail). Następnie dodaj informacje o wersji dla kompilacji. Więcej informacji o tworzeniu grup testerów znajdziesz w artykule Dodawanie i usuwanie testerów.

3343048f0930e84b.png

  1. Kliknij Distribute (Dystrybucja), aby udostępnić kompilację testerom.

2be58fe195928bf9.png

W konsoli Firebase zobaczysz teraz dodanych testerów w sekcji wersji aplikacji.

9935a41810344c61.png

Ponieważ został przez Ciebie podany adres e-mail, otrzymasz e-maila z usługi Rozpowszechniania aplikacji przez Firebase z zaproszeniem do przetestowania aplikacji. Jesteś teraz pierwszym testerem. Aby skonfigurować urządzenie jako tester, postępuj zgodnie z instrukcjami podanymi w artykule „Akceptowanie zaproszenia”.

Zaakceptuj zaproszenie

Aby pobrać i przetestować tę wersję, musisz najpierw zaakceptować zaproszenie.

  1. Na urządzeniu testowym Androida otwórz e-maila wysłanego z Rozpowszechniania aplikacji przez Firebase i kliknij Rozpocznij.
  2. W wyświetlonej aplikacji internetowej testera Firebase App Distribution zaloguj się na swoje konto Google i kliknij Zaakceptuj zaproszenie. Teraz możesz wyświetlić wersję, do której masz zaproszenie.

c18cb684f8e82ad6.png

Pobieranie wersji z urządzenia testowego

Po przejściu do aplikacji z ćwiczeniami z programowania App Distributionion, zobaczysz, że wersja jest gotowa do pobrania.

5414d9a536f25ece.png

  1. Kliknij Pobierz, a potem zainstaluj i uruchom aplikację.
  2. Po uruchomieniu aplikacji poprosi o włączenie alertów dotyczących nowych kompilacji. Kliknij Włącz.

b059e09acaa4779f.png

  1. Zaloguj się na konto testera.

22e0b52f771c060d.png

Nastąpi powrót do aplikacji. Przy następnym uruchomieniu aplikacji nie musisz się logować ani akceptować alertów

c9f33df16a2680d.png

Przekazywanie aktualizacji testerom

  1. Zaktualizuj nazwę parametru versionName na „1.1” a versionCode na 2 w pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle).
  2. Utwórz pakiet APK w zwykły sposób. Musisz podpisać plik APK kluczem debugowania lub kluczem podpisywania aplikacji.
  3. Prześlij ten nowy plik APK w konsoli Firebase, ponownie dodaj swój adres e-mail jako testera i kliknij Rozpowszechnianie.

2dfa702edfdce6b8.png

Alerty kompilacji testowej

  1. Sprawdź, czy aplikacja została zamknięta, jeśli była otwarta.
  2. Ponownie uruchom aplikację.
  3. Po ponownym uruchomieniu aplikacji wyświetli się alert „Dostępna nowa wersja”.

987e3d0ba4e56f84.png

  1. Aby ją zainstalować, kliknij Aktualizuj.
  2. Jeśli pojawi się taka prośba, wybierz opcję włączenia instalacji z nieznanych źródeł.
  3. Na następnym ekranie kliknij Zainstaluj (lub Zaktualizuj).

A7c7cd15d60bc764.png

  1. Gratulacje! Udało Ci się zaktualizować aplikację przy użyciu wbudowanych alertów.

7. Dostosowywanie logowania testera

Metody signInTester/signOutTester i isTesterSignedIn dają Ci większą elastyczność w dostosowywaniu procesu logowania się testera, tak aby był lepiej dopasowany do wyglądu i stylu Twojej aplikacji.

Poniższy przykład pokazuje, czy tester zalogował się już na konto testera usługi Rozpowszechniania aplikacji przez Firebase. Dzięki temu możesz wyświetlać interfejs logowania tylko tym testerom, którzy jeszcze się nie zalogowali. Gdy tester się zaloguje, możesz wywołać funkcję checkForUpdate, aby sprawdzić, czy ma on dostęp do nowej kompilacji.

Wyłączmy automatyczne sprawdzanie aktualizacji w metodzie onWznów, komentując wywołanie checkForUpdate().

MainActivity.kt

override fun onResume() {
        super.onResume()
        //checkForupdate()
    }

Zamiast tego funkcja checkForUpdate() została już dodana do funkcji OnClickListener funkcji updatebutton.

Teraz wdrożymy metodę signIn(), która będzie logować użytkownika, jeśli jest niezalogowany, lub wylogowywać użytkownika, który jest już zalogowany.

MainActivity.kt

    private fun signIn() {
        if (isTesterSignedIn()) {
            firebaseAppDistribution.signOutTester()
            configureUpdateButton()
            configureSigninButton()
        } else {
            firebaseAppDistribution.signInTester()
        }
    }

Na koniec zaimplementuj metodę isTesterSignedIn.

MainActivity.kt

    private fun isTesterSignedIn() : Boolean {
        return firebaseAppDistribution.isTesterSignedIn
    }

Tworzenie i testowanie implementacji

8. Gratulacje!

Masz wbudowany „wyświetlacz alertów w aplikacji” do aplikacji za pomocą pakietu SDK Firebase App Distribution.

Omówione zagadnienia

  • Rozpowszechnianie aplikacji przez Firebase
  • Nowy pakiet SDK alertów na Androida w Firebase App Distribution

Następne kroki

Więcej informacji

Masz pytanie?

Zgłoś problemy