WebView einrichten

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

In diesem Leitfaden erfahren Sie, wie Sie Informationen zur Konfiguration eines WebView-Objekts bereitstellen.

Drittanbieter-Cookies aktivieren

Um die Nutzerfreundlichkeit bei Anzeigen zu verbessern und die Cookie-Richtlinie von Chrome einzuhalten, müssen Sie Drittanbieter-Cookies in Ihrer WebView-Instanz aktivieren.

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

Webview-Inhalte laden

Cookies und Seiten-URLs sind wichtig für die Monetarisierung von Web-Views und funktionieren nur wie erwartet, wenn loadUrl() mit einer netzwerkbasierten URL verwendet wird. Für eine optimierte WebView-Leistung sollten Webinhalte direkt über netzwerkbasierte URLs geladen werden. Vermeiden Sie 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 enthält 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 Sie auf die Wiedergabeschaltfläche klicken müssen.
  • Die Videoanzeige kann wiedergegeben werden

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