Integrar a API WebView para anúncios

As APIs de visualização da Web para anúncios disponibilizam indicadores de apps para as tags no WebView, ajudando a melhorar a monetização dos editores que forneceram o conteúdo e a proteger os anunciantes contra spam. Esses indicadores, como o ID e a versão do app, ajudam a ativar casos de uso de relatórios e inventário de segmentação 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úncios acionados por qualquer uma das seguintes opções:

O SDK adiciona processadores de mensagens ao WebView 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

Transmitir o ID do aplicativo para o SDK

Se você já tiver um ID de aplicativo do Ad Manager, inicialize o SDK dos anúncios para dispositivos móveis do Google com seu ID de aplicativo atual.

Se você não tiver um ID de aplicativo do Ad Manager, transmita InitializationConfig.WEBVIEW_APIS_FOR_ADS_APPLICATION_ID como o ID do aplicativo ao inicializar o SDK dos anúncios para dispositivos móveis do Google.

Kotlin

MobileAds.initialize(
    this@MainActivity,
    // Use this application ID to initialize the Google Mobile Ads SDK if
    // you don't have an Ad Manager application ID.
    InitializationConfig.Builder(InitializationConfig.WEBVIEW_APIS_FOR_ADS_APPLICATION_ID)
        .build(),
  ) {
    // Adapter initialization complete.
  }

Java

MobileAds.initialize(
    this,
    // Use this application ID to initialize the Google Mobile Ads SDK if
    // you don't have an Ad Manager application ID.
    new InitializationConfig.Builder(InitializationConfig.WEBVIEW_APIS_FOR_ADS_APPLICATION_ID)
        .build(),
        initializationStatus -> {
          // Adapter initialization is complete.
          });

Registrar a visualização da Web

Chame registerWebView() 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 de WebView. Isso precisa ser feito o mais cedo possível, como no método onCreate() do MainActivity.

Kotlin

import android.webkit.CookieManager
import android.webkit.WebView
import com.google.android.libraries.ads.mobile.sdk.MobileAds

class MainActivity : AppCompatActivity() {
  lateinit var webView: WebView

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    webView = findViewById(R.id.webview)

    // Let the web view accept third-party cookies.
    CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)
    // Let the web view use JavaScript.
    webView.settings.javaScriptEnabled = true
    // Let the web view access local storage.
    webView.settings.domStorageEnabled = true
    // Let HTML videos play automatically.
    webView.settings.mediaPlaybackRequiresUserGesture = false

    // Register the web view.
    MobileAds.registerWebView(webView)
  }
}

Java

import android.webkit.CookieManager;
import android.webkit.WebView;
import com.google.android.libraries.ads.mobile.sdk.MobileAds;

public class MainActivity extends AppCompatActivity {
  private WebView webView;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    webView = findViewById(R.id.webview);

    // Let the web view accept third-party cookies.
    CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
    // Let the web view use JavaScript.
    webView.getSettings().setJavaScriptEnabled(true);
    // Let the web view access local storage.
    webView.getSettings().setDomStorageEnabled(true);
    // Let HTML videos play automatically.
    webView.getSettings().setMediaPlaybackRequiresUserGesture(false);

    // Register the web view.
    MobileAds.registerWebView(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://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:

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

Próximas etapas

  • Colete o consentimento em WebView. 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 os frameworks de compliance do IAB TCF v2.0 ou IAB CCPA para as tags nas suas visualizações da Web. Se você tiver interesse em implementar um único fluxo de consentimento como proprietário do WebView e do conteúdo da Web correspondente que está sendo monetizado, trabalhe com sua plataforma de gerenciamento de consentimento para coletar o consentimento no contexto do WebView.