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

Inhalte der Webansicht laden

Cookies und Seiten-URLs sind wichtig für die Monetarisierung von Webansichten. 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 netzbasierten URLs. Verwenden Sie nicht WebViewAssetLoader, laden Sie keine Assets vom Gerät und generieren Sie keine Webinhalte dynamisch.

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

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:

Einstellungen für die Webansicht

  • 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 Webansicht geladen werden soll.