WebView を設定する

アプリで WebView を使用してウェブ コンテンツを表示する場合は、コンテンツを広告で最適に収益化できるように設定することをおすすめします。

このガイドでは、WebView オブジェクトの構成方法に関する情報を提供する方法について説明します。

サードパーティ Cookie を有効にする

ユーザー エクスペリエンスを改善し、Chrome の Cookie ポリシーとの整合性を保つために、WebView インスタンスでサードパーティの Cookie を有効にしてください。

Java

CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);

Kotlin

CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)

ウェブ設定

デフォルトの WebView 設定は広告向けに最適化されていません。こちらの WebSettings WebView を構成するための API:

  • JavaScript
  • ローカル ストレージへのアクセス
  • 動画の自動再生

Java

import android.webkit.CookieManager;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {
  private WebView webView;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    webView = findViewById(R.id.webview);

    // Let the web view accept third-party cookies.
    CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
    // Let the web view use JavaScript.
    webView.getSettings().setJavaScriptEnabled(true);
    // Let the web view access local storage.
    webView.getSettings().setDomStorageEnabled(true);
    // Let HTML videos play automatically.
    webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
  }
}

Kotlin

import android.webkit.CookieManager
import android.webkit.WebView

class MainActivity : AppCompatActivity() {
  lateinit var webView: WebView

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    webView = findViewById(R.id.webview)

    // Let the web view accept third-party cookies.
    CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)
    // Let the web view use JavaScript.
    webView.settings.javaScriptEnabled = true
    // Let the web view access local storage.
    webView.settings.domStorageEnabled = true
    // Let HTML videos play automatically.
    webView.settings.mediaPlaybackRequiresUserGesture = false
  }
}

ウェブビュー コンテンツを読み込む

クッキーとページ URL はウェブビューの収益化に重要であり、ネットワークベースの URL で loadUrl() が使用されている場合にのみ、想定どおりに機能します。WebView のパフォーマンスを最適化するには、ネットワークベースの URL からウェブ コンテンツを直接読み込みます。WebViewAssetLoader の使用、デバイスからアセットの読み込み、ウェブ コンテンツの動的生成は避けてください。

Java

import android.webkit.CookieManager;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {
  private WebView webView;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    webView = findViewById(R.id.webview);

    // Let the web view accept third-party cookies.
    CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
    // Let the web view use JavaScript.
    webView.getSettings().setJavaScriptEnabled(true);
    // Let the web view access local storage.
    webView.getSettings().setDomStorageEnabled(true);
    // Let HTML videos play automatically.
    webView.getSettings().setMediaPlaybackRequiresUserGesture(false);

    // Load the URL for optimized web view performance.
    webView.loadUrl("https://webview-api-for-ads-test.glitch.me");
  }
}

Kotlin

import android.webkit.CookieManager
import android.webkit.WebView

class MainActivity : AppCompatActivity() {
  lateinit var webView: WebView

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    webView = findViewById(R.id.webview)

    // Let the web view accept third-party cookies.
    CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)
    // Let the web view use JavaScript.
    webView.settings.javaScriptEnabled = true
    // Let the web view access local storage.
    webView.settings.domStorageEnabled = true
    // Let HTML videos play automatically.
    webView.settings.mediaPlaybackRequiresUserGesture = false

    // Load the URL for optimized web view performance.
    webView.loadUrl("https://webview-api-for-ads-test.glitch.me")
  }
}

ウェブビューをテストする

アプリの開発中は、次のテスト URL を読み込むことをおすすめします。

https://webview-api-for-ads-test.glitch.me#webview-settings-tests

を実施して、これらの設定が広告に意図したとおりの効果をもたらしていることを確認します。テスト URL で、次のことが確認された場合、完全な統合の成功基準が満たされます。

ウェブビューの設定

  • サードパーティ Cookie の仕組み
  • ファーストパーティ Cookie の仕組み
  • JavaScript が有効
  • DOM ストレージが有効になっている

動画広告

  • 動画広告がインラインで再生され、組み込みの全画面プレーヤーで開かない
  • 再生ボタンをクリックしなくても動画広告が自動的に再生される
  • 動画広告を再生できる

テストが完了したら、テスト URL を、ウェブビューが読み込む URL に置き換えます。