WKWebView einrichten

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.

Medieninhalte

Die WKWebView-Standardeinstellungen sind nicht für Videoanzeigen optimiert. Verwenden Sie die Methode WKWebViewConfiguration APIs zum Konfigurieren von WKWebView für die Inline-Wiedergabe und die automatische Videowiedergabe.

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)
  }
}

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];
}

Webansicht-Inhalte laden

Cookies und Seiten-URLs sind wichtig für die Monetarisierung von Webansichten und funktionieren ausschließlich. wie erwartet, wenn load(_:) 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)
    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];
  [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.