ウェブ コンテンツをプライマリ コンテンツまたは補助コンテンツとしてアプリに埋め込む

Android では、アプリ内でウェブの機能を活用できます。そのため、特定の種類のコンテンツを表示する際の柔軟性と効率性を高めることができます。

WebView を使用してコンテンツを埋め込む

WebView API を使用すると、アプリ内でウェブ コンテンツを表示するためのミニブラウザの機能にアクセスできます。これにより、図 1 に示すように、アプリのコア部分またはサポート部分としてウェブを利用したエクスペリエンスを提供できます。

Google Play が開いている Android アプリ。メインのウェブビューが赤い枠で囲まれている Android アプリが開き、赤いボックスの中にサポート テキストが表示されている。
図 1. アプリ内に埋め込まれたウェブ コンテンツ。プライマリ(左)とサポート コンテンツ(右)として `WebView` オブジェクトを使用。

WebView でできること

アプリで WebView を使用して、次のことができます。

  • ウェブを埋め込む: WebView が、ボタンやテキスト フィールドのように、アプリのユーザー インターフェースにコンポーネントとして統合されます。

  • コンテンツを読み込む: WebView は、さまざまなソースからウェブ コンテンツを読み込むことができます。

    • リモート URL: 通常のブラウザと同様に、インターネットからウェブページを取得して表示できます。
    • ローカル ファイル: アプリのリソース内に保存されている HTML、CSS、JavaScript ファイルを読み込むことができます。
    • 動的に生成されたコンテンツ: アプリは HTML コンテンツを動的に生成し、WebView に提供できます。
  • レンダリング: WebView は、ブラウザ エンジンを使用して HTML、CSS、JavaScript を解析してレンダリングし、アプリの UI の指定された領域内に結果のウェブページを表示します。

  • JavaScript を実行する: WebView は、読み込まれたウェブページのコンテキスト内で JavaScript コードを実行できます。これにより、WebView 内で動的なインタラクションと更新が可能になります。

  • アプリを操作する: ここで WebView の威力が発揮されます。これにより、ウェブページとアプリ間の双方向通信が可能になります。

    • JavaScript からアプリコード: WebView で実行されている JavaScript コードは、アプリのホスト API を呼び出すことができ、カメラ、GPS、センサーなどのデバイス機能にアクセスできます。

    • アプリコードから JavaScript へ: アプリは WebView に JavaScript コードを挿入したり、ウェブページのコンテンツを操作したり、ウェブページによってトリガーされたイベントに応答したりすることもできます。

WebView とブラウザの違い

WebView は、ウェブへのウィンドウのコア機能を提供する高度にカスタマイズされたコンポーネントです。ブラウザは、ウェブをより広範にナビゲートするためのナビゲーション バーなどのユーザー インターフェース要素を提供しますが、WebView の全体的なエクスペリエンスは、アプリのデザインと目的に基づいて形作られます。

WebView が標準ブラウザとどのように異なるかについては、以下の説明をご覧ください。

UI: WebView はウェブ コンテンツの表示に使用され、他の一般的なブラウザのような独自のヘッダーや UI(ホームボタン、アドレスバー、設定メニューなど)はありません。

機能: 多くのブラウザには、ブックマーク、権限、履歴など、ブラウジング エクスペリエンスを向上させるための機能が組み込まれています。

アップデート: Android WebView は Android のシステム サービスであるため、アップデートは毎月自動的にプッシュされ、アプリに統合されます。ブラウザは、対応するアプリのアップデートに依存しており、エンドユーザーがデバイスでアップデートを適用する必要があります。

始める

アプリで WebView を使用する方法については、WebView でウェブアプリを構築するをご覧ください。

参考情報

WebView オブジェクトまたはカスタムタブを使用した Android デバイス向けウェブページの開発については、次のドキュメントをご覧ください。