Die Lage des Landes

Conn
Peter Conn

Es gibt eine große Auswahl an vertrauenswürdigen Web-Aktivitäten und es kann ziemlich schwierig sein, den Zusammenhang zwischen den Elementen und die richtige Vorgehensweise zu erkennen. In diesem Artikel möchten wir darauf eingehen.

Wenn Sie sich noch nicht mit vertrauenswürdigen Web-Aktivitäten auskennen oder einfach nur nach den empfohlenen Tools suchen, die Sie heute verwenden sollten, sollten Sie Folgendes beachten:

  • Bubblewrap: Ein NodeJS-Tool, mit dem Entwickler ein Android-APK erstellen und erstellen können, das eine vorhandene PWA umschließt. Die generierte Anwendung wird von Trusted Web Activitys unterstützt. Dies ist für den Entwickler jedoch transparent. Dafür sind keine Android-Entwicklungserfahrungen erforderlich. Informationen zum Einstieg finden Sie in der Bubblewrap-Dokumentation.
  • android-browser-helper: Eine Android-Bibliothek, die das Protokoll für vertrauenswürdige Webaktivitäten enthält. Empfohlen für Entwickler, die mit der Android-Entwicklung vertraut sind und vertrauenswürdige Webaktivitäten als eine der Aktivitäten in ihrer Android-App verwenden oder Anpassungen vornehmen möchten, die von Bubblewrap nicht unterstützt werden. Informationen zu den ersten Schritten mit android-browser-helper finden Sie in der Dokumentation und unseren Demos.

Der nächste Abschnitt enthält eine kurze Zusammenfassung aller Projekte in Relation zueinander. Zu guter Letzt gibt es noch einen Abschnitt über die Geschichte, in dem wir sehen, wie wir dorthin gekommen sind und was wir in naher Zukunft planen.

Übersicht über die Bibliotheken

Im Folgenden finden Sie eine kurze Zusammenfassung der einzelnen Bibliotheken, die Sie möglicherweise verwenden werden:

  • androidx.browser: Eine Android-Bibliothek zur Interaktion mit dem Browser, der auf dem Gerät des Nutzers installiert ist.
  • Der Android-Browserassistent, eine auf androidx.browser basierende Bibliothek für Trusted Web Activity-Clients mit praktischen Methoden und sinnvollen Standardeinstellungen.
  • Bubblewrap, ein Tool zum Erstellen von vertrauenswürdigen Webaktivitäten aus PWAs, ohne Java-Code zu ändern.

Zusätzlich ersetzt jedes dieser Bibliotheken/Tools eine ältere:

Verlauf

Android Support Library

Die Android Support Library erweitert die Android-Plattform um neue APIs und Kompatibilitätsfunktionen. Sie ist auf mehrere Pakete aufgeteilt, wobei die Support Library für benutzerdefinierte Tabs Funktionen für die Interaktion mit Browsern auf dem System des Nutzers enthält. Die Entwicklung der Support Library für benutzerdefinierte Tabs erfolgte hauptsächlich im GitHub-Repository custom-tabs-client. Die Änderungen wurden dann wieder in die Android-Supportbibliothek übertragen.

Ein benutzerdefinierter Tab ist eine Android-Aktivität, bei der in einem Browser eine Webseite angezeigt wird. Der Hauptvorteil für den Entwickler besteht darin, dass er einem Design zugeordnet werden kann und eine Schließen-Schaltfläche hat, sodass der Nutzer weiterhin in der App des Entwicklers verbleibt, anstatt die App zu verlassen und den gesamten Browser zu nutzen. Als Android API können benutzerdefinierte Tabs von jedem Browser unterstützt werden und den Standardbrowser des Nutzers verwenden. Dieser kann jedoch von Entwicklern überschrieben werden.

Vertrauenswürdige Web-Aktivitäten basieren auf benutzerdefinierten Tabs und wurden daher in der Bibliothek custom-tabs-client erstellt. Bei vertrauenswürdigen Webaktivitäten wird die obere Leiste für benutzerdefinierte Tabs entfernt, wenn der Nutzer eine Website besucht, die dem App-Entwickler gehört. Dies ermöglicht die nahtlose Integration Ihrer Website in eine native Android-App und kann zum Erstellen von Apps verwendet werden, bei denen alle Funktionen über das Web bereitgestellt werden.

AndroidX

Die Android Support Library wurde später in AndroidX umbenannt, was wiederum Teil einer größeren Bemühung zur Verbesserung der Entwicklerumgebung mit dem Namen JetPack ist. Daher mussten benutzerdefinierte Tabs und vertrauenswürdige Webaktivitäten aus der Support Library für benutzerdefinierte Tabs in die neue Version androidx.browser verschoben werden.

Ein Teil des Codes, den wir in custom-tabs-client geschrieben hatten, war für eine Bibliothek mit vertrauenswürdigen Web Activity-Hilfsklassen geeignet, jedoch nicht für eine Android-API. Code, mit dem nach veralteten Chrome-Versionen gesucht und der Nutzer aufgefordert wird, Daten zu aktualisieren oder Entscheidungen darüber zu treffen, wie Daten gespeichert werden sollen, konnte nicht in AndroidX verschoben werden. Daher haben wir eine alternative Bibliothek erstellt, die die Teile von custom-tabs-client enthält, die nicht in androidx.browser aufgenommen werden konnten. Daher wurde der Android-Browserassistent geboren.

Der Android-Browserassistent enthält Code, der speziell für Browser gilt – nicht nur für Chrome. Wir sind offen für Code speziell für andere Browser und können konkrete Entscheidungen treffen, die Bibliotheken nicht zulassen sollen. Wir haben diese Gelegenheit genutzt, um die Rollen dieser beiden Bibliotheken allgemein zu trennen:

  • androidx.browser enthält die grundlegenden Bausteine für die Interaktion mit Browsern auf dem System des Nutzers.
  • Der Android-Browserassistent enthält praktische und sinnvolle Standardimplementierungen.

Bootstrapping

Entwickelnde sind vielbeschäftigte Menschen mit viel Arbeit und Fristen. Um dies zu unterstützen, haben wir zwei Tools entwickelt, mit denen Nutzer ihre vertrauenswürdigen Web-Aktivitäten per Bootstrapping durchführen können.

Das erste (und älteste) ist svgomg-twa, ein von GitHub gehostetes Android-Projekt, das eine vertrauenswürdige Webaktivität startet. Ursprünglich war es ein Demoprojekt, das sich dann eher als Vorlage entwickelt hat. Nutzer können dieses Repository klonen und die Datei build.gradle so ändern, dass sie auf ihre eigene Website verweist, sie erstellen und eine vertrauenswürdige Webaktivität erzeugen, ohne Java-Code zu ändern. Die Bestätigung von Digital Asset Links ist mit größerem Aufwand verbunden. Weitere Informationen

Anfangs hing svgomg-twa von custom-tabs-client ab, wechselte dann aber in den Android-Browserassistenten (und vorübergehend auf androidx.browser).

Das neueste Tool ist Bubblewrap, ein Node.js-Tool, das aus Ihrem Web-App-Manifest eine vertrauenswürdige Webaktivität generiert. Das ist die einfachste Möglichkeit, eine vertrauenswürdige Webaktivität aus einer vorhandenen PWA zu erstellen. Dafür sind keine Kenntnisse in der Android-Entwicklung erforderlich.

In der nahen Zukunft

svgomg-twa wird aus zwei Gründen eingestellt:

  • Bubblewrap generiert im Wesentlichen ein ausgefülltes svgomg-twa für einen Entwickler. Dies erfolgt interaktiv und kann die Konfiguration aus einem Web-App-Manifest übernehmen, das eine PWA wahrscheinlich bereits hat.
  • Entwickler, die wissen möchten, wie sie ihr eigenes Trusted Web Activity-Projekt von Grund auf neu starten, können im demos-Verzeichnis der Android Browser Helpers nachlesen.

Neue Entwickler sollten stattdessen Bubblewrap verwenden, um ihr Projekt zu generieren. Wenn Sie svgomg-twa bereits verwenden und umfangreiche Änderungen vorgenommen haben, können Sie dies auch weiterhin tun. Allerdings erhalten Sie dann keine Updates.

Wir planen, Bubblewrap so effektiv wie möglich zu gestalten. Wenn also eine offensichtliche Funktion fehlt oder Sie auf einen Fehler stoßen, können Sie ein Problem erstellen.