Supporto del browser

Patrick Kettner
Patrick Kettner

Le schede personalizzate sono un'ottima opzione per creare un'esperienza di navigazione personalizzata direttamente all'interno della tua app, ma non sono un'opzione unica. Basate sul sistema Intent, le schede personalizzate sono una raccolta di richieste di opzioni configurabili inviate al browser preferito dell'utente finale. Spetta a ciascun browser implementare le varie opzioni. La disponibilità delle funzionalità di Custom Tabs può variare in base ai browser Android a causa di differenze di implementazione.

Di seguito è riportato un confronto di alcuni browser nell'ecosistema Android. La maggior parte dei browser su Android ha un qualche livello di supporto. Le tabelle non sono esaustive, ma sono indicative del livello di assistenza che potresti ricevere. Devi esaminare i browser predefiniti delle persone che utilizzano la tua app e assicurarti di scrivere codice in modo sicuro.

CustomTabsIntent.Builder

CustomTabsIntent.Builder crea schede personalizzate. Esistono diversi modi per configurare la scheda personalizzata in modo che si integri il più possibile con la tua app tramite una raccolta di metodi integrati, elencati di seguito.

addDefaultShareMenuItem()

addDefaultShareMenuItem() aggiunge un pulsante di condivisione predefinito alla barra degli strumenti di Custom Tabs, consentendo all'utente di condividere la pagina web corrente tramite varie app sul proprio dispositivo.

addMenuItem()

Aggiunge una voce di menu.

A sinistra, uno smartphone che mostra un'app che utilizza addMenuItem() e a destra un altro smartphone senza l'API

addToolbarItem()

Aggiunge un pulsante di azione alla scheda personalizzata. Con questo metodo è possibile aggiungere più pulsanti.

enableUrlBarHiding()

Consente di nascondere la barra degli URL quando l'utente scorre verso il basso nella pagina.

setActionButton()

Imposta il pulsante di azione visualizzato nella barra degli strumenti con il comportamento di colorazione predefinito.

A sinistra, uno smartphone che mostra un'app che utilizza setActionButton()() e a destra un altro smartphone senza l'API

setCloseButtonIcon()

Imposta il pulsante di chiusura personalizzato visualizzato nella barra degli strumenti.

A sinistra, uno smartphone che mostra un'app che utilizza setCloseButtonIcon() e a destra un altro smartphone senza l'API

setCloseButtonPosition()

Imposta l'icona del pulsante di chiusura per la scheda personalizzata.

A sinistra, uno smartphone che mostra un'app che utilizza setCloseButtonPosition() e, a destra, un altro smartphone senza l'API

setColorScheme()

Imposta la combinazione di colori da applicare all'interfaccia utente nella scheda personalizzata.

A sinistra, uno smartphone che mostra un'app che utilizza setColorScheme() e a destra un altro smartphone senza l'API

setColorSchemeParams()

Imposta la combinazione di colori da applicare all'interfaccia utente nella scheda personalizzata.

A sinistra, uno smartphone che mostra un'app che utilizza setColorSchemeParams() e a destra un altro smartphone senza l'API

setDefaultColorSchemeParams()

Imposta CustomTabColorSchemeParams() per la combinazione di colori specificata. In questo modo è possibile specificare due colori diversi per la barra degli strumenti per gli schemi chiaro e scuro.

A sinistra, uno smartphone che mostra un'app che utilizza setDefaultColorSchemeParams() e a destra un altro smartphone senza l'API

setDefaultShareMenuItemEnabled()

Imposta se al menu deve essere aggiunto un elemento di condivisione predefinito.

setExitAnimations()

Imposta eventuali animazioni di uscita.

setInitialActivityHeightPx()

Imposta l'altezza iniziale dell'attività della scheda personalizzata in pixel con il comportamento di ridimensionamento predefinito. La scheda personalizzata si comporterà come un riquadro in basso. Spesso viene definita scheda personalizzata parziale.

A sinistra, uno smartphone che mostra un'app che utilizza setInitialActivityHeightPx() e a destra un altro smartphone senza l'API

setNavigationBarColor()

Imposta il colore della barra di navigazione. Non ha alcun effetto sulle versioni dell'API precedenti alla L.

setNavigationBarDividerColor()

setSecondaryToolbarColor()

Imposta il colore della barra degli strumenti secondaria.

setShareState()

Imposta lo stato di condivisione da applicare alla scheda personalizzata.

A sinistra, uno smartphone che mostra un'app che utilizza setShareState() e a destra un altro smartphone senza l'API

setShowTitle()

Imposta se il titolo deve essere visualizzato nella scheda personalizzata.

A sinistra, uno smartphone che mostra un'app che utilizza setShowTitle() e a destra un altro smartphone senza l'API

setStartAnimations()

Imposta le animazioni iniziali.

setToolbarColor()

Imposta il colore della barra degli strumenti. Su Android L e versioni successive, questo colore viene applicato anche alla barra di stato.

setToolbarCornerRadiusDp()

Imposta i raggi degli angoli superiori della barra degli strumenti in dp.

setUrlBarHidingEnabled()

Imposta se la barra degli URL deve essere nascosta quando l'utente scorre verso il basso nella pagina.

CustomTabsClient

CustomTabsClient è un'entità facoltativa per comunicare con un CustomTabsService e creare CustomTabsSession.

warmup()

Esegui l'inizializzazione del processo del browser.

CustomTabsSession

CustomTabsSession è una classe facoltativa che puoi fornire a un'istanza di CustomTabsIntent.Builder(). Se utilizzata, questa classe può gestire qualsiasi comunicazione con la scheda personalizzata.

setEngagementSignalsCallback()

Imposta un EngagementSignalsCallback per ricevere i callback per gli eventi relativi al coinvolgimento dell'utente con la pagina web all'interno della scheda.

isEngagementSignalsApiAvailable()

Restituisce se l'API Engagement Signals è disponibile. La disponibilità dell'API Engagement Signals potrebbe variare in fase di esecuzione.

mayLaunchUrl()

Indica al browser una probabile navigazione futura verso un URL. L'URL più probabile deve essere specificato per primo. Se vuoi, puoi fornire un elenco di altri URL probabili. Sono considerate meno probabili della prima e devono essere ordinate in ordine decrescente di priorità. Questi URL aggiuntivi potrebbero essere ignorati. Tutte le chiamate precedenti a questo metodo verranno riassegnate a una priorità inferiore.