WebView einrichten

Plattform auswählen: Android iOS Android (Legacy)

Wenn in Ihrer App WebView zum Anzeigen von Webinhalten verwendet wird, sollten Sie sie so konfigurieren, dass Inhalte optimal mit Anzeigen monetarisiert werden können.

In diesem Leitfaden erfahren Sie, wie Sie Informationen zum Konfigurieren eines WebView-Objekts bereitstellen.

Drittanbieter-Cookies aktivieren

Wenn Sie die Nutzerfreundlichkeit von Werbeanzeigen verbessern und die Cookie-Richtlinie von Chrome einhalten möchten, aktivieren Sie Drittanbieter-Cookies in Ihrer WebView-Instanz.

Java

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

Kotlin

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

Webeinstellungen

Die Standardeinstellungen für WebView sind nicht für Anzeigen optimiert. Verwenden Sie die WebSettings APIs, um WebView für Folgendes zu konfigurieren:

  • JavaScript
  • Zugriff auf lokalen Speicher
  • Automatische Videowiedergabe

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

Inhalte der Webansicht laden

Cookies und Seiten-URLs sind für die Monetarisierung von Webansichten wichtig und funktionieren nur wie erwartet, wenn loadUrl() mit einer netzwerkbasierten URL verwendet wird. Für eine optimierte WebView-Leistung sollten Webinhalte direkt von netzwerkbasierten URLs geladen werden. Vermeide die Verwendung von WebViewAssetLoader, das Laden von Assets vom Gerät oder das dynamische Generieren von Webinhalten.

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://google.github.io/webview-ads/test/");
  }
}

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://google.github.io/webview-ads/test/")
  }
}

Webansicht testen

Wir empfehlen, während der App-Entwicklung diese Test-URL zu laden:

https://google.github.io/webview-ads/test/

um zu prüfen, ob diese Einstellungen die gewünschte Wirkung auf Anzeigen haben. Die Test-URL erfüllt die Erfolgskriterien für eine vollständige Integration, wenn Folgendes beobachtet wird:

Einstellungen für die Webansicht

  • Drittanbieter-Cookies funktionieren
  • Eigene Cookies funktionieren
  • JavaScript aktiviert
  • DOM-Speicher aktiviert

Videoanzeige

  • Die Videoanzeige wird inline abgespielt und nicht im integrierten Vollbildplayer geöffnet.
  • Die Videoanzeige wird automatisch abgespielt, ohne dass der Nutzer auf die Wiedergabeschaltfläche klicken muss.
  • Die Videoanzeige kann wiederholt werden.

Ersetzen Sie nach Abschluss des Tests die Test-URL durch die URL, die in der Webansicht geladen werden soll.