Las APIs de WebView para anuncios ponen los indicadores de la app a disposición de las etiquetas incluidas en tu WKWebView, lo que ayuda a mejorar la monetización de los publicadores que proporcionaron el contenido y proteger a los anunciantes del spam. Estos indicadores de la app, como el ID y la versión de la app, ayudan a activar los casos de uso de informes y segmentación del inventario del navegador integrado en la app que, de lo contrario, solo están disponibles en el tráfico de la app.
Cómo funciona
La comunicación con el Google Mobile Ads SDK solo se produce en respuesta a eventos de anuncios activados por cualquiera de los siguientes elementos:
El SDK agrega controladores de mensajes a la clase WKWebView registrada para escuchar esos eventos de anuncios. Para comprender mejor cómo funciona, consulta el
código fuente de la
página de prueba.
Requisitos previos
- Google Mobile Ads SDK versión 9.6.0 o superior
Actualiza el archivo
Info.plistcon la siguiente clave y valor de cadena. Esto omite una verificación que realiza el Google Mobile Ads SDK para unGADApplicationIdentifiervalor que se aplica a los desarrolladores que implementan anuncios fuera de una vista web. Si ignoras este paso y no proporcionas unGADApplicationIdentifier, el Google Mobile Ads SDK arrojará una excepciónGADInvalidInitializationExceptiondurante el inicio de la app<!-- Indicate Google Mobile Ads SDK usage is only for web view APIs for ads --> <key>GADIntegrationManager</key> <string>webview</string>
Registra la vista web
Llama
register(_:)
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 WKWebView instancia. Esto
se debería hacer lo más pronto posible, como en el
viewDidLoad método de tu controlador de vistas.
Swift
import WebKit
class ViewController: UIViewController {
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Initialize a WKWebViewConfiguration object.
let webViewConfiguration = WKWebViewConfiguration()
// Let HTML videos with a "playsinline" attribute play inline.
webViewConfiguration.allowsInlineMediaPlayback = true
// Let HTML videos with an "autoplay" attribute play automatically.
webViewConfiguration.mediaTypesRequiringUserActionForPlayback = []
// Initialize the WKWebView with your WKWebViewConfiguration object.
webView = WKWebView(frame: view.frame, configuration: webViewConfiguration)
view.addSubview(webView)
// Register the web view.
MobileAds.shared.register(webView)
}
}
Objective-C
@import WebKit;
#import "ViewController.h"
@interface ViewController ()
@property(nonatomic, strong) WKWebView *webView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Initialize a WKWebViewConfiguration object.
WKWebViewConfiguration *webViewConfiguration = [[WKWebViewConfiguration alloc] init];
// Let HTML videos with a "playsinline" attribute play inline.
webViewConfiguration.allowsInlineMediaPlayback = YES;
// Let HTML videos with an "autoplay" attribute play automatically.
webViewConfiguration.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone;
// Initialize the WKWebView with your WKWebViewConfiguration object.
self.webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:webViewConfiguration];
[self.view addSubview:self.webView];
// Register the web view.
[GADMobileAds.sharedInstance registerWebView:self.webView];
}
Cómo probar tu integración
Antes de usar tu propia URL, te recomendamos que cargues la siguiente URL para probar la integración:
https://google.github.io/webview-ads/test/#api-for-ads-tests
La URL de prueba muestra barras de estado verdes para indicar una integración correcta si se cumplen las siguientes condiciones:
WKWebViewconectado a Google Mobile Ads SDK
Próximos pasos
- Obtén el consentimiento en
WKWebView. Las APIs de WebView para anuncios no propagan a las etiquetas de tus vistas web el consentimiento recopilado en el contexto de la app para dispositivos móviles en función de los marcos de trabajo de cumplimiento TCF v2.0 de IAB o CCPA de IAB. Si te interesa implementar un flujo de consentimiento único como propietario deWKWebViewy su correspondiente contenido web monetizado, trabaja con tu plataforma de administración de consentimiento para obtener el consentimiento en el contexto deWKWebView.