Nếu ứng dụng của bạn sử dụng WKWebView
để hiển thị nội dung web, bạn nên định cấu hình ứng dụng để có thể kiếm tiền tối ưu từ nội dung bằng quảng cáo.
Hướng dẫn này cho bạn biết cách cung cấp thông tin về cách định cấu hình đối tượng WKWebView
.
Nội dung nghe nhìn
Chế độ cài đặt WKWebView
mặc định không được tối ưu hoá cho quảng cáo dạng video. Sử dụng các API WKWebViewConfiguration
để định cấu hình WKWebView
cho chế độ phát nội tuyến và phát video tự động.
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];
}
Tải nội dung khung hiển thị web
Cookie và URL trang đóng vai trò quan trọng trong việc kiếm tiền từ lượt xem web và chỉ hoạt động như mong đợi khi load(_:)
được sử dụng với URL dựa trên mạng. Để tối ưu hoá hiệu suất của WKWebView
, bạn nên tải nội dung web từ một URL dựa trên mạng.
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];
}
Kiểm thử thành phần hiển thị trên web
Trong quá trình phát triển ứng dụng, bạn nên tải URL thử nghiệm này:
https://webview-api-for-ads-test.glitch.me#webview-settings-tests
để xác minh rằng các chế độ cài đặt này có tác động như mong muốn đối với quảng cáo. URL thử nghiệm đáp ứng các tiêu chí thành công để tích hợp hoàn chỉnh nếu đáp ứng các điều kiện sau:
Chế độ cài đặt chế độ xem trên web
- Cookie của bên thứ nhất hoạt động
- Bật JavaScript
Quảng cáo dạng video
- Quảng cáo dạng video phát cùng dòng và không mở trong trình phát tích hợp sẵn ở chế độ toàn màn hình
- Quảng cáo dạng video tự động phát mà không cần nhấp vào nút phát
- Người dùng có thể phát lại quảng cáo dạng video
Sau khi kiểm thử xong, hãy thay thế URL kiểm thử bằng URL mà thành phần hiển thị web dự định tải.