Unterstützte Browser

Patrick Kettner
Patrick Kettner

Benutzerdefinierte Tabs sind eine gute Möglichkeit, direkt in Ihrer App einen personalisierten Browser zu erstellen. Sie sind jedoch nicht die einzige Option. Benutzerdefinierte Tabs basieren auf dem Intent-System und bestehen aus einer Reihe konfigurierbarer Optionsanfragen, die an den bevorzugten Browser des Endnutzers gesendet werden. Die Implementierung der verschiedenen Optionen liegt in der Verantwortung der einzelnen Browser. Die Verfügbarkeit von Funktionen für benutzerdefinierte Tabs kann aufgrund von Implementierungsunterschieden zwischen Android-Browsern variieren.

Im Folgenden finden Sie einen Vergleich einiger Browser im Android-Ökosystem. Die meisten Browser auf Android werden unterstützt. Die Tabellen sind nicht vollständig, sondern sollen die Wahrscheinlichkeit für den jeweiligen Supportgrad veranschaulichen. Sie sollten die Standardbrowser der Nutzer Ihrer App recherchieren und darauf achten, dass Sie sicherheitsorientiert programmieren.

CustomTabsIntent.Builder

Mit CustomTabsIntent.Builder können Sie benutzerdefinierte Tabs erstellen. Sie haben verschiedene Möglichkeiten, Ihren benutzerdefinierten Tab mithilfe der folgenden integrierten Methoden so zu konfigurieren, dass er so nahtlos wie möglich in Ihre App integriert wird.

addDefaultShareMenuItem()

Mit addDefaultShareMenuItem() wird der Symbolleiste für benutzerdefinierte Tabs eine Standard-Schaltfläche zum Teilen hinzugefügt, über die Nutzer die aktuelle Webseite über verschiedene Apps auf ihrem Gerät teilen können.

addMenuItem()

Hiermit wird ein Menüpunkt hinzugefügt.

Links ein Smartphone mit einer App, in der „addMenuItem()“ verwendet wird, und rechts ein anderes Smartphone ohne API

addToolbarItem()

Dem benutzerdefinierten Tab wird eine Aktionsschaltfläche hinzugefügt. So können mehrere Schaltflächen hinzugefügt werden.

enableUrlBarHiding()

Die URL-Leiste wird ausgeblendet, wenn der Nutzer auf der Seite nach unten scrollt.

setActionButton()

Hiermit wird die Aktionsschaltfläche festgelegt, die in der Symbolleiste mit dem standardmäßigen Tönungsverhalten angezeigt wird.

Links ein Smartphone mit einer App, in der setActionButton()() verwendet wird, und rechts ein anderes Smartphone ohne API

setCloseButtonIcon()

Hiermit wird eine benutzerdefinierte Schaltfläche zum Schließen festgelegt, die in der Symbolleiste angezeigt wird.

Links ein Smartphone mit einer App, in der setCloseButtonIcon() verwendet wird, und rechts ein anderes Smartphone ohne die API

setCloseButtonPosition()

Hier legen Sie das Symbol für die Schaltfläche „Schließen“ für den benutzerdefinierten Tab fest.

Links ein Smartphone mit einer App, in der setCloseButtonPosition() verwendet wird, und rechts ein anderes Smartphone ohne die API

setColorScheme()

Hier legen Sie das Farbschema fest, das auf der Benutzeroberfläche auf dem Tab „Benutzerdefiniert“ angewendet werden soll.

Links ein Smartphone mit einer App, in der setColorScheme() verwendet wird, und rechts ein anderes Smartphone ohne die API

setColorSchemeParams()

Hier legen Sie das Farbschema fest, das auf der Benutzeroberfläche auf dem Tab „Benutzerdefiniert“ angewendet werden soll.

Links ein Smartphone mit einer App, in der setColorSchemeParams() verwendet wird, und rechts ein anderes Smartphone ohne die API

setDefaultColorSchemeParams()

Legt CustomTabColorSchemeParams() für das angegebene Farbschema fest. So können Sie zwei verschiedene Symbolleistenfarben für helle und dunkle Designs festlegen.

Links ein Smartphone mit einer App, in der setDefaultColorSchemeParams() verwendet wird, und rechts ein anderes Smartphone ohne die API

setDefaultShareMenuItemEnabled()

Legen Sie fest, ob dem Menü ein Standardelement für die Freigabe hinzugefügt wird.

setExitAnimations()

Hier legen Sie alle Ausgangsanimationen fest.

setInitialActivityHeightPx()

Hiermit wird die ursprüngliche Höhe der Aktivität des benutzerdefinierten Tabs in Pixeln mit dem standardmäßigen Verhalten für die Größenänderung festgelegt. Der benutzerdefinierte Tab verhält sich wie ein Infofeld. Dies wird oft als teilweiser benutzerdefinierter Tab bezeichnet.

Links ein Smartphone mit einer App, in der setInitialActivityHeightPx() verwendet wird, und rechts ein anderes Smartphone ohne die API

setNavigationBarColor()

Hier legen Sie die Farbe der Navigationsleiste fest. Hat keine Auswirkungen auf API-Versionen unter L.

setNavigationBarDividerColor()

setSecondaryToolbarColor()

Legt die Farbe der sekundären Symbolleiste fest.

setShareState()

Legt den Freigabestatus fest, der auf den benutzerdefinierten Tab angewendet werden soll.

Links ein Smartphone mit einer App, die setShareState() verwendet, und rechts ein anderes Smartphone ohne die API

setShowTitle()

Hier legen Sie fest, ob der Titel auf dem Tab „Benutzerdefiniert“ angezeigt werden soll.

Links ein Smartphone mit einer App, in der setShowTitle() verwendet wird, und rechts ein anderes Smartphone ohne die API

setStartAnimations()

Hier legen Sie die Startanimationen fest.

setToolbarColor()

Hier legen Sie die Farbe der Symbolleiste fest. Unter Android L und höher wird diese Farbe auch auf die Statusleiste angewendet.

setToolbarCornerRadiusDp()

Hiermit legen Sie die Radien der oberen Ecken der Symbolleiste in dp fest.

setUrlBarHidingEnabled()

Legen Sie fest, ob die URL-Leiste ausgeblendet werden soll, wenn der Nutzer auf der Seite nach unten scrollt.

CustomTabsClient

CustomTabsClient ist eine optionale Klasse, um mit einer CustomTabsService zu kommunizieren und daraus CustomTabsSession zu erstellen.

warmup()

Browserprozess vorwärmen

CustomTabsSession

CustomTabsSession ist eine optionale Klasse, die du einer Instanz von CustomTabsIntent.Builder() hinzufügen kannst. Mit dieser Klasse kannst du die Kommunikation mit dem benutzerdefinierten Tab verwalten.

setEngagementSignalsCallback()

Hiermit wird eine EngagementSignalsCallback festgelegt, um Callbacks für Ereignisse zu erhalten, die sich auf die Interaktion des Nutzers mit der Webseite auf dem Tab beziehen.

isEngagementSignalsApiAvailable()

Gibt zurück, ob die Engagement Signals API verfügbar ist. Die Verfügbarkeit der Engagement Signals API kann sich zur Laufzeit ändern.

mayLaunchUrl()

Informiert den Browser über eine wahrscheinliche zukünftige Navigation zu einer URL. Die wahrscheinlichste URL muss zuerst angegeben werden. Optional kann eine Liste anderer wahrscheinlicher URLs angegeben werden. Sie werden als weniger wahrscheinlich eingestuft als die erste und müssen in absteigender Prioritätsreihenfolge sortiert werden. Diese zusätzlichen URLs werden möglicherweise ignoriert. Alle vorherigen Aufrufe dieser Methode werden herabgestuft.