Integrar a API WebView para anúncios

As APIs de visualização da Web para anúncios disponibilizam indicadores de apps para as tags na sua classe WKWebView. Isso melhora a monetização dos publishers que forneceram o conteúdo e protege os anunciantes contra spam. Esses indicadores do app, como ID e versão do app, ajudam a ativar os casos de uso de relatórios e segmentação do inventário do navegador no app, que, de outra forma, só estão disponíveis no tráfego do app.

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ú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

  • 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 seguinte chave e valor de string. Isso ignora uma verificação que o SDK dos anúncios para dispositivos móveis do Google faz 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 incluir um GADApplicationIdentifier, o SDK dos anúncios para dispositivos móveis do Google vai gerar um GADInvalidInitializationException ao 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 método viewDidLoad do seu 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:

  • A classe WKWebView conectada ao SDK dos anúncios para dispositivos móveis do Google

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 da 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 da WKWebView.