Zum Hauptinhalt springen




Cómo se pueden usar diferentes componentes para renderizar Inhalt Netz dentro de las aplicaciones de Android.


Aktualisiert

La plataforma Android ha existido por más de diez años y desde sus inicios ha tenido un gran soporte para la Web. Se envió con WebView, un componente que permite a los desarrolladores usar la web dentro de sus propias aplicaciones de Android. Más que eso, Android permite a los desarrolladores traer su propio motor de Browser a la plataforma, fomentando la competencia y la innovación.

Los desarrolladores pueden incluir la web en sus aplicaciones de Android de muchas formas. WebView se usa con frecuencia para representar anuncios, como un componente de diseño que se usa junto con elementos nativos de la Benutzeroberfläche o para empaquetar juegos HTML 5. Las pestañas personalizadas permiten a los desarrolladores crear Browser en la aplicación y proporcionar una experiencia de navegación perfecta para el contenido web de terceros, y Trusted Web Activity permite a los desarrolladores usar sus aplicaciones web progresivas (PWA) en aplicaciones de Android, que se pueden descargar desde Play Store. .

Android WebView

WebView brinda a los desarrolladores acceso a HTML, CSS y JavaScript modernos dentro de sus aplicaciones de Android, y permite que el contenido se envíe dentro del APK o se aloje en Internet. Es uno de los componentes más flexibles y potentes de Android, que se puede utilizar para la mayoría de los casos de uso en los que se incluye contenido web en una aplicación de Android. Desde impulsar servicios publicitarios como AdMob hasta crear y enviar juegos HTML5 completos que utilizan API modernas como WebGL.

Wenn WebView jedoch zum Erstellen eines In-App-Browsers oder zum Einbetten einer PWA in eine Android-App verwendet wird, fehlen die Sicherheit, Funktionen und Fähigkeiten der Webplattform.

Die In-App-Browser-Herausforderung

Con el tiempo, más y más desarrolladores han creado experiencias de navegador incorporando contenido de terceros en su aplicación de Android, con el Ziel de crear una experiencia más fluida para sus usuarios cuando navegan a sitios web de terceros. Esas experiencias se conocieron como navegadores en la aplicación.

WebView tiene un amplio soporte para la pila de tecnología web moderna y es compatible con muchas API web modernas, como WebGL. Pero WebView es principalmente un conjunto de herramientas de interfaz de Nutzername web. Eso
ist nicht für alle Funktionen der Webplattform vorgesehen und unterstützt diese nicht. Cuando una API ya tiene una alternativa nativa, como Web Bluetoooth, o requiere que se implemente la interfaz de usuario del navegador, como Mitteilungen, es posible que no Sein compatible. A medida que la plataforma web evoluciona y agrega más funciones que solo estaban disponibles para aplicaciones nativas, esta brecha se hará aún mayor. Como los desarrolladores de aplicaciones no controlan qué funciones se utilizan al abrir contenido de terceros, WebView es una mala elección para los navegadores integrados en aplicaciones o para abrir aplicaciones web progresivas. Incluso si WebView implementara soporte para todas las características de la plataforma web, los desarrolladores aún necesitarían escribir código e implementar su propia interfaz de usuario para funcionalidades como permisos o notificaciones push, lo que dificulta la coherencia para los usuarios.

Eine weitere Option, die Entwicklern zur Verfügung steht, besteht darin, eine Browser-Engine in Ihre Anwendung einzubetten. Dieser Ansatz führt nicht nur zu einer größeren Anwendungsgröße, sondern ist auch komplex und zeitaufwändig.

Benutzerdefinierte Registerkarten als Lösung für integrierte Browser in Anwendungen

Ära der benutzerdefinierten Registerkarten eingeführt in Chrome 45 und ermöglicht Entwicklern, eine Registerkarte aus dem Standardbrowser des Benutzers als Teil ihrer Anwendung zu verwenden. Benutzerdefinierte Registerkarten wurden ursprünglich von Chrome veröffentlicht und wurden daher als "Benutzerdefinierte Chrome-Registerkarten" bezeichnet. Heute ist ein Android API Die gängigsten Browser unterstützen benutzerdefinierte Registerkarten, einschließlich Chrome, Firefox, Edge und Samsung Internet. Daher ist es besser, sie einfach als "benutzerdefinierte Registerkarten" zu bezeichnen.

Mithilfe von benutzerdefinierten Registerkarten können Entwickler Webinhalte nahtlos in ihre App-Erfahrung integrieren. Außerdem können Entwickler die Aktivität anpassen, in der Webinhalte angezeigt werden, indem sie die Farbe der Symbolleiste, der Aktionsschaltflächen, der Übergangsanimation und mehr anpassen können.

Sie bieten auch Funktionen, die zuvor bei Verwendung von WebView oder der Integration einer Browser-Engine nicht verfügbar waren. Da der Browser der App mit dem Browser des Benutzers zusammenarbeitet, teilen sich benutzerdefinierte Registerkarten den Speicher mit dem Browser, sodass Benutzer sich nicht jedes Mal wieder bei ihren bevorzugten Websites anmelden müssen, wenn eine ihrer installierten Apps eine Browsersitzung in der Anwendung startet.

Im Gegensatz zu WebViews unterstützen benutzerdefinierte Registerkarten alle Funktionen und APIs der Webplattform, die von dem Browser unterstützt werden, der sie unterstützt.

Öffnen Sie progressive Webanwendungen mithilfe vertrauenswürdiger Webaktivitäten

Progressive Webanwendungen bieten viele Verhaltensweisen und Funktionen, die bisher nur nativen Anwendungen im Web zur Verfügung standen. Mit der Einführung eines App-ähnlichen Verhaltens wuchs der Wunsch der Entwickler, diese Erfahrungen auf Android wiederzuverwenden, und die Entwickler fragten nach Möglichkeiten, PWAs in ihre Apps zu integrieren.

Custom Tabs tiene soporte para todas las capacidades web modernas y API pero, dado que fue diseñado principalmente para abrir contenido de terceros, tiene una barra de herramientas en la parte superior que les dice a los usuarios qué Url están visitando, así como el ícono de candado que indica si el sitio es seguro. Al abrir la propia experiencia de una aplicación, la barra de herramientas evita que la aplicación se sienta como si estuviera integrada con el sistema operativo.

Vertrauenswürdige Webaktivitäten Es wurde in Chrome 72 eingeführt und ermöglicht Entwicklern, seine PWA in einer Android-Anwendung zu verwenden. Das Protokoll ähnelt dem Protokoll für benutzerdefinierte Registerkarten, führt jedoch APIs ein, mit denen Entwickler (über) überprüfen können Links zu digitalen Assets), die sowohl die Android-App als auch die geöffnete URL steuern und die URL-Leiste entfernen, wenn beide wahr sind.

Sie führten auch eine API ein, um Begrüßungsbildschirme beim Öffnen der PWA oder beim Delegieren von Webbenachrichtigungen zu erstellen, die von nativem Code verarbeitet werden sollen. Weitere Funktionen werden in Kürze verfügbar sein, z. B. die Unterstützung für die Abrechnung von Spielen.

Da URLs, die in vertrauenswürdigen Webaktivitäten geöffnet werden, voraussichtlich PWAs sind und eine Reihe von Verhaltensweisen und Leistungsmerkmalen aufweisen, werden in vertrauenswürdigen Webaktivitäten Qualitätskriterien für PWAs eingeführt, die in ihnen geöffnet werden.

Einschränkungen aktueller Lösungen

Das Feedback der Entwickler zeigte, dass Plattformunterstützung für benutzerdefinierte Registerkarten in Kombination mit der Flexibilität von WebView erforderlich ist, damit sie beispielsweise auf das DOM zugreifen oder JavaScript in ihre Browser innerhalb der Anwendung einfügen können.

Benutzerdefinierte Registerkarten sind effektiv eine Registerkarte, die vom Browser des Benutzers gerendert wird, mit einer benutzerdefinierten Benutzeroberfläche oder überhaupt keiner Benutzeroberfläche. Dies bedeutet, dass der Browser die Erwartungen des Benutzers an Datenschutz und Sicherheit gegenüber dem Browser erfüllen muss, was einige dieser Funktionen unmöglich macht.

El equipo de Web on Android en Google está buscando alternativas y experimentando con soluciones para resolver esos casos de uso. ¡Estén atentos para más detalles!

Zusammenfassung

WebView ist nützlich, wenn eine Anwendung HTML, CSS und JavaScript in ihrer Android-Anwendung benötigt, jedoch keine erweiterten Funktionen und Fähigkeiten verwendet, die im modernen Web verfügbar sind, wie z. B. Push-Benachrichtigungen, Bluetooth Web und andere. Es wird nicht empfohlen, Inhalte zu öffnen, die für die moderne Webplattform entwickelt wurden, da sie möglicherweise nicht so angezeigt werden, wie es der Entwickler beabsichtigt hat. WebView wird nicht zum Erstellen von anwendungsintegrierten Browsern empfohlen. Auf der anderen Seite ist das Anzeigen von Webinhalten aus der ersten Person ein Bereich, in dem WebViews wirklich glänzen.

Vertrauenswürdige Webaktivität sollte verwendet werden, wenn Entwickler ihre eigene progressive Webanwendung im Vollbildmodus in ihrer Android-Anwendung rendern möchten. Es kann als einzige Aktivität in der App oder in Verbindung mit anderen nativen Aktivitäten verwendet werden.

Benutzerdefinierte Registerkarten sind die empfohlene Methode zum Öffnen von Inhalten von Drittanbietern, die für die Webplattform entwickelt wurden und auch als In-App-Browser bezeichnet werden.