Cómo configurar WebView

Si tu Android app usa WebView para mostrar contenido web, es se recomienda configurarlo para que el contenido se monetice de forma óptima con anuncios.

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

Habilitar cookies de terceros

Para mejorar la experiencia del anuncio del usuario y ser coherente con la versión de Chrome política de cookies, habilita la política de cookies en tu instancia WebView.

Java

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

Kotlin

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

Configuración web

默认的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
  }
}

Cómo cargar contenido de vistas web

Las cookies y las URLs de páginas son importantes para la monetización de la vista web y solo funcionan como se espera cuando loadUrl() se usa con un una URL basada en la red. Para obtener un rendimiento WebView optimizado, cargar contenido web directamente desde las URL basadas en la red. Evita el uso WebViewAssetLoader, cargando del dispositivo o la generación dinámica de contenido web.

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

Cómo probar la vista web

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

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

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 habilitado
  • Almacenamiento DOM habilitado

Anuncio de video

  • El anuncio de video se reproduce intercalado y no se abre en la pantalla completa integrada. jugador
  • 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 finalizada la prueba, sustituye la URL de prueba por la URL de la vista web. de la red de Google.