WebView API für Anzeigen integrieren

Mit den WebView-APIs für Anzeigen werden App-Signale für die Tags in Ihrem WebView verfügbar gemacht. So lässt sich die Monetarisierung für die Publisher verbessern, die die Inhalte bereitgestellt haben, und Werbetreibende werden vor Spam geschützt. Diese App-Signale, z. B. App-ID und App-Version, ermöglichen die Aktivierung von Berichten und Targeting auf In-App-Browser-Inventar, die ansonsten 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 einen IllegalStateException-Fehler 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.