إعداد WKWebView

إذا كان تطبيقك يستخدم WKWebView لعرض محتوى الويب، ننصح بضبطه لكي يتم تحقيق الربح من المحتوى على النحو الأمثل من خلال الإعلانات.

يوضّح لك هذا الدليل كيفية تقديم معلومات عن كيفية ضبط عنصر WKWebView.

محتوى الوسائط

لم يتم تحسين الإعدادات التلقائية WKWebView لعرض إعلانات الفيديو. استخدِم واجهتَي برمجة التطبيقات WKWebViewConfiguration لضبط WKWebView من أجل التشغيل المضمّن وتشغيل الفيديو تلقائيًا.

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

تحميل محتوى العرض على الويب

إنّ ملفات تعريف الارتباط وعناوين URL للصفحات مهمّة لتحقيق الربح من عرض الويب، ولا تعمل إلا على النحو المتوقّع عند استخدام load(_:) مع عنوان URL مستند إلى الشبكة. للحصول على أداء WKWebView مُحسَّن، ننصح بشدة بتحميل محتوى الويب من عنوان URL مستند إلى الشبكة.

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

اختبار طريقة عرض الويب

أثناء تطوير التطبيق، ننصحك بتحميل عنوان URL التجريبي هذا:

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

للتأكّد من أنّ هذه الإعدادات لها التأثير المطلوب في الإعلانات. يستوفي عنوان URL الاختباري معايير النجاح للدمج الكامل في حال استيفاء ما يلي:

إعدادات "عرض الويب"

  • طريقة عمل ملفات تعريف الارتباط الخاصة بالطرف الأول
  • تم تفعيل JavaScript

إعلان فيديو

  • يتم تشغيل إعلان الفيديو بشكل مضمّن ولا يتم فتحه في المشغّل المضمّن بملء الشاشة
  • يتم تشغيل إعلان الفيديو تلقائيًا بدون النقر على زر التشغيل.
  • يمكن إعادة تشغيل إعلان الفيديو.

بعد اكتمال الاختبار، استبدِل عنوان URL التجريبي بعنوان URL الذي يريد عرض الويب تحميله.