Die WebView APIs für Anzeigen stellt App-Signale für die Tags innerhalb Ihrer
WKWebView bereit. Dadurch wird die Monetarisierung für die
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 Anzeigen ereignisse, die durch eine der folgenden Aktionen ausgelöst werden:
Das SDK fügt den registrierten WKWebView Nachrichtenhandler hinzu, um auf diese Anzeigenereignisse zu warten. Um besser zu verstehen, 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.plistmit dem folgenden Schlüssel und Stringwert. Dadurch wird eine Überprüfung umgangen, die das Google Mobile Ads SDK für einenGADApplicationIdentifier-Wert durchführt, der für Entwickler gilt, die Anzeigen außerhalb einer WebView implementieren. Wenn Sie diesen Schritt auslassen und keinenGADApplicationIdentifierangeben, löst das Google Mobile Ads SDK beim Start der App eineGADInvalidInitializationExceptionaus.<!-- 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
viewDidLoad Methode Ihres Ansichtscontrollers.
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 Statusleisten für eine erfolgreiche Integration an, wenn die folgenden Bedingungen erfüllt sind:
WKWebViewist mit dem Google Mobile Ads SDK verbunden.
Nächste Schritte
- Einwilligung in
WKWebVieweinholen Die WebView APIs für Anzeigen geben Einwilligungen, die im Kontext der mobilen App mit IAB TCF 2.0 oder IAB CCPA Compliance-Frameworks eingeholt wurden, nicht an die Tags in Ihren WebViews weiter. Wenn Sie als Inhaber derWKWebViewund der entsprechenden Web-Inhalte, mit denen Einnahmen erzielt werden, einen einzelnen Einwilligungsablauf implementieren möchten, arbeiten Sie mit Ihrer Plattform zur Einwilligungsverwaltung zusammen, um die Einwilligung im Kontext vonWKWebVieweinzuholen.