Benutzerdefinierte Tabs sind eine Funktion in Android-Browsern, mit der App-Entwickler direkt in ihrer App einen benutzerdefinierten Browser hinzufügen können.
Das Laden von Webinhalten ist seit den Anfängen von Smartphones ein Bestandteil von mobilen Apps. Ältere Optionen können jedoch Herausforderungen für Entwickler darstellen. Das Starten des eigentlichen Browsers ist ein großer Kontextwechsel für Nutzer, der nicht anpassbar ist. WebViews unterstützen nicht alle Funktionen der Webplattform, teilen keinen Status mit dem Browser und verursachen zusätzlichen Wartungsaufwand.
Mit benutzerdefinierten Tabs können Nutzer beim Surfen in der App bleiben. Das steigert das Nutzer-Engagement und verringert das Risiko, dass Nutzer die App verlassen. Benutzerdefinierte Tabs werden direkt vom bevorzugten Browser des Nutzers unterstützt und geben automatisch den Status und die angebotenen Funktionen weiter. Sie müssen keinen benutzerdefinierten Code schreiben, um Anfragen, Berechtigungsgrants oder Cookie-Speicher zu verwalten.
Was können benutzerdefinierte Tabs?
Wenn Sie einen benutzerdefinierten Tab verwenden, werden Ihre Webinhalte in dem Rendering-Engine geladen, das der bevorzugte Browser des Nutzers verwendet. Alle API- oder Webplattformfunktionen sind dort und auf Ihrem benutzerdefinierten Tab verfügbar. Die Browsersitzungen, gespeicherten Passwörter, Zahlungsmethoden und Adressen werden wie gewohnt angezeigt.
Was kann ich auf einem benutzerdefinierten Tab anpassen?
Sehr wichtig! Mit benutzerdefinierten Tabs haben Sie eine detaillierte Kontrolle über viele Browserelemente und die Nutzererfahrung. In Ihrer App starten Sie einen benutzerdefinierten Tab mit einem Intent. Wenn dieser Intent aufgerufen wird, können Sie dem CustomTabIntent eine Reihe von Attributen hinzufügen, um die gewünschte Funktionsweise zu erzielen. Hier sind einige Anpassungen aufgeführt, die Sie hinzufügen können:
- Benutzerdefinierte Ein- und Ausblendungsanimationen, die zum Rest Ihrer App passen
- Symbolleiste an das Branding Ihrer App anpassen
- Farbkonsistenz, die in Ihrer App erhalten bleibt, auch wenn zwischen hellem und dunklem Design gewechselt wird
- Benutzerdefinierte Aktionen und Einträge in der Symbolleiste und in den Menüs des Browsers
- Sie können die Starthöhe des benutzerdefinierten Tabs festlegen und so z. B. Ihre Videos streamen, während Sie mit Ihrem Webshop interagieren.
Außerdem können Nutzer einen benutzerdefinierten Tab minimieren, um mit der zugrunde liegenden App zu interagieren, und ihn jederzeit wiederherstellen, ohne dass der Fortschritt verloren geht. So haben Nutzer die Möglichkeit, den benutzerdefinierten Tab zu schließen, um nahtlos zwischen dem Web und der nativen App zu wechseln. Die Funktion ist für benutzerdefinierte Tabs standardmäßig aktiviert.
Das ist bei weitem nicht alles. Benutzerdefinierte Tabs sind sehr leistungsfähig und werden derzeit aktiv weiterentwickelt. Jeder Browser muss diese Funktionen unterstützen, sobald sie verfügbar sind. Fast alle Browser werden in gewissem Maße unterstützt. Es ist jedoch wichtig zu wissen, was in den Browsern Ihrer Nutzer möglicherweise verfügbar ist und was nicht. In der Tabelle zum Vergleich der Funktionen sehen Sie schnell, welche Funktionen in den gängigen Android-Browsern verfügbar sind.
Sie können das jetzt mit unserem Beispiel auf GitHub testen.
Wann sollte ich benutzerdefinierte Tabs verwenden?
Es gibt nicht nur eine einzige, „richtige“ Art, Webinhalte zu laden. In bestimmten Situationen ist WebView die richtige Technologie. Das ist beispielsweise der Fall, wenn Sie ausschließlich eigene Inhalte in Ihrer App hosten oder JavaScript direkt aus Ihrer App einschleusen müssen. Wenn Ihre App Nutzer zu URLs außerhalb von Domains weiterleitet, sind benutzerdefinierte Tabs aufgrund des integrierten gemeinsamen Zustands wahrscheinlich die bessere Wahl. Weitere Vorteile von benutzerdefinierten Tabs:
- Sicherheit: In benutzerdefinierten Tabs wird Google Safe Browsing verwendet, um Nutzer und das Gerät vor gefährlichen Websites zu schützen.
- Leistungsoptimierung:
- Der Browser wird im Hintergrund vorgewärmt, ohne der Anwendung Ressourcen zu stehlen.
- Die Seitenladezeit lässt sich verkürzen, indem URLs vorab spekulativ geladen werden.
- Lebenszyklusverwaltung: Apps, die einen benutzerdefinierten Tab starten, werden vom System während der Nutzung des Tabs nicht entfernt. Die Bedeutung des Tab „Benutzerdefiniert“ wird in den Vordergrund gestellt.
- Gemeinsamer Cookie-Jar und Berechtigungsmodell, sodass sich Nutzer nicht auf Websites anmelden müssen, mit denen sie bereits verbunden sind, und Berechtigungen nicht noch einmal gewähren müssen.
- Browserfunktionen wie das automatische Ausfüllen von Formularen sind bereits integriert.
- Nutzer können über eine integrierte Schaltfläche „Zurück“ zur App zurückkehren.
Benutzerdefinierte Tabs im Vergleich zu vertrauenswürdigen Web-Aktivitäten
Vertrauenswürdige Web-Aktivitäten erweitern das Custom Tabs-Protokoll und bieten die meisten seiner Vorteile. Anstatt eine benutzerdefinierte Benutzeroberfläche bereitzustellen, ermöglicht es Entwicklern, einen Browsertab ohne Benutzeroberfläche zu öffnen. Sie wird Entwicklern empfohlen, die ihre eigene progressive Web-App in ihrem eigenen Android-App-Fenster im Vollbildmodus öffnen möchten.
Wo sind benutzerdefinierte Tabs verfügbar?
Benutzerdefinierte Tabs sind eine Funktion, die von Browsern auf der Android-Plattform unterstützt wird. Sie wurde ursprünglich von Chrome in Version 45 eingeführt. Das Protokoll wird von den meisten Android-Browsern unterstützt.
Wir freuen uns auf Feedback, Fragen und Vorschläge zu diesem Projekt. Bitte melden Sie Probleme unter crbug.com und stellen Sie Fragen auf Twitter unter @ChromiumDev.
Erste Schritte
Neben der GitHub-Demo gibt es eine Reihe von Anleitungen, die Ihnen den Einstieg in benutzerdefinierte Tabs erleichtern.
- Erste Schritte
- Benutzeroberfläche anpassen
- Benutzerdefinierte Interaktivität hinzufügen
- Aufwärmen und Vorab-Abrufen: Custom Tabs-Dienst verwenden
- Multitasking mit teilweise benutzerdefinierten Tabs
- Nutzer-Engagement messen
Fragen finden Sie unter dem Tag chrome-custom-tabs auf StackOverflow.