ブラウザ サポート

Patrick Kettner
Patrick Kettner

カスタムタブは、カスタマイズされたブラウザ エクスペリエンスをアプリ内で直接作成するための優れたオプションですが、1 つに使用できるものではありません。インテント システム上に構築されたカスタムタブは、エンドユーザーの好みのブラウザに送信される、構成可能なオプション リクエストのコレクションです。さまざまなオプションの実装は、各ブラウザによって異なります。カスタムタブ機能が利用できるかどうかは、Android ブラウザによって実装に違いがあります。

Android エコシステムに含まれる一部のブラウザの比較を以下に示します。Android のほとんどのブラウザは、ある程度のサポートを提供しています。表はすべてを網羅しているわけではなく、想定されるサポートのレベルを示したものです。そのアプリを使用するユーザーのデフォルト ブラウザを調査し、守りの方法でコーディングを行う必要があります。

CustomTabsIntent.Builder

CustomTabsIntent.Builder はカスタムタブを作成します。カスタムタブを設定して、アプリに可能な限りシームレスに溶け込ませるには、以下の組み込みのメソッドを使用します。

addDefaultShareMenuItem()

addDefaultShareMenuItem() はカスタムタブ ツールバーにデフォルトの共有ボタンを追加します。これにより、ユーザーはデバイスのさまざまなアプリを介して現在のウェブページを共有できます。

addMenuItem()

メニュー項目を追加します。

左側は addMenuItem() を使用するアプリを表示しているスマートフォン、右側は API を使用しない別のスマートフォン

addToolbarItem()

カスタムタブにアクション ボタンを追加します。この方法で複数のボタンを追加できます。

enableUrlBarHiding()

ユーザーがページを下にスクロールしたときに、URL バーを非表示にします。

setActionButton()

デフォルトの色合い調整動作でツールバーに表示される操作ボタンを設定します。

左側には setActionButton()() を使用してアプリを表示しているスマートフォン、右側には API を使用していない別のスマートフォン

setCloseButtonIcon()

ツールバーに表示されるカスタムの閉じるボタンを設定します。

左側には setCloseButtonIcon() を使用してアプリを表示しているスマートフォン、右側には API を使用しない別のスマートフォン

setCloseButtonPosition()

カスタムタブの閉じるボタンのアイコンを設定します。

左側には setCloseButtonPosition() を使用してアプリを表示しているスマートフォン、右側には API を使用しない別のスマートフォン

setColorScheme()

カスタムタブのユーザー インターフェースに適用するカラーパターンを設定します。

左側には setColorScheme() を使用してアプリを表示しているスマートフォン、右側には API を使用していないスマートフォン

setColorSchemeParams()

カスタムタブのユーザー インターフェースに適用するカラーパターンを設定します。

左側に setColorSchemeParams() を使用しているアプリを表示しているスマートフォン、右側には API を使用していない別のスマートフォン

setDefaultColorSchemeParams()

指定されたカラーパターンの CustomTabColorSchemeParams() を設定します。これにより、ライトモードとダークモードの 2 つの異なるツールバーの色を指定できます。

左側には setDefaultColorSchemeParams() を使用するアプリが表示されているスマートフォン、右側には API を使用しない別のスマートフォン

setDefaultShareMenuItemEnabled()

デフォルトの共有アイテムをメニューに追加するかどうかを設定します。

setExitAnimations()

終了アニメーションを設定します。

setInitialActivityHeightPx()

デフォルトのサイズ変更動作で、カスタムタブ アクティビティの初期の高さをピクセル単位で設定します。カスタムタブはボトムシートとして機能します。多くの場合、これは部分的なカスタムタブと呼ばれます。

左側には setInitialActivityHeightPx() を使用しているアプリが表示されているスマートフォン、右側には API を使用していない別のスマートフォンが表示されています。

setNavigationBarColor()

ナビゲーション バーの色を設定します。L より前の API バージョンには影響しません。

setNavigationBarDividerColor()

setSecondaryToolbarColor()

セカンダリ ツールバーの色を設定します。

setShareState()

カスタムタブに適用する共有状態を設定します。

左側には setShareState() を使用するアプリを表示しているスマートフォン、右側には API を使用していない別のスマートフォン

setShowTitle()

タイトルをカスタムタブに表示するかどうかを設定します。

左側には setShowTitle() を使用しているアプリを表示しているスマートフォン、右側には API を使用していない別のスマートフォン

setStartAnimations()

開始アニメーションを設定します。

setToolbarColor()

ツールバーの色を設定します。Android L 以降では、この色はステータスバーにも適用されます。

setToolbarCornerRadiusDp()

ツールバーの上隅の半径を dp で設定します。

setUrlBarHidingEnabled()

ユーザーがページを下にスクロールしたときに、URL バーを非表示にするかどうかを設定します。

CustomTabsClient

CustomTabsClient は、CustomTabsService と通信し、そこから CustomTabsSession を作成するためのオプション クラスです。

warmup()

ブラウザ プロセスをウォームアップします。

CustomTabsSession

CustomTabsSession は、CustomTabsIntent.Builder() のインスタンスに提供できるオプション クラスです。このクラスを使用すると、カスタムタブとのあらゆるやり取りを処理できます。

setEngagementSignalsCallback()

タブ内のウェブページに対するユーザーのエンゲージメントに関連するイベントのコールバックを受け取るように EngagementSignalsCallback を設定します。

isEngagementSignalsApiAvailable()

Engagement Signals API が使用可能かどうかを返します。Engagement Signals API の可用性は実行時に変更される可能性があります。

MayLaunchUrl()

URL への今後のナビゲーションをブラウザに伝えます。最も可能性の高い URL を最初に指定する必要があります。必要に応じて、他の URL の候補リストを指定できます。これらは最初のものよりも可能性が低いものとして扱われるため、優先度の高い順に並べる必要があります。これらの追加の URL は無視してもかまいません。以前のこのメソッドの呼び出しはすべて優先度が低くなります。