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.xmldas folgende<meta-data>-Tag hinzu, um die Prüfung auf dieAPPLICATION_IDzu 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 FehlerIllegalStateExceptionaus.<!-- 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:
WebViewmit dem Google Mobile Ads SDK verbunden
Nächste Schritte
- Einwilligung in
WebVieweinholen Ü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 derWebViewals 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 derWebVieweinzuholen.