Die Lage des Landes

Peter Conn
Peter Conn

Es gibt eine Vielzahl von Ökosystemen rund um vertrauenswürdige Webaktivitäten und es kann ziemlich schwierig sein, um zu sehen, wie alles zusammenhängt und was Sie verwenden sollten. Mit diesem Artikel möchten wir eine Lösung für dieses Problem finden.

Egal, ob Sie neu im Bereich vertrauenswürdige Webaktivitäten sind oder einfach nach den empfohlenen Tools suchen, sollten Sie Folgendes beachten:

  • Bubblewrap: Ein NodeJS-Tool, mit dem Entwickler ein Android-APK erstellen und entwickeln können, das umschließt eine vorhandene PWA. Die generierte Anwendung basiert auf vertrauenswürdigen Webaktivitäten, dies ist jedoch für die Entwickler. Dafür sind keine Kenntnisse in der Android-Entwicklung erforderlich. Lesen Sie die Bubblewrap-Dokumentation, um loszulegen.
  • android-browser-helper: Android-Bibliothek, die die vertrauenswürdigen Webaktivitäten enthält Protokoll. Empfohlen für Entwickler, die mit der Android-Entwicklung vertraut sind und die Funktion „Trusted Web“ verwenden möchten Aktivitäten als eine der Aktivitäten in ihrer Android-App oder Anpassungen vornehmen, die nicht unterstützt von Bubblewrap. Informationen zu den ersten Schritten mit „android-browser-helper“ finden Sie in der Dokumentation und in unseren Demos.

Der nächste Abschnitt enthält eine kurze Zusammenfassung aller Projekte im Zusammenhang miteinander. Für alle Wissbegierigen gibt es einen Geschichtsabschnitt, in dem Sie sehen können, wie wir hierher gekommen sind und wohin wir gekommen sind. in naher Zukunft.

Übersicht über die Bibliotheken

Hier ist eine kurze Zusammenfassung in einem Satz über jede der Bibliotheken, die Sie letztendlich verwenden werden:

  • androidx.browser, eine Android-Bibliothek für die Interaktion mit dem Browser, der auf dem .
  • Android Browser Helper, eine auf androidx.browser basierende Bibliothek für vertrauenswürdige Webaktivitäten mit praktischen Methoden und sinnvollen Standardeinstellungen.
  • Bubblewrap: Ein Tool zum Erstellen vertrauenswürdiger Webaktivitäten aus PWAs, ohne Java zu berühren Code.

Außerdem ersetzt jede dieser Bibliotheken/Tools eine ältere:

Verlauf

Android Support Library

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

Ein benutzerdefinierter Tab ist eine Android-Aktivität, bei der eine Webseite in einem Browser angezeigt wird. Der Hauptvorteil für Entwickler besteht darin, dass sie thematisch gestaltet sein kann und über eine Schließen-Schaltfläche verfügt, bleibt in der App des Entwicklers, anstatt die App zu verlassen Nutzererfahrung). Als Android-API können benutzerdefinierte Tabs von jedem Browser unterstützt werden und es wird die Standardeinstellung des Nutzers verwendet Browser (dies kann jedoch von Entwicklern überschrieben werden).

Da vertrauenswürdige Webaktivitäten auf benutzerdefinierten Tabs aufbauen, haben sie ihren Ursprung in custom-tabs-client-Bibliothek. Bei vertrauenswürdigen Web-Aktivitäten wird die obere Leiste der benutzerdefinierten Tabs entfernt, wenn der Nutzer eine Website des App-Entwickler. Dies öffnet die Türen zur nahtlosen Integration Ihrer Website in eine native Android-App und kann zur Erstellung von Apps verwendet werden, bei denen sämtliche Funktionen über das Web bereitgestellt werden.

AndroidX

Die Android Support Library wurde später in AndroidX umbenannt und ist Teil eines größeren Bemühungen zur Verbesserung der Entwicklerumgebung namens JetPack. Daher mussten benutzerdefinierte Tabs und vertrauenswürdige Webaktivitäten von der Supportbibliothek für benutzerdefinierte Tabs zu den neuen androidx.browser.

Ein Teil des Codes, den wir in Custom-Tabs-Client geschrieben hatten, war für eine Bibliothek von Trusted-Programmen Web Activity-Hilfsklassen, aber nicht für eine Android API Code, mit dem nach veralteten Chrome-Versionen gesucht wird und der Nutzer aufgefordert wird, zu aktualisieren oder Entscheidungen darüber, wie Daten gespeichert werden sollten, konnten nicht in AndroidX verschoben werden. Daher haben wir eine alternative Bibliothek erstellt, die diese Teile von custom-tabs-client enthält, die nicht auf androidx.browser zugreifen konnte, deshalb entstand die Android Browser Helper.

Der Android Browser Helper wurde entwickelt, um Code zu enthalten, der speziell für den Browser, nicht aber Chrome unterstützt, sind wir offen für Code, der speziell für andere Browser entwickelt wurde, und können konkrete Entscheidungen was Bibliotheken nicht tun sollten. Wir haben diese Gelegenheit genutzt, um die Rollen dieser beiden Bibliotheken generell zu trennen:

  • androidx.browser enthält die grundlegenden Bausteine für die Interaktion mit Browsern auf der im System der Nutzenden.
  • Der Android Browser Helper enthält praktisch zu bedienende und sinnvolle Standardimplementierungen.

Bootstrapping

Entwickelnde sind vielbeschäftigte Menschen, die viel zu tun haben und entsprechende Fristen einhalten müssen. Um dies zu unterstützen, haben wir zwei Tools entwickelt, mit denen Nutzer ihre vertrauenswürdigen Web-Aktivitäten Bootstrapping ausführen können.

Das erste (und älteste) Projekt ist svgomg-twa, ein auf GitHub gehostetes Android-Projekt, das ein Vertrauenswürdige Webaktivität. Es war ursprünglich als Demoprojekt konzipiert, das dann eher zu einer Vorlage wurde. Nutzer können dieses Repository klonen und die Datei build.gradle so ändern, dass sie auf ihre eigene Website verweist. erstellen und eine vertrauenswürdige Web-Aktivität erzeugen, ohne Java-Code zu berühren. Die Bestätigung der Digital Asset Links ist mit mehr Aufwand verbunden. Weitere Informationen findest du hier.

svgomg-twa begann mit dem Client „custom-tabs-client“, ist dann aber in der Android-App verfügbar. Browser Helper (und vorübergehend androidx.browser).

Das neueste und innovativste Tool ist Bubblewrap, ein Node.js-Tool, mit dem Sie Ihre Webanwendung Manifest und eine vertrauenswürdige Webaktivität für dich generieren. Dies ist die einfachste Methode, um eine vertrauenswürdige Webaktivität aus einer vorhandenen PWA zu erstellen. Sie müssen dazu nicht alles Wissenswerte über Android-Entwicklung.

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 geschieht interaktiv und kann die Konfiguration aus einem Web-App-Manifest übernehmen, das eine PWA ist. wahrscheinlich bereits).
  • Wenn Entwickler wissen möchten, wie sie ihr eigenes Projekt für vertrauenswürdige Webaktivitäten starten können, können sie sich das demos-Verzeichnis der Android Browser Helpers ansehen.

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 aber keine Updates erhalten.

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