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 dieAPPLICATION_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 einenIllegalStateException
-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 derWebView
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 derWebView
einzuholen.