参考資料
APIドキュメント |
リンク |
---|---|
Chrome カスタム タブのリファレンス ドキュメント |
https://developer.chrome.com/docs/android/custom-tabs/ Chrome カスタム タブのベスト プラクティス_customtabs_Just_Sanpark のブログ-CSDN ブログ Chrome カスタム タブのベスト プラクティス_Chrome カスタム タブの統合_wxx614817 のブログ - CSDN ブログ |
Chrome Custom Tabs 用途 |
|
安全: |
|
Chrome のカスタム タブ ページはキーボード入力情報とキーボード フォーカスを取得できますか? |
|
カスタムタブとは何ですか?
ユーザーが URL をクリックするとき、ブラウザで開くべきですか、それともアプリケーションの組み込み WebView で開きますか?
どちらのオプションもいくつかの問題に直面します。ブラウザーを通じて開くと、コンテキストの切り替えが非常に重くなり、カスタマイズできません。WebView はブラウザとデータを共有できないため、より多くのシナリオを手動で処理する必要があります。
Chrome カスタム タブを使用すると、Web ページを閲覧するときにアプリがより詳細に制御できるようになります。WebView を使用せずに、これによりネイティブ APP と Web ページ間のスムーズな切り替えが保証されるだけでなく、アプリが Chrome の外観と操作をカスタマイズできるようになります。定義可能な内容は以下のとおりです。
-
ツールバーの色
-
入場と退出のアニメーション
-
Chrome のツールバー、オーバーフロー メニュー、下部ツールバーにカスタム操作を追加します。
さらに、Chrome カスタム タブを使用すると、開発者は Chrome を事前起動し、Web コンテンツを事前にロードして、読み込み速度を向上させることができます。
WebView と Chrome カスタム タブのどちらを選択すべきか?
表示される Web コンテンツがユーザーによって制御され、Web コンテンツが Android コンポーネントと対話する必要がある場合 (JavaScript インターフェイスを介して Android システムの一部の関数を呼び出すなど)、この場合は WebView を使用して実装する必要もあります。それ以外の場合は、
Chrome カスタム タブを使用してこれを実現しても問題ありません。
ユーザーが最新バージョンの Chrome をインストールしていない場合はどうなりますか?
カスタム タブは、主要なエクストラを備えた ACTION_VIEW インテントを通じて UI をカスタマイズします。これは、開かれるページがシステム ブラウザまたはユーザーのデフォルト ブラウザを通じて開かれることを意味します。
Chrome カスタム タブ、WebView、およびシステム ブラウザーの間には、セキュリティの違いがいくつかあります。
-
Chrome カスタム タブ (CCT): Chrome カスタム タブは、Chrome ブラウザ エクスペリエンスに統合されたソリューションであり、アプリケーション内で Web コンテンツを読み込んで表示する方法を提供します。Chrome ブラウザを使用するため、Chrome のセキュリティとアップデートが適用されます。CCT は、セーフ ブラウジング、自動更新、悪意のある Web サイトからの保護など、Chrome ブラウザのセキュリティ機能の恩恵を受けることができます。
-
WebView: WebView は、アプリケーション内に Web コンテンツを埋め込んで表示できるようにする Android プラットフォームによって提供されるコンポーネントです。WebView のセキュリティは主に、Android システムの WebView 実装と使用される WebView のバージョンに依存します。したがって、セキュリティはデバイスの製造元とオペレーティング システムのバージョンによって影響を受ける可能性があります。WebView の場合、最新のシステムおよび WebView セキュリティ修正プログラムを適用してデバイスを更新し続けることが重要です。
-
システム ブラウザ: システム ブラウザは、通常、Android デバイスの「ブラウザ」や「Safari」など、デバイスに付属するデフォルトのブラウザです。システム ブラウザのセキュリティは主に、オペレーティング システム ベンダーによる実装と更新に依存します。システム ブラウザは、通常、オペレーティング システム ベンダーの責任であるため、WebView や CCT よりも広範なセキュリティ機能とより頻繁な更新を備えている場合があります。
全体として、Chrome カスタム タブとシステム ブラウザは、Chrome ブラウザのセキュリティ機能とアップデートの恩恵を受けるため、セキュリティに関しては有利です。ただし、どのソリューションを使用する場合でも、デバイスが最新のセキュリティ修正と保護で更新されていること、読み込まれた Web ページのコンテンツを検証してフィルタリングするための適切なセキュリティ対策を講じていることを確認する必要があります。
Chrome カスタム タブの統合:
アプリビルドのグレード:
// Chrome Custom Tabs
implementation 'androidx.browser:browser:1.3.0'
アクティビティコード:
val linkStr = WpkUSApi.getInstance().oauthLink
val intent = CustomTabsIntent.Builder()
.build()
intent.launchUrl(this, Uri.parse(linkStr))