Wenn in Ihrer iOS App
WKWebView
Webinhalte anzuzeigen,
wird empfohlen, es so zu konfigurieren, dass Content optimal mit Anzeigen monetarisiert werden kann.
In dieser Anleitung erfahren Sie, wie Sie Informationen zur Konfiguration eines
WKWebView
-Objekt.
Webeinstellungen
Die WKWebView
-Standardeinstellungen sind nicht für Anzeigen optimiert. Verwenden Sie
WKWebViewConfiguration
und WKWebView
APIs, um Ihre Webansicht für die folgenden Ressourcen zu konfigurieren:
- Inline-Wiedergabe
- Automatische Videowiedergabe
Linkvorschau nicht zulassen
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)
// Links opened using link preview don't call web view delegates. Ensure
// delegates are always called on clicks by disabling link preview.
webView.allowsLinkPreviews = false
view.addSubview(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];
// Links opened using link preview don't call web view delegates. Ensure
// delegates are always called on clicks by disabling link preview.
self.webView.allowsLinkPreviews = NO;
[self.view addSubview:self.webView];
}
Webansicht-Inhalte laden
Cookies und Seiten-URLs sind wichtig für die Monetarisierung von Webansichten und funktionieren ausschließlich.
wie erwartet, wenn mit einem
in Ihrem Netzwerk erstellen. Für eine optimale WKWebView
Leistung
empfehlen wir ausdrücklich, Webinhalte von einer netzwerkbasierten URL zu laden.
Swift
import WebKit
var webview: WKWebview!
class ViewController: UIViewController {
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)
// Links opened using link preview don't call web view delegates. Ensure
// delegates are always called on clicks by disabling link preview.
webView.allowsLinkPreviews = false
view.addSubview(webView)
// Load the URL for optimized web view performance.
guard let url = URL(string: "https://webview-api-for-ads-test.glitch.me") else { return }
let request = URLRequest(url: url)
webView.load(request)
}
}
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];
// Links opened using link preview don't call web view delegates. Ensure
// delegates are always called on clicks by disabling link preview.
self.webView.allowsLinkPreviews = NO;
[self.view addSubview:self.webview];
// Load the URL for optimized web view performance.
NSURL *url = [NSURL URLWithString:@"https://webview-api-for-ads-test.glitch.me"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
}
Webansicht testen
Während der App-Entwicklung empfehlen wir, diese Test-URL zu laden:
https://webview-api-for-ads-test.glitch.me#webview-settings-tests
überprüfen, ob diese Einstellungen die beabsichtigte Wirkung auf Anzeigen haben. Die Test-URL enthält Erfolgskriterien für eine vollständige Integration, wenn Folgendes beobachtet wird:
Einstellungen für die Webansicht
- Eigene Cookies funktionieren
- JavaScript aktiviert
Videoanzeige
- Die Videoanzeige wird inline abgespielt und nicht im Vollbildmodus geöffnet. Spieler
- Die Videoanzeige wird automatisch wiedergegeben, ohne auf die Wiedergabeschaltfläche zu klicken.
- Die Videoanzeige kann wiederholt werden.
Ersetzen Sie nach Abschluss des Tests die Test-URL durch die URL der Webansicht. laden möchten.