WebView einrichten

Plattform auswählen: Android (Beta) Neu ausgewählt Android iOS

Wenn Ihre App WebView verwendet, 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 Anzeigenwiedergabe für Nutzer zu verbessern und die Cookie-Richtlinie von Chrome einzuhalten, 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 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 Webviews. Sie funktionieren nur wie erwartet, wenn loadUrl() mit einer netzwerkbasierten URL verwendet wird. Um die Leistung von WebView zu optimieren, laden Sie Webinhalte direkt von netzwerkbasierten URLs. 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/")
  }
}

Webview testen

Während der App-Entwicklung empfehlen wir, diese Test-URL zu laden:

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

So können Sie prüfen, ob diese Einstellungen die gewünschte Wirkung auf Anzeigen haben. Die Test-URL hat Erfolgskriterien für eine vollständige Integration, wenn Folgendes beobachtet wird:

Webview-Einstellungen

  • Drittanbieter-Cookies funktionieren
  • Eigene Cookies funktionieren
  • JavaScript ist aktiviert
  • DOM-Speicher ist 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.

Nach Abschluss des Tests ersetzen Sie die Test-URL durch die URL, die in der Webview geladen werden soll.