Integrar a API WebView para anúncios

As APIs WebView para anúncios disponibilizam indicadores de app para as tags no WKWebView, ajudando a melhorar a monetização dos editores que forneceram o conteúdo e a proteger os anunciantes contra spam.

Como funciona

A comunicação com o SDK dos anúncios para dispositivos móveis do Google só acontece em resposta a eventos de anúncios acionados por uma das seguintes opções:

O SDK adiciona processadores de mensagem aoWKWebView registrado 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

  • SDK dos anúncios para dispositivos móveis do Google versão 9.6.0 ou mais recente.
  • Atualize o arquivo Info.plist com a chave e o valor da string a seguir. Isso ignora uma verificação feita pelo SDK dos anúncios para dispositivos móveis do Google para um valor GADApplicationIdentifier que se aplica a desenvolvedores que implementam anúncios fora de uma visualização da Web. Se você pular essa etapa e não fornecer um GADApplicationIdentifier, o SDK dos anúncios para dispositivos móveis do Google vai gerar uma GADInvalidInitializationException na inicialização do 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 Google AdSense ou na tag do Google Publisher em cada instância WKWebView . Isso precisa ser feito o mais cedo possível, como no método viewDidLoad 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.
    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];
}

Testar sua integração

Antes de usar seu próprio URL, recomendamos que você carregue o URL a seguir para testar a integração:

https://webview-api-for-ads-test.glitch.me#api-for-ads-tests

O URL de teste mostra barras de status verdes para uma integração bem-sucedida se as seguintes condições forem aplicadas:

  • WKWebView conectado ao SDK dos anúncios para dispositivos móveis do Google

Próximas etapas

  • Colete o consentimento em WKWebView. As APIs de visualização da Web para ads não propagam o consentimento coletado no contexto do app para dispositivos móveis usando TCF v2.0 do IAB ou frameworks de compliance do CCPA do IAB para as tags nas visualizações da Web. Se você quiser implementar um único fluxo de consentimento como proprietário do WKWebView e 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 WKWebView .