Android カスタムタブの概要

カスタムタブは、アプリ デベロッパーがカスタマイズされたブラウザ エクスペリエンスをアプリ内に直接追加できるようにする Android ブラウザの機能です。

ウェブ コンテンツの読み込みは、スマートフォンの初期からモバイルアプリの一部でしたが、古いオプションはデベロッパーにとって課題となる可能性があります。実際のブラウザを起動すると、ユーザーにとってカスタマイズできない重いコンテキスト切り替えが発生します。また、WebView はウェブ プラットフォームのすべての機能をサポートしておらず、ブラウザと状態を共有せず、メンテナンスのオーバーヘッドが増加します。

カスタムタブを使用すると、ユーザーはブラウジング中にアプリ内にとどまることができるため、エンゲージメントを高め、ユーザーがアプリを離脱するリスクを軽減できます。カスタムタブは、ユーザーが選択したブラウザによって直接動作し、そのブラウザが提供する状態と機能を自動的に共有します。リクエスト、権限付与、Cookie ストアを管理するためにカスタムコードを記述する必要はありません。

カスタムタブでできること

カスタムタブを使用すると、ユーザーが選択したブラウザのレンダリング エンジンでウェブ コンテンツが読み込まれます。API やウェブ プラットフォームの機能はすべて、カスタムタブで利用できます。閲覧セッション、保存されたパスワード、お支払い方法、住所は、ユーザーがすでに慣れているとおりに表示されます。

カスタムタブでカスタマイズできることは何ですか?

かなりそう思うカスタムタブを使用すると、ブラウザのクロームとユーザー エクスペリエンスの多くをきめ細かく制御できます。アプリ内で、Intent を使用してカスタムタブを起動します。このインテントが呼び出されると、CustomTabIntent に複数の属性を追加して、必要なエクスペリエンスを実現できます。追加できるカスタマイズの一部を以下に示します。

  • アプリの他の部分と一致するカスタムの開始時と終了時のアニメーション
  • アプリのブランディングに合わせてツールバーの色を変更する
  • ライトモードとダークモードを切り替えてもアプリで維持できる色の整合性
  • ブラウザのツールバーとメニューへのカスタム アクションとエントリ
  • カスタムタブの起動時の高さを制御し、ウェブストアを操作しながら動画をストリーミングするなどの操作を可能にします

また、ユーザーはカスタムタブを最小化して基盤となるアプリを操作し、いつでも復元して進行状況を失うことなくジャーニーを再開できます。これにより、ユーザーはカスタムタブを閉じる代わりに、ウェブとネイティブ アプリの間でシームレスにマルチタスクを実行できます。この機能は、カスタムタブではデフォルトで有効になっています。

これはほんの一部にすぎません。カスタムタブは非常に強力で、現在も開発が活発に進められています。各ブラウザは、これらの機能が利用可能になったら、サポートを追加する必要があります。ほとんどのブラウザで何らかのサポートが提供されていますが、ユーザーのブラウザで何が利用可能で何が利用できないかを知っておくことが重要です。機能の比較表を参照して、一般的な Android ブラウザで利用できるさまざまな機能を簡単に確認してください。

GitHub のサンプルを使用して、今すぐテストできます。

カスタムタブを使用するタイミング

ウェブ コンテンツを読み込む「正しい」方法は 1 つではありません。状況によっては、WebView が適切な技術となる場合があります。たとえば、アプリ内で独自のコンテンツのみをホストする場合や、アプリから直接 JavaScript を挿入する必要がある場合などです。アプリからドメイン外の URL にユーザーを誘導する場合は、カスタムタブの組み込みの共有状態がより適している可能性があります。カスタムタブのその他の利点は次のとおりです。

  1. セキュリティ: カスタムタブは Google のセーフ ブラウジングを使用して、ユーザーとデバイスを危険なサイトから保護します。
  2. パフォーマンスの最適化:
    1. バックグラウンドでブラウザを事前読み込みし、アプリケーションからリソースを奪わないようにします。
    2. URL を事前に投機的に読み込むことで、ページの読み込み時間を短縮します。
  3. ライフサイクル管理: カスタムタブを起動するアプリは、タブの使用中にシステムによって強制終了されません。カスタムタブの重要度がフォアグラウンド レベルに引き上げられます。
  4. 共有の Cookie ジャーと権限モデルにより、ユーザーはすでに接続しているサイトにログインしたり、すでに付与した権限を再付与したりする必要がなくなります。
  5. フォームの入力補完に役立つ自動入力などのブラウザ機能がすぐに利用できます。
  6. 統合された戻るボタンでアプリに戻ることができます。

カスタムタブと Trusted Web Activity の比較

信頼できるウェブ アクティビティは、カスタムタブ プロトコルを拡張し、そのメリットのほとんどを共有します。ただし、カスタマイズされた UI を提供するのではなく、UI をまったく表示せずにブラウザタブを開くことができます。独自の Android アプリ内で、独自のプログレッシブ ウェブアプリを全画面で開きたいデベロッパーにおすすめします。

カスタムタブはどこで利用できますか?

カスタムタブは、Android プラットフォームのブラウザでサポートされている機能です。この機能は、もともと Chrome のバージョン 45 で導入されました。このプロトコルはほとんどの Android ブラウザでサポートされています。

このプロジェクトに関するフィードバック、質問、提案をお待ちしております。crbug.com で問題を報告したり、Twitter の @ChromiumDev で質問したりしてください。

詳細

ご不明な点がある場合は、StackOverflow の chrome-custom-tabs タグをご覧ください。