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

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

WebView とブラウザの違い

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

WebView と標準ブラウザの違いについて詳しくは、以下の説明をご覧ください。

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

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

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

始める

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

参考情報

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