Benachrichtigen Sie Tester über Ihre neuen App-Releases mit Firebase App Distribution Android SDK – Codelab

1. Übersicht

c7a9160ef7b184c7.png22e0b52f771c060d.png

Willkommen beim Integrieren des Firebase App Distribution SDK in das Codelab Ihrer Android-App. In diesem Codelab fügen Sie das App Distribution Android SDK zu Ihrer App hinzu, um Ihren Testern In-App-Benachrichtigungen anzuzeigen, wenn neue Builds zum Herunterladen verfügbar sind. Sie erfahren, wie Sie sowohl eine Basiskonfiguration als auch eine benutzerdefinierte Konfiguration verwenden, um Ihre Tester zum Empfangen von Updates anzumelden. Dann pushen Sie eine neue Version an die App-Verteilung und lösen direkt in der App eine neue Build-Warnung aus.

Was Sie lernen werden

  • So verwenden Sie die App-Verteilung, um eine Vorabversion einer App an Tester zu verteilen
  • So integrieren Sie das App Distribution Android SDK in Ihre App
  • So benachrichtigen Sie einen Tester, wenn ein neuer Vorabversions-Build zur Installation bereitsteht
  • So passen Sie das SDK an Ihre Testanforderungen an

Was du brauchen wirst

  • Android Studio-Version 3.4+.
  • Beispielcode.
  • Ein Testgerät mit Android 2.3+ und Google Play-Diensten 9.8 oder höher oder ein Emulator mit Google Play-Diensten 9.8 oder höher.
  • Bei Verwendung eines Geräts ein Verbindungskabel.

Wie werden Sie dieses Tutorial verwenden?

Nur durchlesen Lies es und vervollständige die Übungen

Wie würden Sie Ihre Erfahrung beim Erstellen von Android-Apps bewerten?

Anfänger Mittlere Kompetent

2. Holen Sie sich den Beispielcode

Klonen Sie das GitHub-Repository über die Befehlszeile.

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

Wenn Sie Git nicht installiert haben, können Sie das Beispielprojekt auch von der GitHub-Seite herunterladen oder auf diesen Link klicken.

3. Importieren Sie die Starter-App

Wählen Sie in Android Studio das codelab-appdistribution-android/start ( android_studio_folder.png ) aus dem Beispielcode-Download ( Datei > Öffnen > .../codelab-appdistribution-android/start).

Sie sollten nun das Startprojekt in Android Studio geöffnet haben.

4. Erstellen Sie ein Firebase-Konsolenprojekt

Fügen Sie ein neues Firebase-Projekt hinzu

  1. Öffnen Sie die Firebase-Konsole .
  2. Wählen Sie Projekt hinzufügen aus und nennen Sie Ihr Projekt dann "Firebase Codelab".

Sie müssen Google Analytics für dieses Projekt nicht aktivieren.

  1. Klicken Sie auf Projekt erstellen .

Fügen Sie eine App zu Firebase hinzu

Registrieren Sie Ihre App bei Firebase . Verwenden Sie "com.google.firebase.appdistributioncodelab" als Paketnamen.

Fügen Sie Ihrer App die Datei google-services.json hinzu

Nachdem Sie den Paketnamen hinzugefügt und Registrieren ausgewählt haben, führen Sie die folgenden Schritte aus, um google-services.json zu Ihrer App hinzuzufügen:

  1. Klicken Sie auf Download google-services.json , um Ihre Firebase-Android-Konfigurationsdatei abzurufen.
  2. Kopieren Sie die Datei google-services.json in das app -Verzeichnis Ihres Projekts.
  3. Nachdem die Datei heruntergeladen wurde, können Sie die nächsten in der Konsole angezeigten Schritte überspringen (sie wurden bereits im build-android-start-Projekt für Sie erledigt).

Aktualisieren Sie die Anwendungs-ID entsprechend Ihrer Firebase-App

  1. Stellen Sie im linken Menü (Registerkarte „Projekt“) sicher, dass Sie sich in der „Android“-Ansicht befinden, suchen Sie die Registerkarte „Gradle Scripts“ und öffnen Sie die Gradle-Datei Ihres Moduls (auf App-Ebene) (normalerweise app/build.gradle ).
  2. Ändern Sie die Eigenschaft „ applicationId “ so, dass sie mit der Anwendungs-ID Ihrer Firebase-App übereinstimmt. Dies sollte "com.google.firebase.appdistributioncodelab" sein.

Synchronisieren Sie Ihr Projekt mit Gradle-Dateien

Um sicherzustellen, dass alle Abhängigkeiten für Ihre App verfügbar sind, synchronisieren Sie Ihr Projekt mit Gradle-Dateien, indem Sie in der Symbolleiste von Android Studio Datei > Projekt mit Gradle-Dateien synchronisieren auswählen.

5. Richten Sie In-App-Warnungen für neue Builds mit dem App Distribution Android SDK ein

In diesem Schritt fügen Sie Ihrer App das Firebase App Distribution Android SDK hinzu und zeigen Ihren Testern In-App-Benachrichtigungen an, wenn neue Builds Ihrer App zur Installation verfügbar sind. Stellen Sie dazu sicher, dass Sie die Firebase App Testers API für Ihr „Firebase Codelab“-Projekt (in der Google Cloud Console) aktiviert haben. Sie müssen sich mit demselben Konto anmelden und das richtige Projekt aus dem Dropdown-Menü oben auswählen.

Konfigurieren Sie In-App-Warnungen

Das App Distribution Android SDK bietet zwei Möglichkeiten zum Einrichten von In-App-Build-Benachrichtigungen für Ihre Tester:

  • Eine grundlegende Benachrichtigungskonfiguration, die mit einem vorgefertigten Dialogfeld zur Anzeige für Tester geliefert wird.
  • Eine erweiterte Alarmkonfiguration, mit der Sie Ihre Benutzeroberfläche (UI) anpassen können.

Wir beginnen mit der grundlegenden Alarmkonfiguration. Sie können updateIfNewReleaseAvailable verwenden, um Testern, die noch keine Warnungen aktiviert haben, ein vorgefertigtes Dialogfeld zum Aktivieren von Warnungen anzuzeigen und dann zu prüfen, ob ein neuer Build verfügbar ist. Tester aktivieren Warnungen, indem sie sich bei einem Konto anmelden, das Zugriff auf die App in App Distribution hat. Beim Aufruf führt die Methode die folgende Sequenz aus:

  1. Überprüft, ob ein Tester Warnungen aktiviert hat. Wenn nicht, zeigt die Methode ein vorgefertigtes Dialogfeld an, das die Tester auffordert, sich mit ihrem Google-Konto bei App Distribution anzumelden.

Das Aktivieren von Warnungen ist ein einmaliger Vorgang auf dem Testgerät, der über Updates Ihrer App hinweg bestehen bleibt. Warnungen bleiben auf dem Testgerät aktiviert, bis die App deinstalliert oder die signOutTester Methode aufgerufen wird.

  1. Sucht nach neu verfügbaren Builds, die der Tester installieren kann.
  2. Zeigt eine vorgefertigte Warnung an, die den Tester auffordert, die neueste Version herunterzuladen.
  3. Überprüft den neuen Build-Typ, bevor mit dem Update fortgefahren wird:
  4. Wenn es sich bei dem neuen Build um ein App Bundle (AAB) handelt, wird der Tester zum Play Store umgeleitet, um den Aktualisierungsvorgang abzuschließen.
  5. Wenn der neue Build ein APK ist, lädt das SDK den neuen Build im Hintergrund herunter und fordert den Tester auf, den neuen Build zu installieren, wenn der Download abgeschlossen ist. Das SDK sendet mithilfe von NotificationManager. Sie können Ihre eigene Fortschrittsanzeige hinzufügen, indem Sie einen onProgressUpdate -Handler an die updateIfNewReleaseAvailable Aufgabe anfügen.

Sie können updateIfNewReleaseAvailable() an jeder Stelle in Ihrer App aufrufen. Beispielsweise können Sie updateIfNewReleaseAvailable() während der Methode onResume() der MainActivity aufrufen:

Öffnen Sie MainActivity.kt und erstellen Sie die Methode onResume() wie folgt:

MainActivity.kt

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

Lassen Sie uns nun die Methode checkForUpdate() implementieren.

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. Erstellen Sie Tester und laden Sie sie ein, Ihre App herunterzuladen

In diesem Schritt erstellen Sie Ihre App und testen Ihre Implementierung, indem Sie den Build mithilfe der Firebase-Konsole an Tester verteilen .

Erstellen Sie Ihre Anwendung

Wenn Sie bereit sind, eine Vorabversion Ihrer App an Tester zu verteilen, erstellen Sie Ihr APK mit Ihrem normalen Prozess. Sie müssen das APK mit Ihrem Debug-Schlüssel oder App-Signaturschlüssel signieren.

Verteilen Sie Ihre App an Tester

Um Ihre App an Tester zu verteilen, laden Sie die APK-Datei über die Firebase-Konsole hoch:

  1. Öffnen Sie die Seite „App-Verteilung“ der Firebase-Konsole. Wählen Sie Ihr Firebase-Projekt aus, wenn Sie dazu aufgefordert werden.
  2. Wählen Sie auf der Seite Releases die App, die Sie verteilen möchten, aus dem Dropdown-Menü aus.

623460c3c8a82ce6.png

  1. Klicken Sie auf Erste Schritte

bf503b25066ff4a4.png

  1. Ziehen Sie die APK-Datei Ihrer App auf die Konsole, um sie hochzuladen.
  2. Geben Sie nach Abschluss des Uploads die Testergruppen und einzelnen Tester an, die den Build erhalten sollen. (Fügen Sie Ihre E-Mail-Adresse hinzu, um die Einladung zu erhalten.) Fügen Sie dann Versionshinweise für den Build hinzu. Weitere Informationen zum Erstellen von Testergruppen finden Sie unter Tester hinzufügen und entfernen .

3343048f0930e84b.png

  1. Klicken Sie auf Verteilen , um den Build Testern zur Verfügung zu stellen.

2be58fe195928bf9.png

In der Firebase-Konsole können Sie jetzt die Tester sehen, die Sie unter der Version Ihrer App hinzugefügt haben.

9935a41810344c61.png

Da Sie Ihre E-Mail-Adresse angegeben haben, erhalten Sie eine E-Mail von Firebase App Distribution, in der Sie zum Testen der App eingeladen werden. Sie sind jetzt der erste Tester! Befolgen Sie die Anweisungen unter Akzeptieren Sie die Einladung, um sich als Tester auf Ihrem Testgerät einzurichten.

Die Einladung akzeptieren

Sie müssen zuerst die Einladung annehmen, um die Version herunterzuladen und zu testen.

  1. Öffnen Sie auf Ihrem Android-Testgerät die von Firebase App Distribution gesendete E-Mail und tippen Sie auf Erste Schritte .
  2. Melden Sie sich in der angezeigten Firebase App Distribution Tester-Web-App mit Ihrem Google-Konto an und tippen Sie auf Einladung annehmen. Sie können jetzt die Version sehen, zu der Sie eingeladen wurden.

c18cb684f8e82ad6.png

Laden Sie die Version vom Testgerät herunter

Wenn Sie zur Codelab-App AppDistribution navigieren, können Sie sehen, dass die Version zum Herunterladen bereit ist.

5414d9a536f25ece.png

  1. Tippen Sie auf Download , installieren Sie die App und führen Sie sie aus!
  2. Wenn die App startet, werden Sie aufgefordert, neue Build-Warnungen zu aktivieren. Tippen Sie auf Einschalten .

b059e09acaa4779f.png

  1. Melden Sie sich mit Ihrem Tester-Konto an.

22e0b52f771c060d.png

Sie kehren zur App zurück. Wenn Sie die App das nächste Mal ausführen, müssen Sie sich nicht anmelden oder Benachrichtigungen akzeptieren

c9f33df16a2680d.png

Verteilen Sie ein Update an Ihre Tester

  1. Aktualisieren Sie Ihren Versionsnamen auf „1.1“ und Ihren Versionscode auf 2 in der Gradle-Datei Ihres Moduls (auf App-Ebene) (normalerweise app/build.gradle).
  2. Erstellen Sie Ihr APK mit Ihrem normalen Prozess. Sie müssen das APK mit Ihrem Debug-Schlüssel oder App-Signaturschlüssel signieren.
  3. Laden Sie dieses neue APK in Ihre Firebase-Konsole hoch, fügen Sie Ihre E-Mail-Adresse erneut als Tester hinzu und klicken Sie auf Verteilen .

2dfa702edfdce6b8.png

Benachrichtigungen zum Testen von Builds

  1. Stellen Sie sicher, dass Sie die App geschlossen haben, falls sie geöffnet war.
  2. Starten Sie die Anwendung neu.
  3. Wenn die App neu gestartet wird, erhalten Sie eine Benachrichtigung „Neue Version verfügbar“.

987e3d0ba4e56f84.png

  1. Um die neueste Version zu erhalten, klicken Sie auf Aktualisieren .
  2. Wenn Sie dazu aufgefordert werden, wählen Sie die Option zum Aktivieren von Installationen aus unbekannten Quellen.
  3. Klicken Sie im nächsten Bildschirm auf Installieren (oder Aktualisieren ).

a7c7cd15d60bc764.png

  1. Herzliche Glückwünsche! Sie konnten Ihre App mit den integrierten Benachrichtigungen aktualisieren.

7. Passen Sie die Tester-Anmeldung an

Die Methoden signInTester/signOutTester und isTesterSignedIn bieten Ihnen mehr Flexibilität beim Anpassen der Anmeldeerfahrung Ihres Testers, damit sie besser zum Erscheinungsbild Ihrer App passt.

Im folgenden Beispiel wird überprüft, ob sich der Tester bereits bei seinem Firebase App Distribution-Testerkonto angemeldet hat, sodass Sie Ihre Anmeldebenutzeroberfläche nur für Tester anzeigen können, die sich noch nicht angemeldet haben. Nachdem sich der Tester angemeldet hat, können Sie dies tun Rufen Sie checkForUpdate auf, um zu prüfen, ob der Tester Zugriff auf einen neuen Build hat.

Deaktivieren wir die automatische Überprüfung von Updates in onResume , indem wir den Aufruf checkForUpdate() auskommentieren .

MainActivity.kt

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

Stattdessen ist checkForUpdate() bereits im OnClickListener von updatebutton hinzugefügt.

Lassen Sie uns nun unsere Methode signIn() implementieren, die den Benutzer anmeldet, wenn er abgemeldet ist, oder den Benutzer abmeldet, wenn er bereits angemeldet ist.

MainActivity.kt

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

Schließlich implementieren wir die isTesterSignedIn -Methode.

MainActivity.kt

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

Erstellen und testen Sie Ihre Implementierung

8. Herzlichen Glückwunsch!

Sie haben die Funktion „In-App-Benachrichtigungsanzeige“ mithilfe des Firebase App Distribution Android SDK in eine App integriert.

Was wir abgedeckt haben

  • Firebase-App-Verteilung
  • Firebase App Distribution Neue Benachrichtigungen Android SDK

Nächste Schritte

Lern mehr

Eine Frage haben?

Probleme melden