WKWebView'u kurma

Uygulamanız iOS web içeriklerini görüntülemek içinWKWebView kullanıyorsa reklamların reklamlarla en iyi şekilde para kazanılmasını sağlayacak şekilde yapılandırmanız önerilir.

Bu kılavuzda, birWKWebView nesnenin nasıl yapılandırılacağıyla ilgili bilgileri nasıl sağlayacağınız gösterilmektedir.

Medya İçeriği

Varsayılan WKWebView ayarları video reklamlar için optimize edilmemiştir. Satır içi oynatma ve otomatik video oynatma için WKWebView öğenizi yapılandırmak üzere WKWebViewConfiguration API'lerini kullanın.

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

Web görünümü içeriğini yükle

Çerezler ve sayfa URL'leri, web görünümü performansı açısından önemlidir ve yalnızca ağ tabanlı bir URL ile kullanıldığında beklendiği gibi çalışır. Optimize edilmiş WKWebView performans için Ağ tabanlı bir URL'den web içeriği yüklemenizi önemle tavsiye ederiz.

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

Web görünümünü test etme

Uygulama geliştirme sırasında bu test URL'sini yüklemenizi öneririz:

https://webview-api-for-ads-test.glitch.me#webview-settings-tests

bu ayarların reklamlar üzerinde amaçlanan etkiye sahip olduğunu doğrulamak için. Aşağıdakiler gözlemlenirse test URL'si tam entegrasyon için başarı kriterlerine sahiptir:

Web görünümü ayarları

  • Birinci taraf çerezleri çalışır
  • JavaScript etkin

Video reklam

  • Video reklam, satır içinde oynatılır ve tam ekran yerleşik oynatıcıda açılmıyor
  • Video reklam, oynat düğmesi tıklanmadan otomatik olarak oynatılır
  • Video reklam tekrar oynatılabilir

Test tamamlandıktan sonra, test URL'sini, web görünümünün yüklemeyi istediği URL ile değiştirin.