As APIs de visualização da Web para anúncios disponibilizam indicadores de apps para as tags na sua
WKWebView. Isso melhora a monetização dos
publishers que forneceram o conteúdo e protege os anunciantes contra spam.
Como funciona
A comunicação com o Google Mobile Ads SDK só acontece em resposta a eventos de anúncio acionados por alguma das opções a seguir:
O SDK adiciona manipuladores de mensagens à WKWebView registrada para detectar esses eventos de anúncio. Para entender melhor como isso funciona, consulte o
código-fonte da
página de teste.
Pré-requisitos
- Google Mobile Ads SDK versão 9.6.0 ou mais recente.
Atualize o arquivo
Info.plistcom a seguinte chave e valor de string. Isso ignora uma verificação que o Google Mobile Ads SDK faz para umGADApplicationIdentifiervalor que se aplica a desenvolvedores que implementam anúncios fora de uma visualização da Web. Se você pular essa etapa e não incluir umGADApplicationIdentifier, o Google Mobile Ads SDK vai gerar umaGADInvalidInitializationExceptionao iniciar o app.<!-- Indicate Google Mobile Ads SDK usage is only for web view APIs for ads --> <key>GADIntegrationManager</key> <string>webview</string>
Registrar a visualização da Web
Chame
register(_:)
na linha de execução principal para estabelecer uma conexão com os manipuladores de JavaScript no
Código do AdSense ou na Tag de Publisher do Google em cada instância de WKWebView. Isso
deve ser feito o quanto antes, como no
viewDidLoad método do controlador de visualização.
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];
}
Testar sua integração
Antes de usar seu próprio URL, recomendamos que você carregue o seguinte URL para testar a integração:
https://google.github.io/webview-ads/test/#api-for-ads-tests
O URL de teste mostra barras de status verdes para uma integração bem-sucedida, contanto que a seguinte condição seja atendida:
WKWebViewconectado a Google Mobile Ads SDK
Próximas etapas
- Obtenha consentimento na
WKWebView. As APIs de visualização da Web para anúncios não propagam o consentimento coletado no contexto do app para dispositivos móveis usando as estruturas de conformidade da TCF v2.0 do IAB ou da CCPA do IAB para as tags nas suas visualizações da Web. Se você quiser implementar um único fluxo de consentimento como proprietário daWKWebViewe do conteúdo da Web correspondente que está sendo monetizado, trabalhe com sua plataforma de gestão de consentimento para coletar o consentimento no contexto daWKWebView.