Mit den WebView-APIs für Anzeigen werden App-Signale für die Tags in Ihrem WKWebView
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.
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 WKWebView
-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 9.6.0 oder höher
Aktualisieren Sie die Datei
Info.plist
mit dem folgenden Schlüssel und Stringwert. Dadurch wird eine Prüfung umgangen, die das Google Mobile Ads SDK für einenGADApplicationIdentifier
-Wert durchführt, der für Entwickler gilt, die Anzeigen außerhalb einer Webansicht implementieren. Wenn Sie diesen Schritt nicht ausführen und keineGADApplicationIdentifier
angeben, löst das Google Mobile Ads SDK beim Start der App eineGADInvalidInitializationException
aus.<!-- Indicate Google Mobile Ads SDK usage is only for web view APIs for ads --> <key>GADIntegrationManager</key> <string>webview</string>
WebView registrieren
Rufen Sie register(_:)
im Hauptthread auf, um eine Verbindung mit den JavaScript-Handlern im AdSense-Code oder Google Publisher-Tag in jeder WKWebView
-Instanz herzustellen. Dies sollte so früh wie möglich erfolgen, z. B. in der Methode viewDidLoad
Ihres Ansichts-Controllers.
Swift
import WebKit
class ViewController: UIViewController {
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Initialize a WKWebViewConfiguration object.
let webViewConfiguration = WKWebViewConfiguration()
// Let HTML videos with a "playsinline" attribute play inline.
webViewConfiguration.allowsInlineMediaPlayback = true
// Let HTML videos with an "autoplay" attribute play automatically.
webViewConfiguration.mediaTypesRequiringUserActionForPlayback = []
// Initialize the WKWebView with your WKWebViewConfiguration object.
webView = WKWebView(frame: view.frame, configuration: webViewConfiguration)
view.addSubview(webView)
// Register the web view.
MobileAds.shared.register(webView)
}
}
Objective-C
@import WebKit;
#import "ViewController.h"
@interface ViewController ()
@property(nonatomic, strong) WKWebView *webView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Initialize a WKWebViewConfiguration object.
WKWebViewConfiguration *webViewConfiguration = [[WKWebViewConfiguration alloc] init];
// Let HTML videos with a "playsinline" attribute play inline.
webViewConfiguration.allowsInlineMediaPlayback = YES;
// Let HTML videos with an "autoplay" attribute play automatically.
webViewConfiguration.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone;
// Initialize the WKWebView with your WKWebViewConfiguration object.
self.webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:webViewConfiguration];
[self.view addSubview:self.webView];
// Register the web view.
[GADMobileAds.sharedInstance registerWebView:self.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:
WKWebView
mit dem Google Mobile Ads SDK verbunden
Nächste Schritte
- Einwilligung in
WKWebView
einholen Über die WebView APIs für Anzeigen werden Einwilligungen, die im Kontext der mobilen App mithilfe der Compliance-Frameworks IAB TCF 2.0 oder IAB CCPA erfasst wurden, nicht an die Tags in Ihren WebViews weitergegeben. Wenn Sie als Inhaber sowohl derWKWebView
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 derWKWebView
einzuholen.