Las APIs de vista web para anuncios permiten que los indicadores de apps estén disponibles para las etiquetas de tu
WKWebView
, 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 alWKWebView
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 9.6.0 o posterior).
Actualiza el archivo
Info.plist
con la siguiente clave y valor de string. De esta manera, se omite una verificación que realiza el SDK de anuncios de Google para dispositivos móviles en relación con un valor deGADApplicationIdentifier
que se aplica a los desarrolladores que implementan anuncios fuera de una vista web. Si omites este paso y no proporcionas unGADApplicationIdentifier
, el SDK de anuncios de Google para dispositivos móviles arroja unaGADInvalidInitializationException
cuando se inicia 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 a
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 debe hacerse lo antes posible, como en el método viewDidLoad
dede 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.
GADMobileAds.sharedInstance().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 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:
WKWebView
conectado al SDK de anuncios de Google para dispositivos móviles
Próximos pasos
- Obtenga el consentimiento en
WKWebView
. 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 deWKWebView
y su contenido web correspondiente que se monetiza, trabaja con tu plataforma de administración de consentimiento para obtener el consentimiento en elWKWebView
contexto.