Configurar o WebView

Caso seu Android app use WebView exibir conteúdo da Web, é recomendado configurá-lo para que o conteúdo possa ser monetizado de forma otimizada com anúncios.

Este guia mostra como fornecer informações sobre como configurar um WebView .

Ativar cookies de terceiros

Para melhorar a experiência de anúncios do usuário e ser consistente com a política de cookies, permitir que aplicativos cookies na instância WebView.

Java

CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);

Kotlin

CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)

Configurações da Web

As configurações padrão de WebView não são otimizadas para anúncios. Use o WebSettings APIs para configurar o WebView para:

  • JavaScript
  • Acesso ao armazenamento local
  • Reprodução automática de vídeo

Java

import android.webkit.CookieManager;
import android.webkit.WebView;

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);
  }
}

Kotlin

import android.webkit.CookieManager
import android.webkit.WebView

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

Carregar conteúdo da visualização da Web

Cookies e URLs de páginas são importantes para a monetização da visualização da Web e só funcionam conforme esperado quando loadUrl() é usado com uma URL baseado em rede. Para um desempenho WebView otimizado, carregar conteúdo da Web diretamente de URLs baseados na rede. Evite usar WebViewAssetLoader, carregando do dispositivo ou gerar conteúdo da Web de forma dinâmica.

Java

import android.webkit.CookieManager;
import android.webkit.WebView;

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);

    // Load the URL for optimized web view performance.
    webView.loadUrl("https://webview-api-for-ads-test.glitch.me");
  }
}

Kotlin

import android.webkit.CookieManager
import android.webkit.WebView

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

    // Load the URL for optimized web view performance.
    webView.loadUrl("https://webview-api-for-ads-test.glitch.me")
  }
}

Testar a visualização da Web

Durante o desenvolvimento do app, recomendamos que você carregue este URL de teste:

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

para verificar se essas configurações têm o efeito desejado nos anúncios. O URL de teste tem critérios de sucesso para uma integração completa se o seguinte for observado:

Configurações da vista da Web

  • Cookies de terceiros funcionam
  • Cookies primários funcionam
  • JavaScript ativado
  • Armazenamento DOM ativado

Anúncio em vídeo

  • O anúncio em vídeo é reproduzido inline e não abre em tela cheia integrada. jogador
  • O anúncio em vídeo é reproduzido automaticamente sem clicar no botão de reprodução.
  • É possível reproduzir o anúncio em vídeo

Após a conclusão do teste, substitua o URL de teste pelo URL da visualização da Web pretende carregar.