Si tu app usa WebView
para mostrar contenido web, te recomendamos que la configures para que el contenido se pueda monetizar de forma ó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 del usuario con los anuncios y mantener la coherencia con la política de cookies de Chrome, habilita las cookies de terceros en tu instancia de 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 el
WebSettings
APIs para configurar tu WebView
para lo siguiente:
- JavaScript
- Acceso al almacenamiento local
Reproducción automática de video
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 vista web
Las cookies y las URLs de página son importantes para la monetización de vistas web y solo funcionan como se espera cuando se usa loadUrl()
con una URL basada en la red. Para optimizar el rendimiento de WebView
, carga el contenido web directamente desde las 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://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")
}
}
Prueba la vista web
Durante el desarrollo de la app, te recomendamos que cargues 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
- Cómo funcionan las cookies de terceros
- Cómo funcionan las cookies propias
- JavaScript habilitado
- Almacenamiento DOM habilitado
Anuncio de video
- El anuncio de video se reproduce intercalado y no se abre en el reproductor integrado en 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, reemplaza la URL de prueba por la URL que la vista web pretende cargar.