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 seu WebView, 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 de anúncios para dispositivos móveis do Google só acontece em resposta a eventos de anúncio acionados por qualquer um dos seguintes:

O SDK adiciona manipuladores 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

  • SDK dos anúncios para dispositivos móveis do Google versão 20.6.0 ou mais recente.
  • API do Android de nível 21 ou mais recente.

  • Adicione a seguinte tag <meta-data> ao arquivo AndroidManifest.xml para ignorar a verificação do APPLICATION_ID. Se você não fizer isso e não fornecer a tag <meta-data>, o SDK dos anúncios para dispositivos móveis do Google vai gerar um erro IllegalStateException ao iniciar o app.

    <!-- Bypass APPLICATION_ID check for web view APIs for ads -->
     <meta-data
         android:name="com.google.android.gms.ads.INTEGRATION_MANAGER"
         android:value="webview"/>
    

Registrar a WebView

Chame registerWebView() na linha de execução principal para estabelecer uma conexão com os manipuladores JavaScript no código do Google AdSense ou na tag do editor do Google em cada instância WebView. Isso deve ser feito o quanto antes, como no método onCreate() do seu MainActivity.

Kotlin

import android.webkit.CookieManager
import android.webkit.WebView
import com.google.android.gms.ads.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.gms.ads.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://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 se as seguintes condições forem atendidas:

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

Próximas etapas

  • Obtenha 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 as estruturas de compliance da TCF v2.0 do IAB ou da CCPA do IAB para as tags nas visualizações da Web. Se você quiser 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.