Die WebView APIs für Anzeigen stellen App-Signale für die Tags innerhalb Ihrer WKWebView 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 erfolgt nur als Reaktion auf Anzeigenereignisse, die durch Folgendes ausgelöst werden:
Das SDK fügt dem registrierten WKWebView 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-Version 9.6.0 oder höher.
Aktualisieren Sie die Datei
Info.plistmit dem folgenden Schlüssel und Stringwert. Dadurch wird eine Prüfung des Google Mobile Ads SDK auf einenGADApplicationIdentifier-Wert umgangen, der für Entwickler gilt, die Anzeigen außerhalb einer Webansicht implementieren. Wenn Sie diesen Schritt überspringen und keinenGADApplicationIdentifierangeben, löst das Google Mobile Ads SDK beim App-Start eineGADInvalidInitializationExceptionaus.<!-- Indicate Google Mobile Ads SDK usage is only for web view APIs for ads --> <key>GADIntegrationManager</key> <string>webview</string>
Webansicht registrieren
Rufen Sie im Hauptthread register(_:) 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 geschehen, z. B. in der Methode viewDidLoad des 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, 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:
WKWebViewmit dem Google Mobile Ads SDK verbunden
Nächste Schritte
- Einwilligung in
WKWebVieweinholen. 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 derWKWebViewals auch der entsprechenden monetarisierten Webinhalte einen einheitlichen Einwilligungsablauf implementieren möchten, arbeiten Sie mit Ihrer Plattform zur Einwilligungsverwaltung zusammen, um die Einwilligung im Kontext derWKWebVieweinzuholen.