WKWebView را راه اندازی کنید

اگر برنامه شما از WKWebView برای نمایش محتوای وب استفاده می‌کند، توصیه می‌شود آن را پیکربندی کنید تا محتوا بتواند به طور بهینه با تبلیغات درآمدزایی کند.

این راهنما به شما نشان می‌دهد که چگونه اطلاعاتی در مورد پیکربندی یک شیء WKWebView ارائه دهید.

محتوای رسانه‌ای

تنظیمات پیش‌فرض WKWebView برای تبلیغات ویدیویی بهینه نشده‌اند. از APIهای WKWebViewConfiguration برای پیکربندی WKWebView خود برای پخش درون‌خطی و پخش خودکار ویدیو استفاده کنید.

سویفت

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

هدف-سی

@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(_:) با یک آدرس اینترنتی مبتنی بر شبکه استفاده شود، مطابق انتظار عمل می‌کنند. برای عملکرد بهینه WKWebView ، اکیداً توصیه می‌کنیم محتوای وب را از یک آدرس اینترنتی مبتنی بر شبکه بارگیری کنید.

سویفت

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://google.github.io/webview-ads/test/") else { return }
    let request = URLRequest(url: url)
    webView.load(request)
  }
}

هدف-سی

@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://google.github.io/webview-ads/test/"];
  NSURLRequest *request = [NSURLRequest requestWithURL:url];
  [webView loadRequest:request];
}

نمای وب را آزمایش کنید

در طول توسعه برنامه، توصیه می‌کنیم این URL آزمایشی را بارگذاری کنید:

https://google.github.io/webview-ads/test/

برای تأیید اینکه این تنظیمات تأثیر مورد نظر را بر تبلیغات دارند. در صورت رعایت موارد زیر، URL آزمایشی معیارهای موفقیت برای ادغام کامل را دارد:

تنظیمات نمایش وب

  • کوکی‌های شخص ثالث کار می‌کنند
  • جاوا اسکریپت فعال است

تبلیغ ویدیویی

  • تبلیغ ویدیویی به صورت درون‌خطی پخش می‌شود و در پخش‌کننده داخلی تمام‌صفحه باز نمی‌شود.
  • تبلیغ ویدیویی بدون کلیک روی دکمه پخش، به طور خودکار پخش می‌شود
  • تبلیغ ویدیویی قابل پخش مجدد است

پس از اتمام آزمایش، URL آزمایشی را با URL ای که نمای وب قصد بارگذاری آن را دارد، جایگزین کنید.