Die WebView APIs für Anzeigen stellen App-Signale für die Tags innerhalb Ihrer WebView bereit. Dadurch wird die Monetarisierung für Publisher, die Inhalte bereitstellen, verbessert und Werbetreibende werden vor Spam geschützt.
Funktionsweise
Die Kommunikation mit dem Google Mobile Ads SDK (Legacy) erfolgt nur als Reaktion auf Anzeigenereignisse, die durch Folgendes ausgelöst werden:
Das SDK fügt dem registrierten WebView Nachrichten-Handler hinzu, um auf diese Anzeigenereignisse zu warten. Sehen Sie sich den Quellcode der Testseite an, um die Funktionsweise besser zu verstehen.
Vorbereitung
- Google Mobile Ads SDK (Legacy)-Version 20.6.0 oder höher.
Android API-Level 21 oder höher.
Fügen Sie in der Datei
AndroidManifest.xmldas folgende<meta-data>-Tag hinzu, um die Prüfung fürAPPLICATION_IDzu umgehen. Wenn Sie diesen Schritt überspringen und das<meta-data>-Tag nicht angeben, löst das Google Mobile Ads SDK (Legacy) beim Start der App einenIllegalStateExceptionaus.<!-- Bypass APPLICATION_ID check for web view APIs for ads --> <meta-data android:name="com.google.android.gms.ads.INTEGRATION_MANAGER" android:value="webview"/>
Webansicht registrieren
Rufen Sie im Hauptthread registerWebView() 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 geschehen, z. B. in der Methode onCreate() Ihrer 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, sollten Sie die folgende URL laden, um die Integration zu testen:
https://google.github.io/webview-ads/test/#api-for-ads-tests
In der Test-URL werden grüne Statusleisten für eine erfolgreiche Integration angezeigt, wenn die folgenden Bedingungen erfüllt sind:
WebViewmit dem Google Mobile Ads SDK (Legacy) verbunden
Nächste Schritte
- Einwilligung in
WebVieweinholen. Die Web View APIs für Anzeigen geben die im Kontext der mobilen App mithilfe der Compliance-Frameworks IAB TCF v2.3 oder IAB CCPA erhobene Einwilligung nicht an die Tags in Ihren Webansichten weiter. Wenn Sie als Inhaber sowohl derWebViewals auch der entsprechenden monetarisierten Webinhalte einen einheitlichen Einwilligungsablauf implementieren möchten, arbeiten Sie mit Ihrer Plattform zur Einwilligungsverwaltung zusammen, um die Einwilligung im Kontext derWebVieweinzuholen.