Configura WebView

Se la tua Android app utilizza WebView per visualizzare i contenuti web, ti consigliamo di configurarlo in modo che i contenuti possano essere monetizzati in modo ottimale con gli annunci.

Questa guida illustra come fornire informazioni su come configurare un WebView .

Attivare i cookie di terze parti

Per migliorare l'esperienza pubblicitaria degli utenti ed essere coerenti con le norme sui cookie, attiva terze parti di cookie sulla tua istanza WebView.

Java

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

Kotlin

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

Impostazioni web

Le impostazioni predefinite di WebView non sono ottimizzate per gli annunci. Utilizza la WebSettings API per configurare WebView per le seguenti risorse:

  • JavaScript
  • Accesso allo spazio di archiviazione locale
  • Riproduzione video automatica

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

Carica contenuti visualizzazione web

I cookie e gli URL delle pagine sono importanti per la monetizzazione della visualizzazione web e funzionano solo come previsto quando loadUrl() viene utilizzato con un basato su rete. Per un rendimento WebView ottimizzato, Caricare contenuti web direttamente dagli URL basati sulla rete. Evita di utilizzare WebViewAssetLoader, caricamento in corso... asset dal dispositivo o generando contenuti web in modo dinamico.

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

Testare la vista web

Durante lo sviluppo dell'app, ti consigliamo di caricare il seguente URL di test:

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

per verificare che queste impostazioni abbiano l'effetto previsto sugli annunci. L'URL del test contiene criteri di successo per un'integrazione completa se si osservano i seguenti criteri:

Impostazioni della vista web

  • I cookie di terze parti funzionano
  • I cookie proprietari funzionano
  • JavaScript attivato
  • Archiviazione DOM abilitata

Annuncio video

  • L'annuncio video viene riprodotto in linea e non si apre nella modalità a schermo intero integrata giocatore
  • L'annuncio video viene riprodotto automaticamente senza fare clic sul pulsante di riproduzione.
  • L'annuncio video può essere riprodotto di nuovo

Al termine del test, sostituisci l'URL del test con l'URL della visualizzazione web. che intende caricare.