Las APIs de vista web para anuncios permiten que los indicadores de apps estén disponibles para las etiquetas de tu
WebView
, lo que ayuda a mejorar la monetización de los
publicadores que proporcionaron el contenido y a proteger a los anunciantes del spam.
Cómo funciona
La comunicación con el SDK de anuncios de Google para dispositivos móviles solo se produce en respuesta a eventos de anuncios activados por alguno de los siguientes elementos:
El SDK agrega controladores de mensajes alWebView
registrado para escuchar estos eventos de anuncios. Para comprender mejor cómo funciona, consulta el código fuente de la página de prueba.
Requisitos previos
- SDK de anuncios de Google para dispositivos móviles (versión 20.6.0 o posterior).
Nivel de API 21 o versiones posteriores
Agrega la siguiente etiqueta
<meta-data>
a tu archivoAndroidManifest.xml
para omitir la verificación deAPPLICATION_ID
. Si omites este paso y no proporcionas la etiqueta<meta-data>
, el SDK de anuncios de Google para dispositivos móviles arrojará unaIllegalStateException
al inicio de la app.<!-- Bypass APPLICATION_ID check for web view APIs for ads --> <meta-data android:name="com.google.android.gms.ads.INTEGRATION_MANAGER" android:value="webview"/>
Registra la vista web
Llama a
registerWebView()
en el subproceso principal para establecer una conexión con los controladores de JavaScript en el
código de AdSense o Google Publisher Tag dentro de cada WebView
instancia. Esto debe hacerse lo antes posible, como en el método viewDidLoad
de
Método onCreate()
de tu MainActivity
.
Java
import android.webkit.CookieManager;
import android.webkit.WebView;
import com.google.android.gms.ads.MobileAds;
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);
// Register the web view.
MobileAds.registerWebView(webView);
}
}
Kotlin
import android.webkit.CookieManager
import android.webkit.WebView
import com.google.android.gms.ads.MobileAds
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)
// Enable third-party cookies.
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)
// Enable JavaScript in the WebView.
webView.settings.javaScriptEnabled = true
// Enable DOM storage in the WebView.
webView.settings.domStorageEnabled = true
// Enable videos to play automatically.
webView.settings.mediaPlaybackRequiresUserGesture = false
// Register the web view.
MobileAds.registerWebView(webView)
}
}
Cómo probar tu integración
Antes de usar tu propia URL, te recomendamos cargar la siguiente URL para probar la integración:
https://webview-api-for-ads-test.glitch.me#api-for-ads-tests
La URL de prueba muestra barras de estado verdes para una integración correcta si se cumplen las siguientes condiciones:
WebView
conectado al SDK de anuncios de Google para dispositivos móviles
Próximos pasos
- Obtenga el consentimiento en
WebView
. Las APIs de vista web para anuncios no propagan el consentimiento recopilado en el contexto de las aplicaciones para dispositivos móviles mediante los frameworks del MTC v2.0 de IAB o de la CCPA de IAB a las etiquetas de tus vistas web. Si te interesa implementar un solo flujo de consentimiento como propietario deWebView
y su contenido web correspondiente que se monetiza, trabaja con tu plataforma de administración de consentimiento para obtener el consentimiento en elWebView
contexto.