WebView を設定する

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

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

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

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

Java

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

Kotlin

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

ウェブ設定

デフォルトの WebView 設定は広告向けに最適化されていません。WebSettings API を使って、以下での使用に向けて WebView を構成してください。

  • 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
  }
}

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

Cookie とページ URL はウェブビューの収益化に重要であり、loadUrl() がネットワーク ベースの URL で使用されている場合にのみ、想定どおりに機能します。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://google.github.io/webview-ads/test/");
  }
}

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://google.github.io/webview-ads/test/")
  }
}

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

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

https://google.github.io/webview-ads/test/

これらの設定が広告に意図したとおりに反映されていることを確認します。次の条件が満たされる場合、テスト URL には統合完了の成功基準があります。

ウェブビューの設定

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

動画広告

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

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