WebView API für Anzeigen integrieren

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

Mit den WebView-APIs für Anzeigen werden App-Signale für die Tags in Ihrem WebView verfügbar gemacht. So können Publisher, die die Inhalte bereitgestellt haben, ihre Monetarisierung verbessern und Werbetreibende werden vor Spam geschützt. Diese App-Signale, z. B. App-ID und App-Version, ermöglichen Berichte und Targeting auf In-App-Browser-Inventar, die sonst nur für App-Traffic verfügbar sind.

Funktionsweise

Die Kommunikation mit dem Google Mobile Ads SDK erfolgt nur als Reaktion auf Werbeereignisse, die durch Folgendes ausgelöst werden:

Das SDK fügt den registrierten WebView-Objekten Message-Handler hinzu, um auf diese Anzeigenereignisse zu warten. Um besser nachvollziehen zu können, wie das funktioniert, können Sie sich den Quellcode der Testseite ansehen.

Vorbereitung

  • Google Mobile Ads SDK Version 20.6.0 oder höher
  • Android-API-Level 21 oder höher.

  • Fügen Sie der Datei AndroidManifest.xml das folgende <meta-data>-Tag hinzu, um die Prüfung auf die APPLICATION_ID zu umgehen. Wenn Sie diesen Schritt nicht ausführen und das <meta-data>-Tag nicht angeben, gibt das Google Mobile Ads SDK beim Start der App den Fehler IllegalStateException aus.

    <!-- Bypass APPLICATION_ID check for web view APIs for ads -->
     <meta-data
         android:name="com.google.android.gms.ads.INTEGRATION_MANAGER"
         android:value="webview"/>
    

WebView registrieren

Rufen Sie registerWebView() im Hauptthread auf, um eine Verbindung mit den JavaScript-Handlern im AdSense-Code oder Google Publisher-Tag in jeder WebView-Instanz herzustellen. Dies sollte so früh wie möglich erfolgen, z. B. in der Methode onCreate() Ihres MainActivity.

Kotlin

import android.webkit.CookieManager
import android.webkit.WebView
import com.google.android.gms.ads.MobileAds

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

    // Register the web view.
    MobileAds.registerWebView(webView)
  }
}

Java

import android.webkit.CookieManager;
import android.webkit.WebView;
import com.google.android.gms.ads.MobileAds;

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);

    // Register the web view.
    MobileAds.registerWebView(webView);
  }
}

Integration testen

Bevor Sie Ihre eigene URL verwenden, empfehlen wir, die folgende URL zu laden, um die Integration zu testen:

https://google.github.io/webview-ads/test/#api-for-ads-tests

Die Test-URL zeigt grüne Statusbalken für eine erfolgreiche Integration an, wenn die folgenden Bedingungen erfüllt sind:

  • WebView mit dem Google Mobile Ads SDK verbunden

Nächste Schritte

  • Einwilligung in WebView einholen Über die WebView APIs für Anzeigen werden keine Einwilligungen, die im Kontext der mobilen App mithilfe der Compliance-Frameworks IAB TCF 2.0 oder IAB CCPA erfasst wurden, an die Tags in Ihren WebViews weitergegeben. Wenn Sie als Inhaber sowohl der WebView als auch der entsprechenden Web-Inhalte, die monetarisiert werden, einen einzelnen Einwilligungsablauf implementieren möchten, arbeiten Sie mit Ihrer Consent Management Platform zusammen, um die Einwilligung im Kontext der WebView einzuholen.