Configura WebView

Selecciona la plataforma: Android (beta) Nuevo Android iOS

Si tu app utiliza WebView para mostrar contenido web, te recomendamos que la configures de modo que el contenido se pueda monetizar de manera óptima con anuncios.

En esta guía, se muestra cómo proporcionar información para configurar un objeto WebView.

Habilita las cookies de terceros

Para mejorar la experiencia publicitaria de tus usuarios y mantener la coherencia con la política de cookies de Chrome, habilita las cookies de terceros en tu instancia WebView.

Java

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

Kotlin

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

Configuración web

La configuración predeterminada de WebView no está optimizada para los anuncios. Usa las WebSettings APIs para configurar tu WebView para lo siguiente:

  • JavaScript
  • Acceso al almacenamiento local
  • Reproducción automática de videos

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

Carga el contenido de la vista web

Las cookies y las URLs de las páginas son importantes para la monetización de la vista web y solo funcionan como se espera cuando loadUrl() se usa con una URL basada en la red. Para optimizar el WebView rendimiento, carga el contenido web directamente desde URLs basadas en la red. Evita usar WebViewAssetLoader, cargar recursos desde el dispositivo o generar contenido web de forma dinámica.

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/")
  }
}

Prueba la vista web

Durante el desarrollo de la app, te recomendamos que cargues esta URL de prueba:

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

para verificar que esta configuración tenga el efecto deseado en los anuncios. La URL de prueba tiene criterios de éxito para una integración completa si se observa lo siguiente:

Configuración de la vista web

  • Las cookies de terceros funcionan.
  • Las cookies propias funcionan.
  • JavaScript está habilitado.
  • El almacenamiento DOM está habilitado.

Anuncio de video

  • El anuncio de video se reproduce en línea y no se abre en el reproductor integrado de pantalla completa.
  • El anuncio de video se reproduce automáticamente sin hacer clic en el botón de reproducción.
  • El anuncio de video se puede volver a reproducir.

Una vez que se complete la prueba, sustituye la URL de prueba por la URL que la vista web pretende cargar.